Contributing to TFiltersPyο
First off, thank you for considering contributing to TFilterPy! π Your contributions help us build better, faster, and more meaningful filtering tools for the world.
We welcome all kinds of contributions: - π§ Bug fixes - π Documentation improvements - β¨ New features or filters - π§ͺ Unit tests and validation - π‘ Suggestions and discussions
Getting Started
Fork the repository Go to https://github.com/ubunye-ai-ecosystems/tfilterspy and click βForkβ.
Clone your fork
git clone https://github.com/ubunye-ai-ecosystems/tfilterspy.git cd tfilterspy
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
Install dependencies
pip install -e .[dev]
This installs the library along with development tools like pytest, black, ruff, and sphinx.
Run the tests
pytest
Code Style
We follow [PEP8](https://peps.python.org/pep-0008/). Before submitting, please run:
black .
ruff . --fix
This ensures your code is formatted and linted properly.
Branching Strategy
main: Stable releases
dev: Active development
Feature branches: feature/your-awesome-thing
Bugfix branches: fix/some-bug-name
Writing Documentation
To build docs locally:
cd docs
make html
open _build/html/index.html
Notebooks for examples should be placed in: examples/notebooks/particle-filters-usecases.ipynb
Pull Requests
Push your changes and open a pull request to dev.
Add a descriptive title and explain your motivation.
Link related issues, if any.
All PRs will go through: - β CI testing - π§ͺ Code review - π Docs build check
Need Help?
Open an issue or join the discussion at https://github.com/ubunye-ai-ecosystems/tfilterspy/discussions
Weβre all here to learn and build together. β€οΈ
License
By contributing, you agree that your contributions will be licensed under the same license as this project (MIT, Apache 2.0, etc.).