Development
Prerequisites
- Rust 1.70+ (a recent stable toolchain; CI builds on
stable) - Python 3.9+
- maturin
Clone the Repository
git clone https://github.com/briefcasebrain/briefcase-ai-sdk.gitcd briefcase-ai-sdkThe repository is a Cargo workspace: the Rust core (crates/briefcase-core), the PyO3 bindings (bindings/python), and the Python package (briefcase/).
Install Development Dependencies
pip install briefcase-ai[dev]pip install maturinBuild the Native Extension
maturin develop compiles the Rust core through the bindings and installs briefcase._native into the active environment:
maturin developBuild the Rust Core Directly
cargo build -p briefcase-core --lockedRun the Test Suites
cargo test -p briefcase-core --locked # Rust corepytest tests/ # Python facade (mocks the extension)pytest bindings/python/tests/ # native binding tests (real extension)See Testing for details on the facade vs. native split.
Development Workflow
- Create a branch from
main. - Make changes and add tests.
- Run the formatters and linters (see Code Standards).
- Run the test suites.
- Submit a pull request.