Skip to main content

ArcadeDB embedded multi-model database with bundled JRE - no Java installation required

Project description

ArcadeDB Python Bindings

Native Python bindings for ArcadeDB - the multi-model database that supports Graph, Document, Key/Value, Search Engine, Time Series, and Vector models.

Status: โœ… Production Ready | Tests: 260 Passing | Platforms: 4 Supported


๐Ÿ“š Documentation

๐Ÿ“– Read the Full Documentation โ†’


๐Ÿš€ Quick Start

Installation

uv pip install arcadedb-embedded

Requirements:

  • Python 3.10โ€“3.14 (packaged/tested on CPython 3.12) - No Java installation required!
  • Supported Platforms: Prebuilt wheels for 4 platforms
    • Linux: x86_64, ARM64
    • macOS: Apple Silicon (ARM64)
    • Windows: x86_64

5-Minute Example

import arcadedb_embedded as arcadedb

# Create database (context manager for automatic open and close)
with arcadedb.create_database("./mydb") as db:
  # Create schema (schema ops are auto-transactional)
  db.schema.create_document_type("Person")
  db.schema.create_property("Person", "name", "STRING")
  db.schema.create_property("Person", "age", "INTEGER")

    # Insert data (requires transaction)
    with db.transaction():
        db.command("sql", "INSERT INTO Person SET name = 'Alice', age = 30")

    # Query data
    result = db.query("sql", "SELECT FROM Person WHERE age > 25")
    for record in result:
        print(f"Name: {record.get('name')}")

  # SQL also works (useful when talking to a remote server),
  # but the embedded API above is preferred for local use.

๐Ÿ‘‰ See full tutorial


โœจ Features

  • โ˜• No Java Installation Required: Bundled JRE (~60MB uncompressed)
  • ๐ŸŒ 4 Platforms Supported: Linux (x86_64, ARM64), macOS (ARM64), Windows (x86_64)
  • ๐Ÿš€ Embedded Mode: Direct database access in Python process (no network)
  • ๐ŸŒ Server Mode: Optional HTTP server with Studio web interface
  • ๐Ÿ“ฆ Self-contained: All dependencies bundled (~68MB wheel)
  • ๐Ÿ”„ Multi-model: Graph, Document, Key/Value, Vector, Time Series
  • ๐Ÿ” Multiple query languages: SQL, OpenCypher, MongoDB
  • โšก High performance: Direct JVM integration via JPype
  • ๐Ÿ”’ ACID transactions: Full transaction support
  • ๐ŸŽฏ Vector storage: Store and query vector embeddings with HNSW (JVector) indexing
  • ๐Ÿ“ฅ Data import: Built-in CSV and ArcadeDB JSONL import

๐Ÿ“ฆ What's Inside

The arcadedb-embedded package is platform-specific and self-contained:

Package Contents (all platforms):

  • Wheel size (compressed): ~68MB
  • ArcadeDB JARs (uncompressed): ~32MB
  • Bundled JRE (uncompressed): ~60MB (platform-specific Java 25 runtime via jlink)
  • Total uncompressed size: ~95MB

Note: Some JARs are excluded to optimize package size (e.g., gRPC wire protocol). See jar_exclusions.txt for details.

Import: import arcadedb_embedded as arcadedb


๐Ÿงช Testing

Status: 260 tests + example scripts passing on all 4 platforms

# Run all tests
pytest tests/

# Run specific test file
pytest tests/test_core.py -v

See testing documentation for detailed test documentation.


๐Ÿ”ง Building from Source (Advanced)

Linux uses Docker. macOS and Windows use a native Java 25+ JDK with jlink.

cd bindings/python/

# Install uv (one-time)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment with uv
uv venv .venv
source .venv/bin/activate

# Install build and test dependencies
uv pip install build
uv pip install -e ".[test]"

# Build for your current platform (auto-detected)
./build.sh

Built wheels will be in dist/.

Build instructions

Developer Note: See build architecture docs for comprehensive documentation of the multi-platform build architecture, including how we achieve platform-specific JRE bundling across the supported platforms on GitHub Actions.

Development

