MANDATORY: Before committing ANY code changes, run tox and verify ALL
environments pass. Never auto-commit if tox fails.
# Run full tox suite
tox
# Or run individual envs to iterate faster
tox -e py312 # tests
tox -e lint # ruff
tox -e type # mypy
tox -e duplication # pylint duplicate-codeIf any environment fails:
- Fix the issue
- Re-run the failing environment to confirm the fix
- Run the full
toxsuite once more - Only then commit
src/bids_utils/— library code (private modules prefixed with_)src/bids_utils/cli/— CLI commands (thin wrappers over library)tests/— pytest test suitetests/integration/— integration tests requiring bids-examples
pytestorchestrated bytoxwithtox-uvbids-examplesis a git submodule used for integration tests- AI-generated tests must be marked
@pytest.mark.ai_generated
bidsschematools— BIDS schema access (core dep)click— CLI framework (core dep)packaging— version comparison for migration (core dep)- All version specs live in
pyproject.toml(single source of truth)