gituser/docker_multiarch_dev/: python-jose-3.4.0 metadata and description

Homepage Simple index

JOSE implementation in Python

author Michael Davis
author_email mike.philip.davis@gmail.com
classifiers
  • Development Status :: 5 - Production/Stable
  • Intended Audience :: Developers
  • Natural Language :: English
  • License :: OSI Approved :: MIT License
  • Programming Language :: Python
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3 :: Only
  • Programming Language :: Python :: 3.7
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: Implementation :: PyPy
  • Topic :: Utilities
keywords jose jws jwe jwt json web token security signing
license MIT
project_urls
  • Documentation, https://python-jose.readthedocs.io/en/latest/
  • Source, https://github.com/mpdavis/python-jose/
  • Tracker, https://github.com/mpdavis/python-jose/issues/
  • Changelog, https://github.com/mpdavis/python-jose/blob/master/CHANGELOG.md
provides_extras test
requires_dist
  • ecdsa!=0.15
  • rsa!=4.1.1,!=4.4,<5.0,>=4.0
  • pyasn1<0.5.0,>=0.4.1
  • cryptography>=3.4.0; extra == "cryptography"
  • pycrypto<2.7.0,>=2.6.0; extra == "pycrypto"
  • pycryptodome<4.0.0,>=3.3.1; extra == "pycryptodome"
  • pytest; extra == "test"
  • pytest-cov; extra == "test"
File Tox results History
python_jose-3.4.0-py2.py3-none-any.whl
Size
34 KB
Type
Python Wheel
Python
2.7

A JOSE implementation in Python

PyPI Github Actions CI Status Coverage Status Docs Code style: black

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.

  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

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.