josepy
JOSE protocol implementation in Python
What it is and what it does
Josepy is a pure-Python implementation of the JOSE (JSON Object Signing and Encryption) standard, built on top of the cryptography library. It handles the serialization, signing, and encryption of JSON objects according to the JOSE specification, making it suitable for applications that need to authenticate or protect JSON-based messages in transit or at rest.
The package is actively maintained and widely used, with stable production status and support for Python 3.9 through 3.14. Its single runtime dependency on cryptography keeps the installation footprint small, and the permissive Apache-2.0 license makes it suitable for both open-source and proprietary projects.
Use it for:
- Sign and verify JSON Web Tokens for API authentication and authorization flows
- Encrypt and decrypt sensitive JSON payloads in microservice communication
- Implement ACME protocol clients that require JOSE message signing
- Protect JSON-based configuration or credential data with cryptographic integrity checks
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Implements the JOSE (JSON Object Signing and Encryption) protocol in Python, providing cryptographic signing and encryption for JSON-based message authentication and integrity.
Yes. Josepy is a stable, actively maintained implementation of a standard protocol with low install friction, no known vulnerabilities, and permissive licensing. Install it if you need JOSE functionality in Python.
Install
josepy on PyPI
pip
pip install josepyuv
uv add josepypoetry
poetry add josepyInstalling josepy
Before you install
Low friction install with a single runtime dependency on cryptography. Active maintenance with recent commits and stable production status across Python 3.9 through 3.14.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must retain license and copyright notices in distributions.
Quickstart
pip install josepy
from josepy import jws, jwk
# Create a JWK and sign a message
key = jwk.RSAKey(...)
message = jws.JWS.sign(b'payload', key=key)
Requires Python 3.9.2 or later; cryptography library must be installed and functional.
Verify before relying
- Whether the package supports all JOSE specification features or a subset of the standard
- Performance characteristics for large-scale signing and encryption workloads
- Specific algorithm support beyond what cryptography provides
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9.2) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — cryptography |
| Maintenance | actively maintained — 304 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,060,328/month — #3,332 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: josepy-2.2.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
python-joseImplements JOSE (JSON Object Signing and…
permissive · top 1,000 on PyPI
joseImplements JSON Web Signature (JWS) and JSON…
permissive · top 15,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
signedjsonSigns and verifies JSON objects using ED25519…
unclear · top 15,000 on PyPI
jwskateImplements the JOSE family of IETF standards…
permissive · top 5,000 on PyPI
pyjwkestImplements JWT, JWS, JWE, and JWK standards for…
permissive · top 15,000 on PyPI
pysetoPySETO implements PASETO (Platform-Agnostic…
permissive · top 15,000 on PyPI
types-python-joseProvides type hints for the python-jose…
permissive · top 5,000 on PyPI
pymacaroonsPyMacaroons implements macaroons—bearer…
permissive · top 5,000 on PyPI
pqcryptoProvides Python bindings to post-quantum…
permissive · top 15,000 on PyPI