pyOpenSSL
Python wrapper module around the OpenSSL library
Install
pyopenssl on PyPI
pip
pip install pyopenssluv
uv add pyopensslpoetry
poetry add pyopensslPackage facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — cryptography, typing-extensions |
| Maintenance | actively maintained — 12 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: pyopenssl-26.4.0-py3-none-any.whl
About pyOpenSSL
from the package's own PyPI description — quoted content, verbatim
======================================================== pyOpenSSL -- A Python wrapper around the OpenSSL library ========================================================
.. image:: https://readthedocs.org/projects/pyopenssl/badge/?version=stable :target: https://pyopenssl.org/en/stable/ :alt: Stable Docs
.. image:: https://github.com/pyca/pyopenssl/workflows/CI/badge.svg?branch=main :target: https://github.com/pyca/pyopenssl/actions?query=workflow%3ACI+branch%3Amain
Note: The Python Cryptographic Authority strongly suggests the use of pyca/cryptography_
where possible. If you are using pyOpenSSL for anything other than making a TLS connection
you should move to cryptography and drop your pyOpenSSL dependency.
High-level wrapper around a subset of the OpenSSL library. Includes
SSL.Connectionobjects, wrapping the methods of Python's portable sockets- Callbacks written in Python
- Extensive error-handling mechanism, mirroring OpenSSL's error codes
... and much more.
You can find more information in the documentation_. Development takes place on GitHub_.
Discussion
If you run into bugs, you can file them in our `issue...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling. The maintainers recommend using cryptography directly for non-TLS use cases.
Low friction: pure Python wheel with just two runtime dependencies (cryptography and typing-extensions). Actively maintained with release 12 days ago and 944 GitHub stars.
Apache License 2.0 (permissive) allows commercial and private use with minimal restrictions, making it suitable for most projects.
Usage
pip install pyopenssl
import pyopenssl
# Provides SSL.Connection objects wrapping socket methods and certificate handling
Requires Python 3.9+; cryptography dependency must be version 49.0.0 to 50.x per version 26.4.0.
Verdict: Mature, actively maintained SSL/TLS wrapper with low install friction and no known vulnerabilities. However, the maintainers explicitly recommend migrating to cryptography for non-TLS use cases, so evaluate whether this package is the right fit for your specific needs before adopting it.
Needs verification
- Whether the cryptography version constraint (49.0.0–50.x) aligns with your other dependencies.
- Whether you need TLS-specific functionality or if cryptography alone would suffice for your use case.
- Performance characteristics and overhead compared to direct cryptography usage.
Similar packages
permissive · top 1,000 on PyPI
cryptographypermissive · top 100 on PyPI
google-authpermissive · top 100 on PyPI
certificopyleft · top 100 on PyPI
asn1cryptopermissive · top 1,000 on PyPI
llama-index-indices-managed-llama-cloudpermissive · top 1,000 on PyPI
python-josepermissive · top 1,000 on PyPI
bcryptpermissive · top 1,000 on PyPI
matplotlibpermissive · top 1,000 on PyPI
trove-classifierspermissive · top 100 on PyPI