Contributing

Contributions to the frequent package are welcome and credit will be given for any contributions via the AUTHORS file.

Requirements

There are a few things to note when making contributions:

  • This project uses numpy-style docstrings and all code must be thoroughly documented in order for it to be accepted. For more information on the docstring format see the numpydoc docstring guide and numpy docstring examples.

  • This project follows the PEP8 standards for code style and all new code must follow the same conventions. If contributing, please write clean, neat and organized code (or use something like black or autopep8). Remember, code is read far more than it is written, so please take the time to ensure your code is well written, well documented, and easy to read.

  • Please conduct yourself in a polite and respectful manner, in accordance with the project’s code of conduct. As a general rule-of-thumb: be nice and respectful.

  • Please ensure that any and all contributions made to the project are yours and belong to you. Do not violate any agreements or infringe upon the intellectual property of any other individual or organization that you may be bound to. If your code utilizes some code from another project make sure to give credit where it’s due (and/or as that project’s license may require).

  • This project is licensed under the MIT License (see this page for details), all contributions which are accepted and included in the project will be subject to that license’s terms. Make sure any code incorporated from other projects or under other licenses is compatible with this project’s license.

Process

First, fork the repository to create a copy to make your changes on. Once you’ve finished your contribution you will need to ensure that the project’s unit tests all pass and that the code passes lint checks and coverage tests. Once you’ve ensured the code passes all tests you can then submit a pull request on the project’s github repository.

For more detailed information on this process and on the tools already built into this project specifically for development see the development section.