Contributing¶
SlideFlow expects contribution changes to be tested and documented in the same PR.
Local setup¶
Required local gates¶
uv lock --check
uv pip check
uvx --from black==26.3.1 black --check slideflow tests scripts
python -m ruff check slideflow tests scripts
python -m mypy slideflow
python -m pytest -q
CI runs this baseline across Python 3.12 and 3.13.
Optional marker suites:
Docs validation:
PR checklist¶
- Add regression tests for bug fixes.
- Update docs for behavior/interface changes.
- Keep compatibility for existing users unless a breaking change is explicitly planned.
- Update
CHANGELOG.mdfor user-visible changes.
Dependency constraints policy¶
- Keep runtime dependency constraints bounded (
min+max major/minor) inpyproject.toml. - Keep dbt adapter compatibility aligned with the supported
dbt-coretrain. - Add explicit minimum versions for security-sensitive packages when needed.
uv.lockis tracked and must stay current.- When changing constraints, run
uv lockand commit updateduv.lockin the same PR.
Additional references¶
- Root contributing guide:
CONTRIBUTING.md - Testing details: Testing
- Compatibility rules: Compatibility Policy
- Release steps: Release Process