Development Setup
Prerequisites
Section titled “Prerequisites”- Python 3.11+
- Rust 1.85+ (install via rustup)
- Git
Clone the Repository
Section titled “Clone the Repository”git clone https://github.com/swadhinbiswas/JustAPI.gitcd JustAPIPython Environment
Section titled “Python Environment”Using standard venv + pip
Section titled “Using standard venv + pip”python -m venv .venvsource .venv/bin/activatepip install maturin pydanticUsing uv (recommended for speed)
Section titled “Using uv (recommended for speed)”uv venvsource .venv/bin/activateuv pip install maturin pydanticBuild the Rust Extension
Section titled “Build the Rust Extension”maturin develop --release --manifest-path crates/justapi-py/Cargo.tomlFor debug builds (faster compile, slower runtime):
maturin develop --manifest-path crates/justapi-py/Cargo.tomlInstall CLI
Section titled “Install CLI”cargo install --path crates/justapi-cliInstall All Dependencies
Section titled “Install All Dependencies”# Rustcargo build --workspace
# Python (with pip)pip install -e ".[dev]"
# Python (with uv)uv pip install -e ".[dev]"Editor Setup
Section titled “Editor Setup”Recommended extensions:
- rust-analyzer — Rust language support
- pyright or pylance — Python language support
- maturin — Python↔Rust integration
Pre-Submission Check Suite
Section titled “Pre-Submission Check Suite”Run these before every PR:
# Rust testscargo test --workspace
# Python testspytest
# Python tests with uvuv run pytest
# Lintingcargo clippy --workspace --tests -- -D warningscargo fmt --check
# Supply chain security auditcargo deny check
# Memory safety (requires nightly Rust)cargo +nightly miri test -p justapi-coreNext Steps
Section titled “Next Steps”- Coding Standards — Code conventions and guidelines
- Testing Guide — How to write tests
- Benchmarking Guide — Performance testing