Welcome to scikit-bayes! We appreciate your interest in contributing to this project. We aim to build a robust, scalable library for Bayesian classifiers within the Python ecosystem.
-
Bug Reports & Feature Requests: Use the GitHub issue tracker to report bugs or suggest new features. Please include minimal reproducible examples for bugs.
-
Pull Requests:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/my-new-feature). - Implement your changes.
- Ensure all tests pass. We strictly adhere to the
scikit-learnestimator API. - Run the linting and formatting tools.
- Submit a pull request.
We use pixi for environment management, but you can also use conda or standard Python virtual environments.
git clone https://github.com/ptorrijos99/scikit-bayes.git
cd scikit-bayes
pixi installWe use pytest for unit testing. Our goal is to maintain >95% test coverage.
# Run tests
pixi run test
# Alternatively, using native pytest
pytest skbn/We strictly follow black for formatting and ruff for linting.
pixi run lintIf you are adding a new estimator:
- It must inherit from
sklearn.base.BaseEstimator. - It must pass
sklearn.utils.estimator_checks.check_estimator. - It must have comprehensive docstrings in numpy style.
- It must not mutate
selfstate insidepredictorpredict_probamethods.
Thank you for helping us improve scikit-bayes!