From 08a02298bdfd6e8203df7c8620a651be7d03a89f Mon Sep 17 00:00:00 2001 From: Bartek Sokorski Date: Mon, 21 Sep 2020 20:37:51 +0200 Subject: [PATCH] Add CONTRIBUTING.md --- CONTRIBUTING.md | 115 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..cd945af --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,115 @@ +# Contributing + +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 + +### Report Bugs + +Report bugs at https://github.com/pydanny/cached-property/issues. + +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. +* Detailed steps to reproduce the bug. + +### Fix Bugs + +Look through the GitHub issues for bugs. Anything tagged with "bug" +is open to whoever wants to implement it. + +### Implement features + +Look through the GitHub issues for features. Anything tagged with "feature" +is open to whoever wants to implement it. + +### Write Documentation + +cached-property could always use more documentation, whether as part of the +official cached-property docs, in docstrings, or even on the web in blog posts, +articles, and such. + +### Submit Feedback + +The best way to send feedback is to file an issue at https://github.com/pydanny/cached-property/issues. + +If you are proposing a feature: + +* Explain in detail how it would work. +* Keep the scope as narrow as possible, to make it easier to implement. +* Remember that this is a volunteer-driven project, and that contributions are welcome :) + +## Get started! + +Ready to contribute? Here's how to set up `cached-property` for local development. + +1. Fork the `cached-property` repo on GitHub. +2. Clone your fork locally:: + + ```bash + $ git clone git@github.com:your_name_here/cached-property.git + ``` + +3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development: + + ```bash + $ mkvirtualenv cached-property + $ cd cached-property/ + $ python setup.py develop + ``` + +4. Create a branch for local development: + + ```bash + $ git checkout -b name-of-your-bugfix-or-feature + ``` + + Now you can make your changes locally. + +5. Clean up the formatting (must be running at least Python 3.6): + + ```bash + $ pip install -U black + $ black . + ``` + +6. When you're done making changes, check that your changes pass the tests, including testing other Python versions with tox: + + ```bash + $ pytest tests/ + $ tox + ``` + + To get tox, just pip install it into your virtualenv. + +7. Commit your changes and push your branch to GitHub:: + + ```bash + $ git add . + $ git commit -m "Your detailed description of your changes." + $ git push origin name-of-your-bugfix-or-feature + ``` + +8. Submit a pull request through the GitHub website. + +## Pull Request Guidelines + +Before you submit a pull request, check that it meets these guidelines: + +1. The pull request should include tests. +2. If the pull request adds functionality, the docs should be updated. Put + your new functionality into a function with a docstring, and add the + feature to the list in README.rst. +3. The pull request should work for Python 2.7, and 3.3, 3.4, 3.5, 3.6 and for PyPy. Check https://travis-ci.org/pydanny/cached-property/pull_requests and make sure that the tests pass for all supported Python versions. + +## Tips + +To run a subset of tests: + +```bash +$ python -m unittest tests.test_cached-property +``` -- 2.30.2