Skip to content
Docs for briefcase-ai v3.3.0see what’s new.

Development

Prerequisites

  • Rust 1.70+ (a recent stable toolchain; CI builds on stable)
  • Python 3.9+
  • maturin

Clone the Repository

Terminal window
git clone https://github.com/briefcasebrain/briefcase-ai-sdk.git
cd briefcase-ai-sdk

The repository is a Cargo workspace: the Rust core (crates/briefcase-core), the PyO3 bindings (bindings/python), and the Python package (briefcase/).

Install Development Dependencies

Terminal window
pip install briefcase-ai[dev]
pip install maturin

Build the Native Extension

maturin develop compiles the Rust core through the bindings and installs briefcase._native into the active environment:

Terminal window
maturin develop

Build the Rust Core Directly

Terminal window
cargo build -p briefcase-core --locked

Run the Test Suites

Terminal window
cargo test -p briefcase-core --locked # Rust core
pytest 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

  1. Create a branch from main.
  2. Make changes and add tests.
  3. Run the formatters and linters (see Code Standards).
  4. Run the test suites.
  5. Submit a pull request.