How to contribute
We welcome contributions and questions!
You can help by:
Reporting/fixing bugs
Suggesting new features
Adding features to the codebase
Expanding the testing suite
Improving the documentation
Asking a question.
How to Report Issues and Ask Questions
We use GitLab as a repository, so the best way to submit issues and questions is through the issues system.
When reporting issues or posting questions, please include as many of the following details as possible:
Which version of Ketos you are using
The source code that generated the problem (if applicable)
Which platform you are using (operating system and version)
A minimum example that reproduces the issue
What result you got
What you were expecting
Please choose the label(s) that best describe your issue (‘Question’, ‘Bug’, etc)
Workflow for Merge Requests
In order make a contribution to the repository, please fork from the master
branch and make a clone of your fork on your local machine.
Make your changes locally. When you are done, commit them to your fork and create a merge request detailing what you did, as well as the reasons why.
Similarly, your commit messages should briefly detail the changes you have made, for example:
git commit example.py -m "added an example to the docstring of the Spectrogram::plot method"
If you are writing a new feature, please ensure you write appropriate test cases and place them under ketos/tests/
.
There are numerous fixtures you can use in conftest.py
and tes/assets contains files that can be used for tests. It is better to use what is already there before adding new fixtures and/or files.
If yours tests need to create temporary files, place them under “tests/assets/tmp”. This directory is cleaned by our continous integration setup after the tests are run.
Finally, please run all the tests and ensure that all the tests complete locally before submitting a merge request.
Thank you for your help!
Running the tests
Ketos includes a battery of tests. They are included in the /ketos/tests/ directory. We use pytest and doctests.
To run all tests go to the base of your directory
cd ketos-clone
ls
docker docs ketos ketos.egg-info LICENSE requirements.txt setup.py
and run:
pytest --doctest-modules
You can also specify a module:
pytest ketos/tests/audio/test_spectrogram.py