python-jose
A JOSE implementation in Python
Docs are available on ReadTheDocs.
The JavaScript Object Signing and Encryption (JOSE) technologies - JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign content using a variety of algorithms. While the full set of permutations is extremely large, and might be daunting to some, it is expected that most applications will only use a small set of algorithms to meet their needs.
Installation
$ pip install python-jose[cryptography]
Cryptographic Backends
As of 3.3.0, python-jose implements three different cryptographic backends. The backend must be selected as an extra when installing python-jose. If you do not select a backend, the native-python backend will be installed.
Unless otherwise noted, all backends support all operations.
Due to complexities with setuptools, the native-python backend is always installed, even if you select a different backend on install. We recommend that you remove unnecessary dependencies in production.
cryptography
This backend uses pyca/cryptography for all cryptographic operations. This is the recommended backend and is selected over all other backends if any others are present.
Installation: pip install python-jose[cryptography]
Unused dependencies:
rsa
ecdsa
pyasn1
pycryptodome
This backend uses pycryptodome for all cryptographic operations.
Installation: pip install python-jose[pycryptodome]
Unused dependencies:
rsa
native-python
This backend uses python-rsa and python-ecdsa for all cryptographic operations. This backend is always installed but any other backend will take precedence if one is installed.
Installation: pip install python-jose
Usage
>>> from jose import jwt
>>> token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ2YWx1ZSJ9.FG-8UppwHaFp1LgRYQQeS6EDQF7_6-bMFegNucHjmWg'
>>> jwt.decode(token, 'secret', algorithms=['HS256'])
{u'key': u'value'}
Thanks
This library was originally based heavily on the work of the folks over at PyJWT.
Metadata
Release files for python-jose 3.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| python-jose-3.3.0.tar.gz | 129.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_jose-3.3.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 162.6 kB
Release files / python-jose-3.3.0.tar.gz
| Download URL | python-jose-3.3.0.tar.gz |
|---|---|
| Size | 129.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a
|
|
BLAKE2b-256 checksum How to use checksums |
e419b2c86504116dc5f0635d29f802da858404d77d930a25633d2e86a64a35b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.6
|
Release files / python_jose-3.3.0-py2.py3-none-any.whl
| Download URL | python_jose-3.3.0-py2.py3-none-any.whl |
|---|---|
| Size | 33.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a
|
|
BLAKE2b-256 checksum How to use checksums |
bd2de94b2f7bab6773c70efc70a61d66e312e1febccd9e0db6b9e0adf58cbad1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.6
|
Security for python-jose 3.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.