Contributing to python-caterva#

python-caterva is a community maintained project. We want to make contributing to this project as easy and transparent as possible.

Asking for help#

If you have a question about how to use python-caterva, please post your question on StackOverflow using the “caterva” tag.

Bug reports#

We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue. The ideal report should contain the following:

1. Summarize the problem: Include details about your goal, describe expected and actual results and include any error messages.

2. Describe what you’ve tried: Show what you’ve tried, tell us what you found and why it didn’t meet your needs.

3. Minimum reproducible example: Share the minimum amount of code needed to reproduce your issue. You can format the code nicely using markdown:

```python
import caterva as cat

...
```

4. Determine the environment: Indicates the python-caterva version and the operating system the code is running on.

Contributing to code#

We actively welcome your code contributions. By contributing to python-caterva, you agree that your contributions will be licensed under the LICENSE file of the project.

Fork the repo#

Make a fork of the python-caterva repository and clone it:

git clone https://github.com/<your-github-username>/python-caterva

Create your branch#

Before you do any new work or submit a pull request, please open an issue on GitHub to report the bug or propose the feature you’d like to add.

Then create a new, separate branch for each piece of work you want to do.

Update docstrings#

If you’ve changed APIs, update the involved docstrings using the doxygen format.

Run the test suite#

If you have added code that needs to be tested, add the necessary tests and verify that all tests pass successfully.