Contributing¶
Contributions are welcome — bug reports, fixes, docs, and features. Please also read the Code of Conduct. If you are choosing a first task, start with the First PR guide and the Project labels.
Development setup¶
git clone https://github.com/FreshCode-Org/freshdata
cd freshdata
pip install -e ".[dev,ml,polars]"
pre-commit install
Run the checks¶
pytest # full test suite (coverage gate ≥ 93%)
ruff check src tests # lint
ruff format --check src tests
mypy src/freshdata # type check
All four must pass; CI runs them on Python 3.9–3.13.
Build the docs locally¶
Updating golden snapshots¶
After an intentional engine change:
Pull requests¶
- Branch from
main. - Add tests for new behavior and keep coverage ≥ 93%.
- Ensure
pytest,ruff, andmypypass. - Update
CHANGELOG.mdunder theUnreleasedsection. - Open the PR using the template; describe the change and its rationale.
Reporting security issues¶
Do not open public issues for vulnerabilities — see SECURITY.md for private disclosure.