swadhinbiswas p1b: enhance Installation page — verify command, Docker, platform notes, troubleshooting · 7/24/2026
8551f90
142 lines · 3.0 KB
Raw Download

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