Contributing#
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. The following helps you to start contributing specifically to cookiecutter_pypackage. Please also consider the general contributing guidelines for example regarding the style of code and documentation and some helpful hints.
Types of Contributions#
Report Bugs or Suggest Features#
The best place for this is pyfar/cookiecutter-pypackage#issues.
Fix Bugs or Implement Features#
Look through pyfar/cookiecutter-pypackage#issues for bugs or feature request and contact us or comment if you are interested in implementing.
Write Documentation#
cookiecutter_pypackage could always use more documentation, whether as part of the official cookiecutter_pypackage docs, in docstrings, or even on the web in blog posts, articles, and such.
Get Started!#
Ready to contribute? Here’s how to set up cookiecutter_pypackage for local development using the command-line interface. Note that several alternative user interfaces exist, e.g., the Git GUI, GitHub Desktop, extensions in Visual Studio Code …
Fork the cookiecutter_pypackage repo on GitHub.
Clone your fork locally and cd into the cookiecutter_pypackage directory:
$ git clone https://github.com/YOUR_USERNAME/cookiecutter_pypackage.git $ cd cookiecutter_pypackage
Install your local copy into a virtualenv. Assuming you have Anaconda or Miniconda installed, this is how you set up your fork for local development:
$ conda create --name cookiecutter_pypackage python $ conda activate cookiecutter_pypackage $ pip install -e ".[dev]"
Create a branch for local development. Indicate the intention of your branch in its respective name (i.e. feature/branch-name or bugfix/branch-name):
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you’re done making changes, check that your changes pass ruff and the tests:
$ ruff check $ pytest
ruff must pass without any warnings for ./cookiecutter_pypackage and ./tests using the default or a stricter configuration. Ruff ignores a couple of PEP Errors (see ./pyproject.toml). If necessary, adjust your linting configuration in your IDE accordingly.
Commit your changes and push your branch to GitHub:
$ git add . $ git commit -m "Your detailed description of your changes." $ git push origin name-of-your-bugfix-or-feature
Submit a pull request on the develop branch through the GitHub website.