When contributing to this repository, please first discuss the change you wish to make via issue with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
At the moment, these kind of contributions are more appreciated and should be preferred:
- Fix for issues described in Known Issues
- New cool features. Please propose your features in an issue first.
- Code optimizations: any optimization to the code is welcome
For any other kind of contribution, especially for new features, please submit an issue first.
- Write your code.
- Write a properly documentation compliant with reStructuredText.
- Write tests for your code. Code coverage for your code must be at least at 90%. See Tests Units to know more!
- Report changes to the issue you opened.
- Update the README.md and other docs with details of changes to the interface, this includes new line in the changelog, new modules if added, new command line options if added, etc.
- Request maintainers to merge your changes.
Want to know more about how ATtila works?
Check out the Developers guide
ATtila is provided with tests units, which can be found under tests/ directory. To launch test unit just type:
nosetests -v --with-coverage --cover-tests --cover-package=attila --nocapture tests/
Don't you have nose?
sudo -H pip3 install nose coverage unittest2 codecov
This is the current configuration for linting and format:
for code format, we use Black
pip3 install black
with the default configuration.
For linting we use flake8
pip3 install flake8
and has to be run with:
flake8 attila/
Thank you for any contribution! 🧡
Christian Visintin