Versions are automatically extracted from the main ArcadeDB pom.xml. See versioning strategy for details on development vs release mode handling.


๐Ÿ“‹ Package Structure

arcadedb_embedded/
โ”œโ”€โ”€ __init__.py          # Public API exports
โ”œโ”€โ”€ core.py              # Database and DatabaseFactory
โ”œโ”€โ”€ server.py            # ArcadeDBServer for HTTP mode
โ”œโ”€โ”€ results.py           # ResultSet and Result wrappers
โ”œโ”€โ”€ transactions.py      # TransactionContext manager
โ”œโ”€โ”€ schema.py            # Schema management API
โ”œโ”€โ”€ vector.py            # Vector search and HNSW (JVector) indexing
โ”œโ”€โ”€ importer.py          # Data import (CSV, JSONL)
โ”œโ”€โ”€ exporter.py          # Data export (JSONL, GraphML, GraphSON, CSV)
โ”œโ”€โ”€ graph.py             # Graph API helpers
โ”œโ”€โ”€ batch.py             # Batch operations context
โ”œโ”€โ”€ async_executor.py    # Asynchronous query execution
โ”œโ”€โ”€ type_conversion.py   # Python-Java type conversion utilities
โ”œโ”€โ”€ exceptions.py        # ArcadeDBError exception
โ”œโ”€โ”€ jvm.py               # JVM lifecycle management
โ””โ”€โ”€ _version.py          # Package version info

Architecture details


๐Ÿค Contributing

See our contributing guidelines

๐Ÿ“„ License

Both upstream ArcadeDB (Java) and this ArcadeDB Embedded Python project are licensed under Apache 2.0, fully open and free for everyone, including commercial use.


๐Ÿ”— Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

arcadedb_embedded-26.2.1-cp313-cp313-win_amd64.whl (68.8 MB view details)

Uploaded CPython 3.13Windows x86-64

arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_x86_64.whl (72.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_aarch64.whl (70.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.2.1-cp313-cp313-macosx_11_0_arm64.whl (67.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arcadedb_embedded-26.2.1-cp312-cp312-win_amd64.whl (68.8 MB view details)

Uploaded CPython 3.12Windows x86-64

arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_x86_64.whl (72.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_aarch64.whl (70.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.2.1-cp312-cp312-macosx_11_0_arm64.whl (67.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arcadedb_embedded-26.2.1-cp311-cp311-win_amd64.whl (68.8 MB view details)

Uploaded CPython 3.11Windows x86-64

arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_x86_64.whl (72.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_aarch64.whl (70.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.2.1-cp311-cp311-macosx_11_0_arm64.whl (67.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arcadedb_embedded-26.2.1-cp310-cp310-win_amd64.whl (68.8 MB view details)

Uploaded CPython 3.10Windows x86-64

arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_x86_64.whl (72.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_aarch64.whl (70.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.2.1-cp310-cp310-macosx_11_0_arm64.whl (67.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file arcadedb_embedded-26.2.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 45a232d4885546228ed3f6862019fef65091ddb17cb548ced3c441045724fd14
MD5 06644d70c89aa5ac53a2f9eaf58613a7
BLAKE2b-256 eae3d5ff8e6a8e388d9411ff25665aab8ced0c522ee2484b0c162b7bab946368

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp313-cp313-win_amd64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 fde25da016367158d4c2573e3fb31b4705f9b3c9f6a111c6c1893c5ed378ff54
MD5 1281ff7bc9a4681e002f3fae73c9a16f
BLAKE2b-256 7e7f70275beff35515d12c863b881a3296ba6912679c29e64ed6c548b0d42798

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_x86_64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 4eeb82c6794e86bd742e192e3f67b1974f12fdf996a8ff434fd00f236f19140d
MD5 f9372ba6732d3f8abdac1550113b35aa
BLAKE2b-256 819aa5b637546081b1c59e653135b4e5c1b4fa0c39e80814799730baf09ce4d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp313-cp313-manylinux_2_35_aarch64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 305549a1f4575f816000dc3aa7b7e128d7b6892c2a89a8444256728b0f4f2d3d
MD5 741510ce155724c938f9f0dfa885fbea
BLAKE2b-256 563afadbca565e8bac368b1212e2f0d910eb9980eb75f70a798171bf3f94e304

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 23d0063285bf1b705eef9870c4b937b3e092c4e2e9a0b3e007ad38e986f12890
MD5 74a4e406afc4f185e47593ea42ec4d7b
BLAKE2b-256 6f267c766dc50cb23d4968af33311351520edca14c211d0178151e9283904b5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp312-cp312-win_amd64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 28e730a650a2b3ca269dad699f96103d68c43189834bfb40c795ecc4fdb66aeb
MD5 8c9fba532af2bb479adf4ddee197a447
BLAKE2b-256 a3129fadaaf66c4a238a11b8df64c3405d5b1d27f7b93d21e3f7fd298163a37b

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 d275a46536a7495d3472a5eaa03c488b07341119139137d72839e77107fb4bde
MD5 8384df3decf4bcb4d7ab07d75a96aaee
BLAKE2b-256 358045274d434f170a6b29bf224b32ee98968fa905aad7f3a8fa6aa4d6ca7f4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp312-cp312-manylinux_2_35_aarch64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e71715e2313a4343a90501e0da8fa41f42e6a15d13ae881dd4e8459f8a13755
MD5 935c38ca176d588588c651020763eccd
BLAKE2b-256 b440d4337e180fb2210864ba546674ded85512082ca02b28f72094026d87cc1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6e5a46bc7a4496f3ed9052bfd0c82742eededd90f6ced4324a0f000cf7d36157
MD5 aa32502f163e2eb44b84bf4643736eed
BLAKE2b-256 7de038ae0c629dfe93d3c5e89efa00d385675727d829dbb809ab572e5343a935

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp311-cp311-win_amd64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 d8f9e1264e966025f85429f75351f480f81ad6b5189665a9a9d1574c25735ea0
MD5 f97d334034ec84fe64dd179c7bb2f11e
BLAKE2b-256 27ac361e4e3f35935790837c7617d3e9cec06ef3e203b3e4b60e58d44d514178

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_x86_64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 92c720374b27255cec18f9842990a86b136973a8c356af0cb6573ef766bbe8fb
MD5 5fed26b1ae5a762599a49acc8915326b
BLAKE2b-256 a1a7955cfa2fd70acc00228275244c928078a4aaf184c8c8637747e31ac278e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp311-cp311-manylinux_2_35_aarch64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0e4b50ebf613b73e1f02ae42010b0e3313a590dcaff8e32fac9f295d7cecec2
MD5 86fade3248b95e9d51c53c10b137f311
BLAKE2b-256 3a2da75d3b2cdb0bc2e7b12f9ff6aa5431bc2c0598e41090dd68693fe04c0a45

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 27375f9ae0ada0d75505c52bba47158cb9080d28c8889930b310cf15af8ca7f9
MD5 9e4cbd34119c3a57739332e714563a42
BLAKE2b-256 4eb9f07460643411cdbfa1d9e3256527d39f685c97caf6a7f57efb95c8e566b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp310-cp310-win_amd64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 162e0a1eac0c74c1ac1cef9f41caee226a7fd6326dcf0da48fb89f07ffd40c31
MD5 e8312dfb46aeb7a7fdc852811bf09975
BLAKE2b-256 c171a4e478999d64ca6f5c5895df82629a9080c1d8af065954c21d8c74e1e281

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_x86_64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 74f9b7b2bd57bd78d864a1bea034f0191860758ce6e9987c6d8ab9c5ad9bfa42
MD5 6da2b265cc61047742182bc7827999e6
BLAKE2b-256 cff57aee230b69f684692324060c612e75c7e327dd485258133fa44cba2ad653

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp310-cp310-manylinux_2_35_aarch64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcadedb_embedded-26.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a9e2271628f6b9ccd1799ed0228521d884aec853b6d3aa066bf0b8b3956c262
MD5 e66bde474cadf8bdd7561cbf38a40f8b
BLAKE2b-256 29c3119e8bf3ab30fc81a0227c9d62b02a2e9e8f8dca53def685570ae13b20a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.2.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release-python-packages.yml on humemai/arcadedb-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page