Contributions are highly welcomed and appreciated. Every little help counts, so do not hesitate! If you like pyrandall, also share some love on Twitter or in your blog posts.
We'd love to hear about your propositions and suggestions. Feel free to submit them as issues and:
- Explain what behaviour you would expect.
- Keep the scope as narrow as possible. This will make it easier to implement.
Report bugs for pyrandall in the issue tracker.
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting, specifically the Python interpreter version, installed libraries, and pyrandall version.
- Detailed steps to reproduce the bug, or - even better, a n xfaling test reproduces the bug
If you can write a demonstration test that currently fails but should pass (xfail), that is a very useful commit to make as well, even if you cannot fix the bug itself
Look through the GitHub issues for bugs. Here is a filter you can use:
bug
Don't forget to check the issue trackers of your favourite plugins, too!
Look through the GitHub issues for enhancements. Here is a filter you can use: https://github.com/kpn/pyrandall/labels/feature:new
pyrandall could always use more documentation. What exactly is needed?
- More complementary documentation. Have you perhaps found something unclear?
- Docstrings. There can never be too many of them.
- Blog posts, articles and such -- they're all very appreciated.
You can also edit documentation files directly in the GitHub web interface, without using a local copy. This can be convenient for small fixes.
-
Make your changes.
-
open a pull request targeting the
master
branch. -
Follow PEP-8. There's a
tox
command to help fixing it:tox -e fix-lint
. You can also add a pre commit hook to your local clone to run the style checks and fixes (see hint after runningtox -e fix-lint
) -
Tests for pyrandall are run using
tox
:tox -e py36,fix-lint
NOTE:
Requests in the tests are originally made to
stubserver.py
and cached with VCR. Start the server in a virtualenv withpython stubserver.py
if you need to change / add test cases http requests. There are considerations to migrating topytest-httpserver
. Feedback or improvements are very welcomed 😉 -
Optionally check the docker build:
`docker build -t pyrandall:local .
smoke tests can be performed with
examples/pyrandall
For a more detailed version please read tox/CONTRIBUTING.rst.
Versioning
See semver. Find the package version in ./pyrandall/__init__.py
and docker/VERSION
for the container.
Please keep a changelog
Please an entry for each version change in CHANGELOG.md
. Follow the examples from https://keepachangelog.com/
Git Commits
First, use them often, they are free. Second; be descriptive.
An example:
The first line: short but sweet (max ~ 70 characters)
The second is intentionally left blank
More text can be added, format it how you want (max ~ 80 characters per line)
Don't use a full stop / period in your subject please
* Write in present tense
* motivate a change, why you changed X
Reference material
Commits should represent a savepoint of working code. Please do not write if this code works or not...
- We are thankful to you for spending your time on this project in any form.
- And a big thank you to the python community:
pytest
for being an inspiration. Maybe pyrandall will ever become just a pytest plugin. - tox project for writing a comprehensive CONTRIBUTING file!