You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tracking: porting the rest of the humemai bindings work #19
Tracking the rest of the work that lives in humemai/arcadedb-embedded-python bindings/python and not yet here. The repo moved at ArcadeData/arcadedb ee04bd202a plus the c0f9647 port, and we compared both trees. A wholesale patch does not apply (138 rejected hunks in 39 files, mostly from the black/isort pass and the jar-derived version), so each group is ported by hand as its own PR, smallest first. We wait for #10 to #16 (they touch build.sh, extract_version.py and native jar staging) before touching the build scripts, and will rebase on them.
Python runtime fixes in src/: free-threaded start_jvm(), heap default, log dir, XML limits, Ctrl-C to KeyboardInterrupt, read-only open, async executor, with their tests (run black/isort on the port)
Features: Python functions in SQL/Cypher and record events, DataFrame/Arrow/Polars ingest, PRODUCT quantization, vector SQL options, examples 27 and 28 (new extras in pyproject.toml)
Remaining tests (about 30 files) and their test dependencies (duckdb, ladybug, networkx); our floor is Python 3.11 with JPype 1.5.0, yours is 3.10
Release workflow, after the PyPI discussion (Releasing to PyPI from this repo #18): jar-derived version, tag check, wheel count and size policy, after-tag verification
Docs and docs workflows (mkdocs, about 107 pages); where to host them is a decision first
Native-image wheel (native-wheel/, _native/, native-preview.yml, native-alias.yml); we rebase our branch on main before porting
Not planned: our benchmark tooling and matrix runners stay in humemai.
Each box becomes its own issue or PR; questions on any of them are welcome here. Is this order and PR size (roughly 500 to 1,500 lines per group) fine for review?
Python runtime fixes item, Ctrl-C part: #26 (SIGINT and SIGTERM given back to Python after the JVM starts; ported from humemai/arcadedb-embedded-python#494). The item stays open for the other fixes in that group.
Python runtime fixes item, the rest of the group: #27 (serialized start_jvm(), heap default, log directory, XML limits, read-only open, async executor docs, with their tests). With #26 that covers every fix in the group except the opt-in Leyden AOT cache (humemai#490, not merged there yet), which follows as its own PR. The box stays unticked until then.
JRE module trim, Jackson/snappy/commons-math3 handling, jar closure and server payload tests: #28 (ported from humemai/arcadedb-embedded-python#409 and #452). Wheel linux/amd64, measured: 73,973,014 to 67,547,260 bytes. The polyglot-default test moves with the runtime-fixes PR.
Features item: #29 (Python functions in SQL and openCypher, record events, Document.save()/delete() raising ArcadeDBError, example 28; ported from humemai/arcadedb-embedded-python#391; adds two Java glue classes to the existing bridge jar, no build change) and #30 (DataFrame/Arrow ingest, to_polars(), PRODUCT quantization, vector SQL options, example 27, the polars extra; ported from humemai#390, #384, #446, #395; no new Java). Both are based on #27 (port/runtime-fixes). Documentation pages for these features are not in them; they go with the Antora component.
Remaining, in the order I suggest. Paths are compared with bindings/python in humemai/arcadedb-embedded-python at origin/main and with the files of the PRs above; files present on both sides can still differ in content.
Small build and test fixes: humemai#463 (scripts/build.sh follows a symlinked JAR_LIB_DIR: find -H, cp -aL), humemai#466 (server tests start on a free port: tests/conftest.py and four server test files), humemai#469 (example 21 runs one query through the view after a reopen, then polls the counts). None is in a PR here.
Release scripts, same box as Add release workflow publishing to PyPI by trusted publishing #22: scripts/after_tag_verify.sh (humemai#479) and scripts/check_version.py with tests/test_check_version.py (humemai#501, the devN/postN counting rule). No wheel-content change.
Native-image wheel: native-wheel/, src/arcadedb_embedded/_native/, native-preview.yml, native-alias.yml, together with humemai#495, #500, #504 and #505 (the JVM wheel ships _native). It lives on the humemai branch native-preview (77 commits not on main; main has 204 not on it), so we rebase that branch on main first. The arcadedb-native job for Add release workflow publishing to PyPI by trusted publishing #22 comes with it.
Small dev scripts, port or drop file by file: scripts/build_and_install_locally.sh, scripts/list_image_jars_by_size.sh, scripts/fix_markdown.py, scripts/profile-python/ (4 files), AGENTS.md.
Not planned, as before: benchmark tooling and what depends on it (examples/bench_exec.py, examples/scripts/, the bench_exec changes in examples 07 to 12 including humemai#502, tests/test_bench_exec.py, tests/test_render_ab_tables.py, tests/test_jvm_payload.py, scripts/render_ab_tables.py, docs/benchmarks, docs/brand).
Activity
tae898 commentedon Oct 23, 2026
Docs item: proposal for moving the user-facing pages into ArcadeData/arcadedb-docs (Antora/AsciiDoc) is ArcadeData/arcadedb-docs#502, first PR ArcadeData/arcadedb-docs#503.
tae898 commentedon Oct 23, 2026
Python runtime fixes item, Ctrl-C part: #26 (SIGINT and SIGTERM given back to Python after the JVM starts; ported from humemai/arcadedb-embedded-python#494). The item stays open for the other fixes in that group.
tae898 commentedon Oct 24, 2026
Python runtime fixes item, the rest of the group: #27 (serialized
start_jvm(), heap default, log directory, XML limits, read-only open, async executor docs, with their tests). With #26 that covers every fix in the group except the opt-in Leyden AOT cache (humemai#490, not merged there yet), which follows as its own PR. The box stays unticked until then.tae898 commentedon Oct 24, 2026
JRE module trim, Jackson/snappy/commons-math3 handling, jar closure and server payload tests: #28 (ported from humemai/arcadedb-embedded-python#409 and #452). Wheel linux/amd64, measured: 73,973,014 to 67,547,260 bytes. The polyglot-default test moves with the runtime-fixes PR.
tae898 commentedon Oct 24, 2026
Features item: #29 (Python functions in SQL and openCypher, record events,
Document.save()/delete()raisingArcadeDBError, example 28; ported from humemai/arcadedb-embedded-python#391; adds two Java glue classes to the existing bridge jar, no build change) and #30 (DataFrame/Arrow ingest,to_polars(), PRODUCT quantization, vector SQL options, example 27, thepolarsextra; ported from humemai#390, #384, #446, #395; no new Java). Both are based on #27 (port/runtime-fixes). Documentation pages for these features are not in them; they go with the Antora component.tae898 commentedon Oct 24, 2026
AOT cache port (humemai/arcadedb-embedded-python#490): #31 (based on #27; docs part left out until the Antora component #23 is in).
tae898 commentedon Oct 24, 2026
Status as of 2026-10-24 14:46 UTC, from
ghandgit. Every open PR below has 46 of 46 checks green.CLAUDE.mddocs/antora-componentbranch)start_jvm(), heap default, log dir, XML limits, read-only open, async docsto_polars(), PRODUCT quantization, vector SQL options, example 27Remaining, in the order I suggest. Paths are compared with
bindings/pythoninhumemai/arcadedb-embedded-pythonat origin/main and with the files of the PRs above; files present on both sides can still differ in content.scripts/build.shfollows a symlinkedJAR_LIB_DIR:find -H,cp -aL), humemai#466 (server tests start on a free port:tests/conftest.pyand four server test files), humemai#469 (example 21 runs one query through the view after a reopen, then polls the counts). None is in a PR here.scripts/after_tag_verify.sh(humemai#479) andscripts/check_version.pywithtests/test_check_version.py(humemai#501, the devN/postN counting rule). No wheel-content change.test_sql_constraints_and_maintenance.py,test_collection_equality_known_issues.py(humemai#445),test_guide_graph_analytics.py,test_guide_timeseries.py, andtest_equivalence.pywithtest_equivalence_ladybug.py. The last two need a test extra withduckdb,ladybugandnetworkx. That is 6 files, down from the "about 30" in the issue, because Python runtime fixes in src: serialized start_jvm(), heap default, log directory, XML limits, read-only open, async docs #27 to Bridge: float vectors cross as one binary buffer, not as JSON text or one JPype call per element (stacked on #29) #33 carry the others.core.pyandvector.py, plusguide/vectors.md).mkdocs.yml,docs-build.ymlanddeploy-python-docs.ymlare not ported, since the Antora component replaces them.native-wheel/,src/arcadedb_embedded/_native/,native-preview.yml,native-alias.yml, together with humemai#495, #500, #504 and #505 (the JVM wheel ships_native). It lives on the humemai branchnative-preview(77 commits not on main; main has 204 not on it), so we rebase that branch on main first. Thearcadedb-nativejob for Add release workflow publishing to PyPI by trusted publishing #22 comes with it.scripts/build_and_install_locally.sh,scripts/list_image_jars_by_size.sh,scripts/fix_markdown.py,scripts/profile-python/(4 files),AGENTS.md.Not planned, as before: benchmark tooling and what depends on it (
examples/bench_exec.py,examples/scripts/, thebench_execchanges in examples 07 to 12 including humemai#502,tests/test_bench_exec.py,tests/test_render_ab_tables.py,tests/test_jvm_payload.py,scripts/render_ab_tables.py,docs/benchmarks,docs/brand).Merge pull request #28 from ArcadeData/port/jre-trim-jar-closure
fix: give SIGINT and SIGTERM back to Python after the JVM starts
Port the JRE module trim and the jar closure from humemai/arcadedb-em…
Move the polyglot-default test out; README package sizes measured on …