General contributions guidelines#
We always welcome contributions to Py-Feat and recommend you follow these basic steps to do. We highly recommend using Visual Studio Code as we include recommended editor extensions and settings in this repo. We use pytest
for testing and ruff
for linting and formatting:
Fork the repository on GitHub.
Install Feat on your machine, by
git clone
your forkInstall the development dependencies which will also install the package dependencies:
pip install -r requirements-dev.txt
Install Py-Feat in development mode so that any changes you make to source files are automatically reflected in scripts/notebooks:
pip install -e .
Add you code contributions and/or changes
Create or update the appropriate tests in
feat/tests/
.Run a single test to make sure your new functionality works:
pytest -k 'name_of_your_test'
Alternatively (or additionally) run the full Py-Feat test suite:
pytest
Add any applicable licenses to
LICENSE.txt
When your tests pass create a pull-request against the
master
/main
branch on github!
Tutorial contribution guidelines#
All Py-Feat tutorial are made using jupyter book. To add a new tutorial or page takes just 3 steps:
Add a jupyter notebook or markdown file to
docs/
Add an entry for your file to the table-of-contents in
docs/_toc.yml
Run
jupyter-book build docs
to render the documentation
You can check the build jupyter book by opening notebooks/_build/html/index.html
in your browser.
Note
Our documentation building pipeline does not execute jupyter notebooks. It just renders their input and output as pages. So make sure you locally execute cells that you want output for before committing your changes
For instructions on how to add new detectors see here