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: 271 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 (DDL)
    db.command("sql", "CREATE DOCUMENT TYPE Person")
    db.command("sql", "CREATE PROPERTY Person.name STRING")
    db.command("sql", "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')}")

๐Ÿ‘‰ 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: 271 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.3.1-cp313-cp313-win_amd64.whl (72.9 MB view details)

Uploaded CPython 3.13Windows x86-64

arcadedb_embedded-26.3.1-cp313-cp313-manylinux_2_35_x86_64.whl (76.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.3.1-cp313-cp313-manylinux_2_35_aarch64.whl (75.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.3.1-cp313-cp313-macosx_11_0_arm64.whl (71.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arcadedb_embedded-26.3.1-cp312-cp312-win_amd64.whl (72.9 MB view details)

Uploaded CPython 3.12Windows x86-64

arcadedb_embedded-26.3.1-cp312-cp312-manylinux_2_35_x86_64.whl (76.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.3.1-cp312-cp312-manylinux_2_35_aarch64.whl (75.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.3.1-cp312-cp312-macosx_11_0_arm64.whl (71.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arcadedb_embedded-26.3.1-cp311-cp311-win_amd64.whl (72.9 MB view details)

Uploaded CPython 3.11Windows x86-64

arcadedb_embedded-26.3.1-cp311-cp311-manylinux_2_35_x86_64.whl (76.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.3.1-cp311-cp311-manylinux_2_35_aarch64.whl (75.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.3.1-cp311-cp311-macosx_11_0_arm64.whl (71.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arcadedb_embedded-26.3.1-cp310-cp310-win_amd64.whl (72.9 MB view details)

Uploaded CPython 3.10Windows x86-64

arcadedb_embedded-26.3.1-cp310-cp310-manylinux_2_35_x86_64.whl (76.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

arcadedb_embedded-26.3.1-cp310-cp310-manylinux_2_35_aarch64.whl (75.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ ARM64

arcadedb_embedded-26.3.1-cp310-cp310-macosx_11_0_arm64.whl (71.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 df9d9cfaa656acca6ceae1d1e709e6a709b8c0aefef25c1de106edbc8061a09b
MD5 900df9abdaf88d8a1dcefc051018b6ef
BLAKE2b-256 b136ed255c760adc341136345a3c0316a6357b256f978e7fa64d6fd17748e0a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f6e5331437374311e20ecd0660c866cdb4716ac805801a62736ed44217293b75
MD5 7495283cf3c3a2f42869487ae66072fd
BLAKE2b-256 301cd2155b63345848cbdba4e3a1385e92c71058de8d1feb8f416895c26fce8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp313-cp313-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp313-cp313-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 9f1f9372683121e756c8cb6b6407ef538114799a601d70d35c0c659af8fff18e
MD5 18f16b1ae9b30f133754b168262b00d6
BLAKE2b-256 8657bb52384955152a27e136f4d66a7ec2aeb74b84d3be526877265140579401

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f3bef257d18f3557f6fa623159afa490c741e43ac1ab4364862bcfdd13a30c8
MD5 1025b895a4b1333976583dbe64e86f31
BLAKE2b-256 cbe215c8822957d36b32b6bf844d9b2be8aa2ca020ae9f0776776ded264b637b

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7fdb42e32a089a1dac78c9c4d303fd9f7d2496ad943c726bc55c9ae3cf125ec8
MD5 09ad7995cab66c8898181ecc552c3f66
BLAKE2b-256 553f7eef25d92f9ae163679c413dff410a03da5f8c19954e5585084f358f1916

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 02474defde2e058a4cb6a356f0883706c89ce988f1e18d06334cc3b669ae57bd
MD5 7c9816e69268925833bbc8fa2f6072c3
BLAKE2b-256 1802b20bfc377727eb6346e96e8cad6cdc838b794130027f7c86c93e526136e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f9109c78b0313f040c08570f31d3a67d59ee6483107932b9084c9e36d2faa958
MD5 dc886534c2742666010732c5fd0f7796
BLAKE2b-256 d5ca7382d451b5034d602c4f585ce5660c7efe012880f6f496ebafed350dfcff

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54c281da07c8cefd333f25472e6a01072e0e065adce0693f63f93a789ffbab6f
MD5 6f378cef3dcef6b049d6549ff457b39c
BLAKE2b-256 b55d47d9a132b1f38122d7c2d9675e65eab11e3c38e5b9b50bfc0ca744684351

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8d0a4a2e671dda8943487309c511dd72e8727046b0503657d509b78b6ab3685a
MD5 596dd00be4e34e76dc11d20e8efa7eff
BLAKE2b-256 7b0b03b2f01fb709ebfd089de6d3d3979d9e73fcf9730aa62ec3b30c0398f00d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 a2228bafb98d6afc536c28287c0bd25eb7e974f202b102bf7019b02e1fcf3f47
MD5 a4b6bf30474fa239cb81b475ca08edf9
BLAKE2b-256 fae80731c6d012851cd49c4c0f39e132976c822ef9c6747ae71681ea39166851

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a5d20a586a51aa152dda30ec6c5fbe0aa3f4d74aab3011ffd678afd4ddff7e81
MD5 5b0932bf01af77c148e2c4c5ce5024b8
BLAKE2b-256 0111d887b1ff6a4ea56873eadba65b887fb0c3363add4fbca1ae3c0eac51c61e

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c1e93e50cc838768038fd1f1c51a4ca540e09ca3f9e51577eeafb470979c968
MD5 3b4cdcfa7fe476ef4bcb6ef2245012aa
BLAKE2b-256 f2c06e2f0973061380eb13999939944f55a881522093b4999ebe200d6727a2b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4de31ee0be9b9e82dbe3e1aaa1c49498b2d90188e6b18fcdd0df6c717e0a43a1
MD5 cbf7ae9f4e1c27feb3554936114dd147
BLAKE2b-256 9c2862b8a458871159efbcbbdbe7a4e13212bf78c4a02b0b38224bb3a58ad47d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 0c054fe2ab1dd1e02c9e202f4e66079d86f7a190fc5696c245224070d7977690
MD5 7ca887395171f8518a0bbc09c8fe8ef3
BLAKE2b-256 246e8d8a44cf04e8d095c5b2e156a55741a7a312448e3d5378d84e733dd730a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp310-cp310-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f28d11d1c1d66d8f182999e85d2cc00f4387c7f18e9d0c5229eb6e3d06fe56fa
MD5 0e5c5e43c89d967f3fc9afce3a082923
BLAKE2b-256 115361d30155fd77e21cc251359a976c65562d3d65df66413a01e1a9644979d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arcadedb_embedded-26.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bbb68c15c400ecda3c5340ad84b970b59d506fa72bd62eca83a524ee7254088
MD5 db9cf8a29936c434809717d144fdc7f2
BLAKE2b-256 3b929c9d6745eb9f4e95cfd27c67dcfd7a02b9026ad1054742d5ff59ac324237

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcadedb_embedded-26.3.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