Skip to content

chore: remove the Python bindings, moved to ArcadeData/arcadedb-python-bindings - #10615

Merged
robfrank merged 1 commit into
mainfrom
chore/remove-python-bindings
Oct 22, 2026
Merged

robfrank merged 1 commit into
mainfrom
chore/remove-python-bindings

Conversation

@robfrank

Copy link
Copy Markdown
Collaborator

The Python bindings (arcadedb-embedded) now live in their own repository, ArcadeData/arcadedb-python-bindings. This PR removes them from the monorepo.

  • How they moved: with full git history (PR #1 there, merged with a merge commit). The history was extracted at ee04bd202abce0183c6263a3c4d8a61a4d526960, and bindings/python has not changed here since.
  • How they're built now: against arcadedata/arcadedb:latest, with the package version read from the engine jar inside the image. They follow each new snapshot automatically and are tested nightly on Linux, macOS and Windows.
  • Status there: both workflows are green on main.

Removed here

  • bindings/python/
  • .github/workflows/test-python-bindings.yml and test-python-examples.yml
  • Every reference to the bindings:
    • the paths-ignore entries in mvn-test.yml and mvn-deploy.yml
    • the bindings folder in Meterian's --exclude-folders
    • the Dependabot uv entry and the actionlint ignores
    • the Codacy test exclusion and the REUSE annotation
    • the four pre-commit hooks scoped to the bindings, and the bindings path in the yaml-check exclude
    • the allowlist entries for the bindings' generated files in check-gitignore-src-paths.sh
  • The README now links to the new repository.

Not touched: e2e-python/ (server wire tests, unrelated to the bindings) and historical documents under docs/.

Checked locally

  • actionlint
  • .github/scripts/check-gitignore-src-paths.sh
  • pre-commit on the changed files
  • .github/scripts/tests/test-ci-scripts.sh (174/174)

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 156 files, which is 6 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 79684f8a-11d1-4906-a114-ffdecd9ea2da
📥 Commits

Reviewing files that changed from the base of the PR and between d8ea9ec and 0c5de66.

📒 Files selected for processing: 156
  • .codacy.yml
  • .github/actionlint.yaml
  • .github/dependabot.yml
  • .github/scripts/check-gitignore-src-paths.sh
  • .github/workflows/meterian.yml
  • .github/workflows/mvn-deploy.yml
  • .github/workflows/mvn-test.yml
  • .github/workflows/test-python-bindings.yml
  • .github/workflows/test-python-examples.yml
  • .pre-commit-config.yaml
  • README.md
  • REUSE.toml
  • bindings/python/.gitignore
  • bindings/python/README.md
  • bindings/python/examples/.gitignore
  • bindings/python/examples/01_simple_document_store.py
  • bindings/python/examples/02_social_network_graph.py
  • bindings/python/examples/03_vector_search.py
  • bindings/python/examples/04_csv_import_documents.py
  • bindings/python/examples/05_csv_import_graph.py
  • bindings/python/examples/06_vector_search_recommendations.py
  • bindings/python/examples/07_stackoverflow_tables_oltp.py
  • bindings/python/examples/08_stackoverflow_tables_olap.py
  • bindings/python/examples/09_stackoverflow_graph_oltp.py
  • bindings/python/examples/10_stackoverflow_graph_olap.py
  • bindings/python/examples/11_vector_index_build.py
  • bindings/python/examples/12_vector_search.py
  • bindings/python/examples/13_stackoverflow_hybrid_queries.py
  • bindings/python/examples/14_lifecycle_timing.py
  • bindings/python/examples/15_import_database_vs_transactional_table_ingest.py
  • bindings/python/examples/16_import_database_vs_transactional_graph_ingest.py
  • bindings/python/examples/17_timeseries_end_to_end.py
  • bindings/python/examples/18_geo_predicates_wkt.py
  • bindings/python/examples/19_hash_index_exact_match.py
  • bindings/python/examples/20_graph_algorithms_route_planning.py
  • bindings/python/examples/21_graph_analytical_view_sql.py
  • bindings/python/examples/22_numpy_bulk_io.py
  • bindings/python/examples/23_server_mode_http_access.py
  • bindings/python/examples/24_server_http_transactions_timeseries.py
  • bindings/python/examples/25_sparse_quantization_and_compact.py
  • bindings/python/examples/26_cross_model_transaction_atomicity.py
  • bindings/python/examples/README.md
  • bindings/python/examples/download_data.py
  • bindings/python/examples/scripts/compare_query_hashes.py
  • bindings/python/pyproject.toml
  • bindings/python/scripts/Dockerfile.build
  • bindings/python/scripts/arrow_transport_probe.py
  • bindings/python/scripts/build-native.sh
  • bindings/python/scripts/build.sh
  • bindings/python/scripts/check_test_skips.py
  • bindings/python/scripts/ensure-build-tools.sh
  • bindings/python/scripts/extract_version.py
  • bindings/python/scripts/jar_exclusions.txt
  • bindings/python/scripts/setup_jars.py
  • bindings/python/scripts/verify_wheel_platform_tag.py
  • bindings/python/scripts/verify_wheel_size.py
  • bindings/python/scripts/write_version.py
  • bindings/python/setup.py
  • bindings/python/src/arcadedb_embedded/__init__.py
  • bindings/python/src/arcadedb_embedded/_logging.py
  • bindings/python/src/arcadedb_embedded/async_executor.py
  • bindings/python/src/arcadedb_embedded/core.py
  • bindings/python/src/arcadedb_embedded/exceptions.py
  • bindings/python/src/arcadedb_embedded/exporter.py
  • bindings/python/src/arcadedb_embedded/graph.py
  • bindings/python/src/arcadedb_embedded/graph_batch.py
  • bindings/python/src/arcadedb_embedded/importer.py
  • bindings/python/src/arcadedb_embedded/jvm.py
  • bindings/python/src/arcadedb_embedded/results.py
  • bindings/python/src/arcadedb_embedded/schema.py
  • bindings/python/src/arcadedb_embedded/server.py
  • bindings/python/src/arcadedb_embedded/transactions.py
  • bindings/python/src/arcadedb_embedded/type_conversion.py
  • bindings/python/src/arcadedb_embedded/vector.py
  • bindings/python/src/java/com/arcadedb/python/ColumnBatcher.java
  • bindings/python/src/java/com/arcadedb/python/DbCalls.java
  • bindings/python/src/java/com/arcadedb/python/DocumentBatcher.java
  • bindings/python/src/java/com/arcadedb/python/EdgeBatcher.java
  • bindings/python/src/java/com/arcadedb/python/GraphCalls.java
  • bindings/python/src/java/com/arcadedb/python/RowAccess.java
  • bindings/python/src/java/com/arcadedb/python/RowBatcher.java
  • bindings/python/src/java/com/arcadedb/python/TimeSeriesBatcher.java
  • bindings/python/src/java/com/arcadedb/python/TypedRows.java
  • bindings/python/src/java/com/arcadedb/python/VertexBatcher.java
  • bindings/python/tests/README.md
  • bindings/python/tests/__init__.py
  • bindings/python/tests/conftest.py
  • bindings/python/tests/test_async_executor.py
  • bindings/python/tests/test_bridge_fixes.py
  • bindings/python/tests/test_bulk_insert.py
  • bindings/python/tests/test_bulk_json_paths.py
  • bindings/python/tests/test_check_test_skips.py
  • bindings/python/tests/test_columnar_readers.py
  • bindings/python/tests/test_concurrency.py
  • bindings/python/tests/test_conversion_fixes.py
  • bindings/python/tests/test_core.py
  • bindings/python/tests/test_count_pushdown_known_issues.py
  • bindings/python/tests/test_cross_model_atomicity.py
  • bindings/python/tests/test_cypher.py
  • bindings/python/tests/test_database_utils.py
  • bindings/python/tests/test_declared_type_known_issues.py
  • bindings/python/tests/test_dml_plan_cache_known_issues.py
  • bindings/python/tests/test_docs_examples.py
  • bindings/python/tests/test_example11_degree_matching.py
  • bindings/python/tests/test_exporter.py
  • bindings/python/tests/test_geo_predicate_sql.py
  • bindings/python/tests/test_graph.py
  • bindings/python/tests/test_graph_algorithms_sql.py
  • bindings/python/tests/test_graph_api.py
  • bindings/python/tests/test_graph_batch.py
  • bindings/python/tests/test_hash_index_schema.py
  • bindings/python/tests/test_import_database.py
  • bindings/python/tests/test_importer_api.py
  • bindings/python/tests/test_insert_columns.py
  • bindings/python/tests/test_interrupt_hygiene.py
  • bindings/python/tests/test_jar_provenance.py
  • bindings/python/tests/test_java_package_shadowing.py
  • bindings/python/tests/test_jvm.py
  • bindings/python/tests/test_jvm_args.py
  • bindings/python/tests/test_legacy_temporal_implementations.py
  • bindings/python/tests/test_light_edge_and_view_known_issues.py
  • bindings/python/tests/test_logging_helper.py
  • bindings/python/tests/test_materialized_view_sql.py
  • bindings/python/tests/test_null_index_known_issues.py
  • bindings/python/tests/test_numpy_support.py
  • bindings/python/tests/test_parameter_binding.py
  • bindings/python/tests/test_percall_calls.py
  • bindings/python/tests/test_restore_sql.py
  • bindings/python/tests/test_results_after_close.py
  • bindings/python/tests/test_resultset.py
  • bindings/python/tests/test_resultset_arrow.py
  • bindings/python/tests/test_resultset_read_errors.py
  • bindings/python/tests/test_run_in_transaction_retry.py
  • bindings/python/tests/test_runtime_cache.py
  • bindings/python/tests/test_schema.py
  • bindings/python/tests/test_schema_batching.py
  • bindings/python/tests/test_server.py
  • bindings/python/tests/test_server_http_endpoints.py
  • bindings/python/tests/test_server_packaging.py
  • bindings/python/tests/test_server_patterns.py
  • bindings/python/tests/test_server_wire_protocols.py
  • bindings/python/tests/test_sigint.py
  • bindings/python/tests/test_sparse_quantization_compact.py
  • bindings/python/tests/test_temporal_writers_agree.py
  • bindings/python/tests/test_timeseries_sql.py
  • bindings/python/tests/test_transaction_config.py
  • bindings/python/tests/test_transaction_context_interrupt.py
  • bindings/python/tests/test_type_conversion.py
  • bindings/python/tests/test_typed_rows.py
  • bindings/python/tests/test_vector.py
  • bindings/python/tests/test_vector_delta_visibility.py
  • bindings/python/tests/test_vector_params_verification.py
  • bindings/python/tests/test_vector_second_pass.py
  • bindings/python/tests/test_vector_sql.py
  • bindings/python/tests/test_wheel_platform_tag.py
  • bindings/python/tests/test_wheel_size.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mergify

mergify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@codacy-production

codacy-production Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@claude

claude Bot commented Oct 22, 2026

Copy link
Copy Markdown

Review: removal of the Python bindings

This is a pure removal and I found nothing blocking.

Checked

  • The changes outside bindings/python/ only drop references to the bindings: the workflows, Dependabot, Codacy, REUSE, pre-commit, the gitignore-allowlist script, Meterian excludes, the actionlint ignores and the README link. I found no added code, dependencies, permissions or workflow triggers, so there is no security concern.
  • A grep outside docs/ finds no leftover reference to test-python-bindings, test-python-examples or bindings/python in workflows, scripts or config. e2e-python/ and its python-e2e-tests job in mvn-test.yml are correctly left alone.
  • Nothing in the Maven reactor or the Java build depended on bindings/python. Its Java sources lived under src/java, not src/main/java, so the census test Issue10107AppendBatchCallersConvertTest is unaffected.

Minor, optional

  • The Javadoc in engine/.../Issue10107AppendBatchCallersConvertTest.java:48 still uses bindings/python as its example of a nested module. It is only a comment and still reads correctly as history. Reword it if you want it free of dangling paths.
  • The header comment in .github/workflows/meterian.yml still says "the Python bindings kill the run". It is explicitly a correction note, so it is fine. After this PR the Meterian scan no longer covers the bindings' dependencies, and the new repo needs its own dependency scanning (Dependabot uv or similar). That is worth confirming in arcadedb-python-bindings.
  • The new repo builds against arcadedata/arcadedb:latest. A breaking engine change on main now won't fail CI here, only in the nightly runs there. That is probably an accepted tradeoff.

LGTM, assuming CI is green. I did not build or run tests locally.

@codecov

codecov Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.89%. Comparing base (ee04bd2) to head (19138db).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #10615      +/-   ##
============================================
+ Coverage     78.88%   78.89%   +0.01%     
- Complexity     4740     4744       +4     
============================================
  Files          2292     2292              
  Lines        249074   249074              
  Branches      54280    54280              
============================================
+ Hits         196486   196518      +32     
+ Misses        32478    32459      -19     
+ Partials      20110    20097      -13     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…n-bindings

bindings/python moved, with its history, to
https://github.com/ArcadeData/arcadedb-python-bindings (extracted at
ee04bd2; nothing touched it here since).
That repository now builds against arcadedata/arcadedb:latest and tests
every new snapshot nightly.

