Skip to main content

python-jose

A JOSE implementation in Python

Build Status Coverage Status Docs

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.1.0, python-jose implements four 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.

  1. 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

  2. pycryptodome

    • This backend uses pycryptodome for all cryptographic operations.

    • Installation: pip install python-jose[pycryptodome]

    • Unused dependencies:

      • rsa

  3. 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

  4. pycrypto

    • This backend uses pycrypto for all cryptographic operations.

    • Installation: pip install python-jose[pycrypto]

    • Unused dependencies:

      • rsa

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.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-jose 3.1.0
File Size Uploaded
python-jose-3.1.0.tar.gz 252.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-jose 3.1.0
File Interpreter ABI Platform
python_jose-3.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 279.6 kB

Release files / python-jose-3.1.0.tar.gz

Download URL python-jose-3.1.0.tar.gz
Size 252.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8484b7fdb6962e9d242cce7680469ecf92bda95d10bbcbbeb560cacdff3abfce
BLAKE2b-256 checksum
How to use checksums
2e0e29e1f5bba4e719eb09efc2b76ea46439aa2dabffa5bcd7d3fccae816d128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.4

Release files / python_jose-3.1.0-py2.py3-none-any.whl

Download URL python_jose-3.1.0-py2.py3-none-any.whl
Size 26.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
1ac4caf4bfebd5a70cf5bd82702ed850db69b0b6e1d0ae7368e5f99ac01c9571
BLAKE2b-256 checksum
How to use checksums
6c805bdf2543fe002dc74429e9360148deb4d9e0b453acdc2b5c6fb1617f4f9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/2.7.15

Release history Release notifications | RSS feed

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

This release

3.1.0 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.7.0

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.5.6

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page