title: Installation Guide
description: How to install JustAPI via pip, cargo, or building from source.
Prerequisites
- Python: 3.11, 3.12, 3.13, or 3.14 (including 3.13t/3.14t free-threaded builds)
- Rust: 1.85+ (only required if building from source)
Install via pip
Install the official pre-compiled wheel package from PyPI:
pip install justapi
To install optional features (Pydantic v2, Jinja2, XML support):
pip install "justapi[full]"
Verify Installation
python -c "import justapi; print(justapi.__version__)"
# Output: 2.0.0
Install CLI Tooling (justapi-cli)
The justapi CLI includes the project scaffolder, dev server with hot-reload, and database migration runner.
# Install from source (requires Rust 1.85+)
cargo install justapi-cli
# Verify
justapi --version
# Output: justapi 2.0.0
Docker
Pull the official Docker image:
docker pull ghcr.io/justapi/justapi:latest
Or use the multi-stage Dockerfile in the repository root for custom builds.
Build from Source
Clone the repository and build the native PyO3 bindings with maturin:
git clone https://github.com/swadhinbiswas/JustAPI.git
cd JustAPI
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate
# Build the Rust extension
maturin develop --release --manifest-path crates/justapi-py/Cargo.toml
# Install Python dependencies
pip install pydantic
# Build the CLI (optional)
cargo install --path crates/justapi-cli
Build with Feature Flags
# Enable TLS, compression, and OpenTelemetry support
maturin develop --release -m crates/justapi-py/Cargo.toml --features tls,compression,opentelemetry
Platform-Specific Notes
Linux
Pre-built wheels are available for manylinux_2_28 (x86_64 and ARM64) and musllinux_1_2 (Alpine).
Required system packages:
# Debian/Ubuntu
apt-get install libssl-dev pkg-config python3-dev
# Alpine
apk add openssl-dev pkgconfig python3-dev rust cargo
macOS
Pre-built wheels available for x86_64 and ARM64 (Apple Silicon).
# Ensure you have Xcode Command Line Tools
xcode-select --install
Windows
Pre-built wheels available for x64. When building from source, install Visual Studio Build Tools with C++ support.
Troubleshooting
pip install fails with build error
Ensure you have Rust installed. If you don't need to build from source, try the pre-built wheel:
pip install --only-binary=justapi justapi
maturin develop fails
# Ensure you're in a virtual environment
python -m venv .venv
source .venv/bin/activate
# Update pip and maturin
pip install --upgrade pip maturin
ImportError: No module named _justapi
The Rust extension wasn't built. Run maturin develop --release from the repository root.
Next Steps
- First Steps — Build your first API endpoint in 2 minutes
- CLI Project Scaffolder — Generate complete project templates