Please check the [documentation page dedicated to development](https://pypdf.readthedocs.io/en/stable/dev/intro.html).

## Creating issues / tickets

Please go here: https://github.com/py-pdf/pypdf/issues

Typically you should not send e-mails. E-mails might only reach one person and
it could go into spam or that person might be busy. Please create issues on
GitHub instead.

Please use the templates provided.

Keep in mind that although PDF has an official specification, there are tons of
variations which might require special handling. Thus, please always provide a
reproducing example file for us to work with. Otherwise, we have to guess possible
issues, leading to unnecessary overhead - especially since most of the contributions
happen during our free time.

If you already know a fix, consider opening a pull request after reporting the issue
to make life easier for everyone.

## Creating Pull Requests

We appreciate if people make PRs, but please be aware that pypdf is used by many
people. That means:

* We rarely make breaking changes and have a [deprecation process](https://pypdf.readthedocs.io/en/latest/dev/deprecations.html).
* New features, especially adding to the public interface, typically need to be
  discussed first.

Before you make bigger changes, open an issue to make the suggestion.
Note which interface changes you want to make.
