Contributing
We love your input! We want to make contributing to SynCCFD as easy and transparent as possible, whether it’s:
Reporting a bug
Discussing the current state of the code
Submitting a fix
Proposing new features
Becoming a maintainer
Development Process
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
Fork the repo and create your branch from
main.If you’ve added code that should be tested, add tests.
If you’ve changed APIs, update the documentation.
Ensure the test suite passes.
Make sure your code lints.
Issue that pull request!
Development Environment
Clone your fork and install development dependencies:
git clone https://github.com/your-username/synccfd.git cd synccfd pip install -e .[dev]
Install pre-commit hooks:
pre-commit install
Run tests to verify your setup:
pytest
Code Style
We use several tools to ensure consistent code style:
blackfor code formattingflake8for code style and quality checksmypyfor static type checkingisortfor import sorting
You can run all style checks with:
black .
flake8 .
mypy .
isort .
Testing
We use pytest for testing. To run tests:
pytest
For coverage report:
pytest --cov=synccfd --cov-report=html
Documentation
To build documentation locally:
cd docs
make html
The built documentation will be in docs/_build/html.