Prerequisites
- Python 3.11+
- Rust 1.85+ (install via rustup)
- Git
Clone the Repository
git clone https://github.com/swadhinbiswas/JustAPI.git
cd JustAPI
Python Environment
Using standard venv + pip
python -m venv .venv
source .venv/bin/activate
pip install maturin pydantic
Using uv (recommended for speed)
uv venv
source .venv/bin/activate
uv pip install maturin pydantic
Build the Rust Extension
maturin develop --release --manifest-path crates/justapi-py/Cargo.toml
For debug builds (faster compile, slower runtime):
maturin develop --manifest-path crates/justapi-py/Cargo.toml
Install CLI
cargo install --path crates/justapi-cli
Install All Dependencies
# Rust
cargo build --workspace
# Python (with pip)
pip install -e ".[dev]"
# Python (with uv)
uv pip install -e ".[dev]"
Editor Setup
Recommended extensions:
- rust-analyzer — Rust language support
- pyright or pylance — Python language support
- maturin — Python↔Rust integration
Pre-Submission Check Suite
Run these before every PR:
# 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
Next Steps
- Coding Standards — Code conventions and guidelines
- Testing Guide — How to write tests
- Benchmarking Guide — Performance testing