Contributing to Taika¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Types of Contributions¶
Fix Bugs¶
Look through the issue board for issues tagged as “type: bug”.
Implement Features¶
Look through the issue board for issues tagged as “type: feature-request”or “type: enhancement”.
Write Documentation¶
Documentation is always welcome, whether as part of the official Taika docs, in docstrings, or even on the web in blog posts, articles, and such. Don’t be shy and contribute :-D
Submit Feedback¶
The best way to send feedback is to file an issue at issue board. Select the template that fits your needs and submit it!
Get Started!¶
Ready to contribute? Here’s how to set up taika for local development.
Fork the taika repo on GitLab.
Clone your fork locally:
$ git clone git@gitlab.com:your_name_here/taika.git
Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:
$ mkvirtualenv taika -p python3.6 $ cd taika/ $ python setup.py develop $ pip install -r requirements.txt $ pre-commit install
Create a branch for local development:
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you’re done making changes, run tox:
$ tox
Commit your changes and push your branch to GitLab:
$ git add . $ git commit $ git push origin name-of-your-bugfix-or-feature
Submit a merge request through the GitLab website.
Merge Request Guidelines¶
Before you submit a merge request, check that it meets these guidelines:
- Tests musts be included.
- Documentation (docstrings or pages) must be included.
- Python 3.6 should be supported.
- The code should be isort’ed and flake8’ed. Optionally pylint’ed.
After you submit a merge request, check regularly the merge request, as Continuous Integration is run for each of your commits and should pass in order to merge the request.
Tips and tricks with pytest¶
Run all the test environments.
$ tox
To run only one environment:
$ tox -e <testenv>
To run a test module:
$ pytest tests/test_module
To run a test function inside a module:
$ pytest tests/test_module.py::test_function