git clone https://github.com/RyanJHamby/flowstate.git && cd flowstate
# Python
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Rust core (requires Rust toolchain + maturin)
cd flowstate-core && maturin develop --release && cd ..# Python (636 tests)
python -m pytest tests/ -v
# Python with coverage
python -m pytest tests/ -v --cov=flowstate --cov-report=term-missing
# Rust (132 tests)
cd flowstate-core && cargo test --no-default-features
# Rust benchmarks
cargo bench --no-default-features
# Full-stack Python benchmarks
python benchmarks/bench_full_suite.py# Python linting
ruff check src/ tests/
# Python formatting
ruff format src/ tests/
# Python type checking
mypy src/flowstate/ --ignore-missing-imports
# Rust formatting
cd flowstate-core && cargo fmt -- --check
# Rust linting
cargo clippy --no-default-features -- -D warnings- Create your branch from
main. - Add tests for any new functionality.
- Ensure all tests pass and code quality checks are clean.
- Update documentation if you are changing public APIs.
- Submit your pull request with a clear description of the changes.
We follow Conventional Commits:
feat:— new featurefix:— bug fixdocs:— documentation onlytest:— adding or updating testsrefactor:— code change that neither fixes a bug nor adds a featureperf:— performance improvementchore:— build, CI, or tooling changes
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.