Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/how-to/concurrency.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -252,4 +252,4 @@ If a process must stop and it does not react to a signal, `SIGKILL` cost no ackn

The native wheel is a `py3-none` wheel, and it installed and ran on free-threaded Python 3.14.5 with the GIL off. The Python 3.14t rows in the tables above are those runs: threads, several writers, asyncio and the signal and kill probes. The probe on several processes was not run there. The runs are shorter than those on Python 3.12, as listed at the top of this page.

The JVM package was not run on Python 3.14t. Its wheels up to 26.11.1.dev0 were tagged for 3.11 to 3.14 (`cp314`), so `uv` found no wheel for 3.14t (it reported no wheel with a matching Python version tag for `{jvm-pkg-name}` 26.10.2.post1). The newer wheels are `py3-none`, and JPype has a 3.14t wheel on Linux, so pip can now install the package on 3.14t. No JVM test run has been made there, so treat it as untested.
The JVM package was not run on Python 3.14t. Its wheels up to 26.11.1.dev0 were tagged for 3.11 to 3.14 (`cp314`), so `uv` found no wheel for 3.14t (it reported no wheel with a matching Python version tag for `{jvm-pkg-name}` 26.10.2.post1). The newer wheels are `py3-none`, and JPype has a 3.14t wheel on Linux, so uv can now install the package on 3.14t. No JVM test run has been made there, so treat it as untested.
4 changes: 2 additions & 2 deletions docs/modules/ROOT/pages/installation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ NOTE: *Transition note.* The first release of this layout is 26.11.1. Until `{na
// REMOVE WHEN: the old arcadedb-embedded* shims are retired and two releases have shipped with the two-package layout allow-old-name
NOTE: *Old names.* The JVM package was formerly `arcadedb-embedded`. It is now `{jvm-pkg-name}`, the same build. The native package was formerly `arcadedb-embedded-native`. It is now `{native-pkg-name}`, and the old project is archived. A last `arcadedb-embedded` release will install `{native-pkg-name}`, not `{jvm-pkg-name}`. See xref:which-package.adoc#old-names[Old names].

The JVM package is self-contained. It carries a Java 25 runtime for its platform, so you do not install Java. Its only Python dependency is `JPype1` 1.5.0 or later (the Java-Python bridge), which pip installs for you. The native package needs no Java and no JPype. Optional extras install the columnar helpers of the native package: `[numpy]`, `[arrow]`, `[pandas]` and `[polars]`.
The JVM package is self-contained. It carries a Java 25 runtime for its platform, so you do not install Java. Its only Python dependency is `JPype1` 1.5.0 or later (the Java-Python bridge), which `uv add` installs with it. The native package needs no Java and no JPype. Optional extras install the columnar helpers of the native package: `[numpy]`, `[arrow]`, `[pandas]` and `[polars]`.

[[requirements]]
== Requirements

* Python 3.11 to 3.14 for both packages. The native package also supports Python 3.15: it is one `py3-none` wheel that loads its library with `ctypes`, and the CI runs a subset of the tests on 3.15. `{jvm-pkg-name}` does not install on 3.15 yet, because its dependency JPype has no 3.15 wheel: its `requires-python` is `>=3.11,<3.15`, so pip says that no version fits instead of building JPype from source. The cap goes when JPype ships a 3.15 wheel. The CI tests the JVM wheel on all four versions 3.11 to 3.14 on Linux x86_64, and on 3.11 and 3.14 on the other platforms (xref:development/ci.adoc[Continuous integration]).
* Python 3.11 to 3.14 for both packages. The native package also supports Python 3.15: it is one `py3-none` wheel that loads its library with `ctypes`, and the CI runs a subset of the tests on 3.15. `{jvm-pkg-name}` does not install on 3.15 yet, because its dependency JPype has no 3.15 wheel: its `requires-python` is `>=3.11,<3.15`, but uv does not stop at that upper bound and fails while building JPype from source, so use Python 3.14 or older for it. The cap goes when JPype ships a 3.15 wheel. The CI tests the JVM wheel on all four versions 3.11 to 3.14 on Linux x86_64, and on 3.11 and 3.14 on the other platforms (xref:development/ci.adoc[Continuous integration]).
* One of the four platforms below. The Windows wheel of the native build is the newest, and its test run is the least proven of the four. It needs the Microsoft Visual C++ runtime (`VCRUNTIME140.dll`), which every CPython for Windows already brings.

Every wheel is platform-specific and built on a native runner of its platform, so the installer needs no hint to pick the right one. Each package is one file for each platform, tagged `py3-none-<platform>`, and it serves every Python version it supports. The native wheel does so because it loads its library with `ctypes`. The JVM wheel carries a JRE for its platform, and nothing in it is compiled against CPython: JPype, its dependency, has its own wheel for each Python version.
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/quickstart.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This page builds a small database from scratch. You need one of the two packages
| Heavy, long-running loads, or the Java-object APIs.
|===

See xref:which-package.adoc[Which package?] if you are not sure. If you are not sure, take `{native-pkg-name}`. Until a final 26.11.1 is on PyPI, add `--pre` to the install line of `{native-pkg-name}` (see the transition note in xref:installation.adoc[Installation]).
See xref:which-package.adoc[Which package?] if you are not sure. If you are not sure, take `{native-pkg-name}`. Until a final 26.11.1 is on PyPI, add `--prerelease allow` to the `uv add` line of `{native-pkg-name}` (see the transition note in xref:installation.adoc[Installation]).

// REMOVE WHEN: the old arcadedb-embedded* shims are retired and two releases have shipped with the two-package layout allow-old-name
The scripts on this page ran against the JVM build, version 26.10.2.post1 (formerly `arcadedb-embedded`). The output shown is what it printed. The code is the same for both packages. The wording of an error message can differ on `{native-pkg-name}`.
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/which-package.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ The API is the same. The runtime is not. These are the differences you can plan

| Python versions
| 3.11 to 3.15. On 3.15 the CI runs a subset of the tests.
| 3.11 to 3.14. JPype has no 3.15 wheel yet, so the package does not install on 3.15: pip refuses it, and uv tries to build JPype and fails.
| 3.11 to 3.14. JPype has no 3.15 wheel yet, so the package does not install on 3.15: uv tries to build JPype from source and fails.

| Platforms
| Linux x86_64 and aarch64 (glibc 2.28 or later), macOS arm64, Windows x64. The Windows wheel is the newest: it is built in CI, and its test run is the least proven of the four. Not built: Intel Mac, Alpine (musl), Windows on ARM. See xref:installation.adoc#requirements[Requirements].
Expand Down
Loading