Removes the directory, its two workflows, and every reference to it: the
paths-ignore filters in mvn-test and mvn-deploy, the Meterian exclude, the
Dependabot uv entry, actionlint ignores, the Codacy test exclusion, the REUSE
annotation, the four pre-commit hooks scoped to it, and the gitignore
allowlist entries for its generated files. The README points at the new repo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@robfrank
robfrank force-pushed the chore/remove-python-bindings branch from 19138db to 0c5de66 Compare October 22, 2026 22:35
@robfrank

Copy link
Copy Markdown
Collaborator Author

Rebased onto main (d8ea9ec589). #10564 (c0f96479da) changed bindings/python after the move was extracted at ee04bd2. Its bindings part was ported to the new repo in ArcadeData/arcadedb-python#2 (merged), and this PR now deletes those files too, including the new test_temporal_writers_agree.py. No bindings/python changes on main remain unported.

@robfrank
robfrank merged commit 1e0507a into main Oct 22, 2026
17 of 18 checks passed
@claude

claude Bot commented Oct 22, 2026

Copy link
Copy Markdown

Review: this PR only removes the Python bindings and the CI and config references to them. It adds no code or dependencies, so I see no security concerns.

  • The removals line up with what the description lists: the two workflows, the paths-ignore entries, Meterian, Dependabot, actionlint, Codacy, REUSE, pre-commit and the gitignore allowlist.
  • I grepped the remaining tracked files outside docs/ and found no stale references to bindings/python, test-python-bindings or test-python-examples. The only hits are two comments in test files, MSMARCOBenchmark.java:49 and Issue10107AppendBatchCallersConvertTest.java:48. They are harmless, and the second one is just an example module name.
  • I could not fetch the full diff because it exceeds GitHub's 20000-line limit. I checked the file list and grepped the tree instead of reading every hunk.
  • Check that the arcadedata/arcadedb:latest image build or release process does not still depend on bindings/python. A grep of the tree would not catch that if it lives outside this repo.

Looks good to merge once CI is green.

tae898 added a commit to humemai/arcadedb-embedded-python that referenced this pull request Oct 25, 2026
Retire the upstream sync (upstream deleted bindings/python in ArcadeData#10615)
robfrank added a commit that referenced this pull request Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant