Description
  ``pyhanko`` is a library for working with signatures in PDF documents. **Note:** pyHanko's CLI is no longer bundled together with the library. This functionality is now distributed separately as ``pyhanko-cli``. ### Documentation The [documentation for pyHanko is hosted on ReadTheDocs](https://docs.pyhanko.eu/en/latest/) and includes information on CLI usage, library usage, and API reference documentation derived from inline docstrings. ### Installing PyHanko is hosted on [PyPI](https://pypi.org/project/pyHanko/), and can be installed using `pip`: ```bash pip install 'pyHanko[pkcs11,image-support,opentype,qr]' ``` Depending on your shell, you might have to leave off the quotes: ```bash pip install pyHanko[pkcs11,image-support,opentype,qr] ``` This `pip` invocation includes the optional dependencies required for PKCS#11, image handling, OpenType/TrueType support and QR code generation. PyHanko requires Python 3.10 or later.
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.34.1 | Imported from PyPI (0.34.1) | Low | 4/21/2026 |
| pyhanko-certvalidator/v0.30.2 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.30.2). ## Change log The release notes for the 0.30.2 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#certvalidator-release-0.30.2) | Medium | 3/27/2026 |
| pyhanko-cli/v0.3.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.3.1). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/). ## Change log The release notes for the 0.3.1 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#cli-release-0.3.1) | Low | 3/8/2026 |
| pyhanko-certvalidator/v0.30.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.30.1). ## Change log The release notes for the 0.30.1 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#certvalidator-release-0.30.1) | Low | 3/8/2026 |
| v0.34.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.34.1). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/en/v0.34.1/). ## Change log The release notes for the 0.34.1 release are available [on the Release History page](https://docs.pyhanko.eu/en/v0.34.1/changelog.html#release-0.34.1) | Low | 3/8/2026 |
| pyhanko-cli/v0.3.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.3.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/). ## Change log The release notes for the 0.3.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#cli-release-0.3.0) | Low | 3/5/2026 |
| v0.34.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.34.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/en/v0.34.0/). ## Change log The release notes for the 0.34.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/v0.34.0/changelog.html#release-0.34.0) | Low | 3/5/2026 |
| pyhanko-certvalidator/v0.30.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.30.0). ## Change log The release notes for the 0.30.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#certvalidator-release-0.30.0) | Low | 3/5/2026 |
| v0.33.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.33.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/en/v0.33.0/). ## Change log The release notes for the 0.33.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/v0.33.0/changelog.html#release-0.33.0) | Low | 2/8/2026 |
| pyhanko-certvalidator/v0.29.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.29.1). ## Change log The release notes for the 0.29.1 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#certvalidator-release-0.29.1) | Low | 2/8/2026 |
| pyhanko-cli/v0.2.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.2.1). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/). ## Change log The release notes for the 0.2.1 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#cli-release-0.2.1) | Low | 11/22/2025 |
| v0.32.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.32.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/en/v0.32.0/). ## Change log The release notes for the 0.32.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/v0.32.0/changelog.html#release-0.32.0) | Low | 11/22/2025 |
| pyhanko-cli/v0.2.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.2.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/). ## Change log The release notes for the 0.2.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#cli-release-0.2.0) | Low | 9/12/2025 |
| v0.31.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.31.0). Documentation is available on [ReadTheDocs](https://docs.pyhanko.eu/en/v0.31.0/). ## Change log The release notes for the 0.31.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/v0.31.0/changelog.html#release-0.31.0) | Low | 9/12/2025 |
| pyhanko-certvalidator/v0.29.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.29.0). ## Change log The release notes for the 0.29.0 release are available [on the Release History page](https://docs.pyhanko.eu/en/latest/changelog.html#certvalidator-release-0.29.0) | Low | 9/12/2025 |
| v0.30.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.30.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.30.0/). ## Change log The release notes for the 0.30.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.30.0/changelog.html#release-0.30.0) | Low | 8/23/2025 |
| pyhanko-certvalidator/v0.28.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.28.0). ## Change log The release notes for the 0.28.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/latest/changelog.html#certvalidator-release-0.28.0) | Low | 8/23/2025 |
| pyhanko-cli/v0.1.2 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.1.2). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/). ## Change log The release notes for the 0.1.2 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/latest/changelog.html#cli-release-0.1.2) | Low | 6/20/2025 |
| v0.29.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.29.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.29.1/). ## Change log The release notes for the 0.29.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.29.1/changelog.html#release-0.29.1) | Low | 6/20/2025 |
| pyhanko-cli/v0.1.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.1.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/). ## Change log The release notes for the 0.1.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/latest/changelog.html#cli-release-0.1.1) | Low | 5/29/2025 |
| pyhanko-cli/v0.1.0 | **Note:** As indicated in the release notes, the CLI was split off from the core library into a separate PyPI artifact. The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-cli/0.1.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/). ## Change log The release notes for the 0.1.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/latest/changelog.html#cli-release-0.1.0) | Low | 5/27/2025 |
| v0.29.0 | **Note:** As indicated in the release notes, the CLI was split off from the core library into a separate PyPI artifact. This release also comes with several other significant dependency changes. The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.29.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.29.0/). ## Change log The release notes for the 0.29.0 release are available [on the Release History page](https://pyhank | Low | 5/27/2025 |
| v0.28.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.28.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.28.0/). ## Change log The release notes for the 0.28.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.28.0/changelog.html#release-0.28.0) | Low | 5/24/2025 |
| pyhanko-certvalidator/v0.27.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyhanko-certvalidator/0.27.0). ## Change log The release notes for the 0.27.0 release have been included in the [changelog file](https://github.com/MatthiasValvekens/pyhanko/blob/master/pkgs/pyhanko-certvalidator/changelog.md) | Low | 5/24/2025 |
| v0.27.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.27.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.27.1/). ## Change log The release notes for the 0.27.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.27.1/changelog.html#release-0.27.1) | Low | 5/14/2025 |
| v0.27.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.27.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.27.0/). ## Change log The release notes for the 0.27.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.27.0/changelog.html#release-0.27.0) | Low | 5/12/2025 |
| v0.26.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.26.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.26.0/). ## Change log The release notes for the 0.26.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.26.0/changelog.html#release-0.26.0) | Low | 3/8/2025 |
| v0.25.3 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.25.3). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.25.3/). ## Change log The release notes for the 0.25.3 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.25.3/changelog.html#release-0.25.3) | Low | 11/17/2024 |
| v0.25.2 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.25.2). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.25.2/). ## Change log The release notes for the 0.25.2 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.25.2/changelog.html#release-0.25.2) | Low | 11/11/2024 |
| v0.25.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.25.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.25.1/). ## Change log The release notes for the 0.25.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.25.1/changelog.html#release-0.25.1) | Low | 7/18/2024 |
| v0.25.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.25.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.25.0/). ## Change log The release notes for the 0.25.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.25.0/changelog.html#release-0.25.0) | Low | 5/6/2024 |
| v0.24.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.24.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.24.0/). ## Change log The release notes for the 0.24.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.24.0/changelog.html#release-0.24.0) | Low | 4/27/2024 |
| v0.23.2 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.23.2). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.23.2/). ## Change log The release notes for the 0.23.2 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.23.2/changelog.html#release-0.23.2) | Low | 3/25/2024 |
| v0.23.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.23.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.23.1/). ## Change log The release notes for the 0.23.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.23.1/changelog.html#release-0.23.1) | Low | 3/14/2024 |
| v0.23.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.23.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.23.0/). ## Change log The release notes for the 0.23.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.23.0/changelog.html#release-0.23.0) | Low | 3/10/2024 |
| v0.22.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.22.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.22.0/). ## Change log The release notes for the 0.22.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.22.0/changelog.html#release-0.22.0) | Low | 3/7/2024 |
| v0.21.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.21.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.21.0/). ## Change log The release notes for the 0.21.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.21.0/changelog.html#release-0.21.0) | Low | 11/26/2023 |
| v0.20.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.20.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.20.1/). ## Change log The release notes for the 0.20.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.20.1/changelog.html#release-0.20.1) | Low | 9/17/2023 |
| v0.20.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.20.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.20.0/). ## Change log The release notes for the 0.20.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.20.0/changelog.html#release-0.20.0) | Low | 7/28/2023 |
| v0.19.0 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.19.0). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.19.0/). ## Change log The release notes for the 0.19.0 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.19.0/changelog.html#release-0.19.0) | Low | 6/18/2023 |
| v0.18.1 | The release artifacts have been published to [PyPI](https://pypi.org/project/pyHanko/0.18.1). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/v0.18.1/). ## Change log The release notes for the 0.18.1 release are available [on the Release History page](https://pyhanko.readthedocs.io/en/v0.18.1/changelog.html#release-0.18.1) | Low | 4/29/2023 |
| v0.18.0 | The release will be published to [PyPI](https://pypi.org/project/pyHanko/0.18.0/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.18.0/). *Important remark*: This is the first pyHanko release to make use of GitHub Actions to publish and sign release artifacts. The CI signing workflow uses [Sigstore](https://www.sigstore.dev/) to bind the published artifacts to pyHanko's "GitHub identity", as it were. For the time being, releases will continue to be manually si | Low | 4/26/2023 |
| 0.17.2 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.17.2/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.17.2/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.17.2 release are available [here](https | Low | 3/9/2023 |
| 0.17.1 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.17.1/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.17.1/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.17.1 release are available [here](https | Low | 3/9/2023 |
| 0.17.0 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.16.0/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.17.0/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.17.0 release are available [here](https | Low | 1/31/2023 |
| 0.16.0 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.16.0/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.16.0/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.16.0 release are available [here](https | Low | 12/21/2022 |
| 0.15.1 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.15.1/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.15.1/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.15.1 release are available [here](https | Low | 10/27/2022 |
| 0.15.0 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.15.0/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.15.0/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.15.0 release are available [here](https | Low | 10/11/2022 |
| 0.14.0 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.14.0/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.14.0/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.14.0 release are available [here](https | Low | 9/17/2022 |
| 0.13.2 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.13.2/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.13.2/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.13.2 release are available [here](https | Low | 7/2/2022 |
| 0.13.1 | The release has been uploaded to [PyPI](https://pypi.org/project/pyHanko/0.13.1/). Documentation is available on [ReadTheDocs](https://pyhanko.readthedocs.io/en/0.13.1/). *Note:* The public API is not completely stable yet, so future releases may still include API changes. This is particularly likely for the validation code and the `pdf_utils` package; please refer to the documentation for further details. ## Change log The release notes for the 0.13.1 release are available [here](https | Low | 5/1/2022 |
