Installation¶
Quick Installation¶
The arcadedb-embedded package is self-contained with a bundled JRE - no Java installation required!
Requirements:
- Python 3.10–3.14 (packaged; primary testing on 3.12) - No Java installation required!
- Supported Platforms: Prebuilt wheels for 6 platforms
- Linux: x86_64, ARM64
- macOS: Intel (x86_64), Apple Silicon (ARM64)
- Windows: x86_64, ARM64
What's Included¶
The arcadedb-embedded package (~116MB wheel, ~281MB uncompressed installed) includes everything you need:
- ArcadeDB JARs: ~32MB (uncompressed)
- Bundled JRE: ~249MB (uncompressed, platform-specific Java 25 runtime via jlink)
Features Included:
- ✅ No Java Installation Required: Bundled platform-specific JRE
- ✅ Core Database: All models (Graph, Document, Key/Value, Vector, Time Series)
- ✅ Query Languages: SQL, OpenCypher, MongoDB
- ✅ Studio Web UI: Visual database explorer and query editor
- ✅ Wire Protocols: HTTP REST, PostgreSQL, MongoDB, Redis
- ✅ Vector Search: Graph-based indexing for embeddings
- ✅ Data Import: CSV and ArcadeDB JSONL import (XML supported but has limitations)
Platform Selection
pip automatically selects the correct platform-specific wheel for your system. You don't need to specify the platform manually.
Python Version¶
- Supported: Python 3.10, 3.11, 3.12, 3.13, 3.14 (packaged classifiers)
- Recommended: Python 3.12 or higher
Dependencies¶
All Python dependencies are automatically installed:
- JPype1 >= 1.5.0 (Java-Python bridge)
Verify Installation¶
After installation, verify everything works:
import arcadedb_embedded as arcadedb
print(f"ArcadeDB Python bindings version: {arcadedb.__version__}")
# Test database creation
with arcadedb.create_database("./test") as db:
result = db.query("sql", "SELECT 1 as test")
print(f"Database working: {result.first().get('test') == 1}")
Expected output (version will match what you installed):
Building from Source¶
If you want to build the wheels yourself, see Build Architecture Documentation for comprehensive instructions.
Quick build:
Built wheels will be in dist/:
Install locally:
JVM Configuration¶
The bundled JVM can be configured via the ARCADEDB_JVM_ARGS environment variable before importing arcadedb_embedded:
# Default (4GB heap)
python your_script.py
# Custom memory for large datasets
export ARCADEDB_JVM_ARGS="-Xmx8g -Xms8g"
python your_script.py
Common Options:
JVM arguments use two flag types:
-Xflags: JVM runtime options (heap, GC, etc.)-Xmx<size>: Maximum heap memory (e.g.,-Xmx8gfor 8GB)-Xms<size>: Initial heap size (recommended: same as-Xmx)-
-XX:MaxDirectMemorySize=<size>: Limit off-heap buffers -
-Dflags: System properties for ArcadeDB configuration -Darcadedb.vectorIndex.locationCacheSize=<count>: Vector location cache limit-Darcadedb.vectorIndex.graphBuildCacheSize=<count>: JVector build cache limit-Darcadedb.vectorIndex.mutationsBeforeRebuild=<count>: Mutations threshold before rebuilding JVector
Set Before Import
ARCADEDB_JVM_ARGS must be set before the first import arcadedb_embedded in your Python process. The JVM can only be configured once.
For detailed configuration and memory tuning, see Troubleshooting - Memory Configuration.
Next Steps¶
- Quick Start Guide - Get started in 5 minutes
- Package Overview - Detailed package information
- User Guide - Learn all features
- Build Architecture - How platform-specific wheels are built