Skip to content

Development Setup

  • Python 3.11+
  • Rust 1.85+ (install via rustup)
  • Git
Terminal window
git clone https://github.com/swadhinbiswas/JustAPI.git
cd JustAPI
Terminal window
python -m venv .venv
source .venv/bin/activate
pip install maturin pydantic
Terminal window
uv venv
source .venv/bin/activate
uv pip install maturin pydantic
Terminal window
maturin develop --release --manifest-path crates/justapi-py/Cargo.toml

For debug builds (faster compile, slower runtime):

Terminal window
maturin develop --manifest-path crates/justapi-py/Cargo.toml
Terminal window
cargo install --path crates/justapi-cli
Terminal window
# Rust
cargo build --workspace
# Python (with pip)
pip install -e ".[dev]"
# Python (with uv)
uv pip install -e ".[dev]"

Recommended extensions:

  • rust-analyzer — Rust language support
  • pyright or pylance — Python language support
  • maturin — Python↔Rust integration

Run these before every PR:

Terminal window
# Rust tests
cargo test --workspace
# Python tests
pytest
# Python tests with uv
uv run pytest
# Linting
cargo clippy --workspace --tests -- -D warnings
cargo fmt --check
# Supply chain security audit
cargo deny check
# Memory safety (requires nightly Rust)
cargo +nightly miri test -p justapi-core