Repository navigation
Rename the package to arcadedb (distribution arcadedb, import arcadedb) - #42
Merged
Merged
Conversation
scripts/rename_to_arcadedb.py moves src/arcadedb_embedded to src/arcadedb and rewrites every use of arcadedb_embedded / arcadedb-embedded (imports, pyproject, build and verify scripts, CI paths and names, tests, examples, README and the Antora pages) without touching Java package names, ARCADEDB_* variables, engine artifact names, history, or the release guard. It is deterministic and idempotent, and prints what it changed by category and by rule. scripts/check_no_embedded_name.py fails when the old name reappears outside an allowlist (docs/superpowers, changelogs, the codemod, issue references of the old repository, the "published as" line). The codemod wires it into pre-commit and tests/test_no_embedded_name.py when it runs, so nothing fails on main before the rename. tests/test_rename_codemod.py runs both on a synthetic repository; it needs no wheel. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The distribution is now `arcadedb` (JVM wheel), later `arcadedb-native`, and both import as `arcadedb`. No `arcadedb_embedded` or `arcadedb-embedded` name is left outside the allowlist of scripts/check_no_embedded_name.py, which stays as a permanent guard (pre-commit hook and tests/test_no_embedded_name.py). Applied with scripts/rename_to_arcadedb.py on the merged tree (140 files, 406 replacements, a second run changes nothing); the codemod and its test are deleted in this commit. The README packages table and status paragraph are rewritten for the new names, and the docs carry the line "This package was published as arcadedb-embedded until 26.10.x; install arcadedb now." Both wheels import as `arcadedb`, so pip overwrites one with the other silently. Importing `arcadedb` now emits a RuntimeWarning when both distributions are installed (importlib.metadata), with unit tests. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tae898
marked this pull request as ready for review
October 25, 2026 01:42
…and teach the name check about wildcard spellings Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renames the package to its final names (owner decision 2026-10-25, tracker #19): distribution
arcadedb(JVM wheel) and laterarcadedb-native, import namearcadedbfor both, and noarcadedb_embedded/arcadedb-embeddednaming anywhere in this repository. There is no compatibility shim here: the old PyPI packages get a deprecation shim from the humemai repository. The stack of port PRs (#20 to #41) has merged, so the codemod ran on the merged tree and is deleted in this PR.What changed
src/arcadedb_embeddedmoved tosrc/arcadedb(19 files). The codemod changed 140 other files with 406 replacements: tests 83 / 234, examples 30 / 56, build and verify scripts 8 / 31, docs 8 / 32, CI workflows 3 / 28, package source 6 / 16, packaging metadata 2 / 9 (files / replacements). By rule: distribution or package name 274, import statement 112, repository URL 4, native distribution name 3. All 13 exact-text edits applied. Against main the PR shows 158 files (19 renames, 4 added, 135 modified).scripts/rename_to_arcadedb.pyandtests/test_rename_codemod.pyare deleted in this PR.scripts/check_no_embedded_name.pystays as a permanent guard. It runs as a pre-commit hook and astests/test_no_embedded_name.py, which the CI test job runs on every platform (the repository has no separate lint job). The allowlist no longer names the codemod; it keepsdocs/superpowers/, changelogs,humemai/arcadedb-embedded-python#Nissue references, "published as" and "formerly" lines, and lines markedallow-old-name.README.mdanddocs/modules/ROOT/pages/installation.adoc.arcadedb,arcadedb-native, and a row for the former names). The three places that point to the humemai fork by its URL or name keep it and carry theallow-old-namemarker. The README had changed since the codemod was written (the readme-refresh PR), so three exact-text edits were added to the codemod before it ran.src/arcadedb/_dist_conflict.py, called fromarcadedb/__init__.py. Both wheels import asarcadedb, so pip overwrites one with the other silently. Importingarcadedbnow emits aRuntimeWarningwhenimportlib.metadatafinds both thearcadedband thearcadedb-nativedistributions; unreadable metadata never breaks the import.tests/test_dist_conflict.pycovers the function with a stand-in lookup (both, one, none, broken metadata) and the real import in a fresh interpreter with fake.dist-infodirectories. The installation page says to install only one of the two and mentions the warning.Not touched: Java package names (
com.arcadedb...),ARCADEDB_*environment variables, engine artifact names, history, and the generic word "embedded" (kept in the pyproject description and keywords).Checks
pre-commit run --all-filespasses black, isort, shfmt, actionlint and the new hook. "Pretty format YAML" fails ondocs/antora.yml(version: ~, indentednav); it fails the same way on current main, so that file is left as it is.import arcadedb(withPYTHONPATH=src, JPype installed) works.test_dist_conflict.pyandtest_no_embedded_name.py, plustest_extract_version*,test_check_test_skips,test_build_scripts,test_build_wheel_check,test_build_no_uv_refresh,test_no_monorepo_wording,test_wheel_size,test_stage_jars,test_wheel_licencesandtest_example11_degree_matching. The wheel build and the engine tests were not run locally; CI builds and runs them.Order on cutover day
Merge this, then release
arcadedb26.11.1 from this repository, then the humemai shims (see.notes/DECISIONS.md). Until 26.11.1 is on PyPI,pip install arcadedbgives the placeholder, andimport arcadedbworks only from a source checkout or a wheel built here.🤖 Generated with Claude Code