mirror of
https://github.com/shouptech/humulus.git
synced 2026-02-03 23:09:41 +00:00
70 lines
2.1 KiB
ReStructuredText
70 lines
2.1 KiB
ReStructuredText
Contributing
|
|
============
|
|
|
|
Humulus has been a personal project of mine, and I hope others will find it
|
|
useful. As a user and fan of open source, I welcome all contributions!
|
|
|
|
This guide is intended to help you contribute to this project with minimal
|
|
fuss. Please always feel free to open an issue to ask questions!
|
|
|
|
Issues
|
|
------
|
|
|
|
Do not hesitate to open issues if you have questions on how to use Humulus, or
|
|
if you think you've found a bug. Please provide any information that you may
|
|
find relevant.
|
|
|
|
Pull Requests
|
|
-------------
|
|
|
|
I welcome all pull requests!
|
|
|
|
For all pull requests, I ask the following:
|
|
|
|
1. Your pull request should address an open issue. If you'd like to contribute
|
|
an enhancement, please open an issue first, describing what you'd like to
|
|
accomplish.
|
|
2. Your code should pass all tests.
|
|
3. Your code should not decrease coverage of the tests.
|
|
4. Your code must have been passed through Black_. The ``pyproject.yml`` file
|
|
is configured to limit line lengths to 79 characters.
|
|
5. Your code must pass the Flake8_ checks and your documentation must pass the
|
|
doc8_ checks.
|
|
6. Your code should work with Python 3.6 and newer.
|
|
7. You agree to license your contribution under the `Apache 2.0 License`_. You
|
|
retain your copyright. Add a copyright notice to the top of the file.
|
|
|
|
.. _Black: https://black.readthedocs.io/en/stable/
|
|
.. _Flake8: http://flake8.pycqa.org/en/latest/
|
|
.. _doc8: https://github.com/PyCQA/doc8
|
|
.. _`Apache 2.0 License`: https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
Build environment
|
|
-----------------
|
|
|
|
All requirements for developing this project are in the
|
|
``requirements-dev.txt`` file. Also, use `pre-commit`_ to help ensure your code
|
|
will pass the linting process.
|
|
|
|
::
|
|
|
|
pip install -r requirements-dev.txt
|
|
pre-commit install
|
|
|
|
.. _`pre-commit`: https://pre-commit.com/
|
|
|
|
Coverage tests
|
|
--------------
|
|
|
|
Run your code through coverage tests and make sure it passes. Humulus uses
|
|
pytest_ and Coverage.py_ to run tests. If you're contributing new code, please
|
|
add your own tests.
|
|
|
|
::
|
|
|
|
coverage run -m pytest
|
|
coverage report -m
|
|
|
|
.. _pytest: https://pytest.org/en/latest/
|
|
.. _Coverage.py: https://coverage.readthedocs.io/en/v4.5.x/
|