If you have not contributed to a project before, don't fret! GitHub has an awesome guide for helping support open-source projects. Basically the steps are:
PEP8 says spaces, so we are going to comply. Please set your IDE and/or editor to use spaces vice tab characters.
If you do add code to Katana, we require documentation. We use simple reStructuredText to produce some helpful ReadTheDocs pages. Please use Google Style Python Docstrings in your code, and generally things will look good!
Unit tests are implemented under the tests
directory. The unit tests are
organized exactly the same as the builtin units within Katana. There is a
KatanaTest
class which inherits from UnitTest within the tests
directory.
It provides a convenient function called katana_test
which makes it easy to
setup and run Katana for a unit test. Ideally, create your test data on the
fly, and don't rely on files on the file system. Where possible, dynamically
create the test files using Python's tempfile
. If you must use an external
file, submit it to one of the maintainers of the repository, and we can add it
to the Dropbox where we keep test cases.
Lastly, thank you. This project has been a labor of love, and too often we simply do not have the time to continue to maintain and add to the project. We are grateful for everything little thing you do, from correcting our accidentals typos to adding new units and functionality.