The preferred way to contribute to spafe is to fork the main repository on GitHub:
-
Fork the project repository: click on the 'Fork' button near the top of the page. This creates a copy of the code under your account on the GitHub server.
-
Clone this copy to your local disk:
- Using SSH:
git clone git@github.com:YourLogin/spafe.git cd spafe
- Using HTTPS:
git clone https://github.com/YourLogin/spafe.git cd spafe
-
Remove any previously installed spafe versions, then install your local copy with testing dependencies:
pip uninstall spafe pip install .
-
Create a branch to hold your changes:
git checkout -b my-feature
-
Start making changes.
-> Please never work directly on the `master` branch!
-
Once you are done, make sure to format the code using black to fit spafe's codestyle.
black spafe/
-
Make sure that the tests succeed and have enough coverage.
pytest -x --cov-report term-missing --cov=spafe spafe/tests/test_*.py
-
Use Git for the to do the version controlling of this copy. When you're done editing, you know the drill
add
,commit
thenpush
:git add modified_files git commit
to record your changes in Git, push them to GitHub with:
git push -u origin my-feature
-
Finally, go to the web page of the your spafe fork repo, and click 'Pull request' button to send your changes to the maintainers to review.
It is recommended to check that your contribution complies with the following rules before submitting a pull request:
-
All public methods should have informative docstrings with sample usage presented.
You can also check for common programming errors with the following tools:
-
Code with good test coverage (at least 80%), check with:
pytest
-
Check code formatting using black:
black --check spafe ```
we use Github issues to track all bugs and feature requests. In the case of coming across a bug, having a question or a feature suggestion etc. please feel free to open an issue. However, please make sure that your issue comply with our rules/follows the provided templates:
-
In addition, please check that your issue complies with the following rules before submitting:
-
Verify that your issue is not being currently addressed by other inissues or pull requests.
-
Please ensure all code snippets and error messages are formatted appropriately. See Creating and highlighting code blocks.
-
Please include your operating system type and version number, as well as your Python, spafe, numpy, and scipy versions. This information can be found by running the following code snippet:
import sys import numpy import scipy import spafe import platform print(platform.platform()) print("Python", sys.version) print("NumPy", numpy.__version__) print("SciPy", scipy.__version__) print("spafe", spafe.__version__)
You can edit the documentation using any text editor and then generate the HTML output by typing make html
from the docs/ directory. The resulting HTML files will be placed in _build/html/
and are viewable in a web browser. See the README file in the doc/ directory for more information.
To build the documentation, you will need:
This document was based on the scikit-learn & librosa contribution guides.