JSON Web Token implementation in Python
Python
Latest commit c2a8559 Aug 1, 2018

README.rst

PyJWT

https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true https://coveralls.io/repos/jpadilla/pyjwt/badge.svg?branch=master https://readthedocs.org/projects/pyjwt/badge/?version=latest

A Python implementation of RFC 7519. Original implementation was written by @progrium.

Sponsor

auth0-logo If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at auth0.com/overview.

Installing

Install with pip:

$ pip install PyJWT

Usage

>>> import jwt
>>> encoded = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256')
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg'

>>> jwt.decode(encoded, 'secret', algorithms=['HS256'])
{'some': 'payload'}

Command line

Usage:

pyjwt [options] INPUT

Decoding examples:

pyjwt --key=secret TOKEN
pyjwt --no-verify TOKEN

See more options executing pyjwt --help.

Documentation

View the full docs online at https://pyjwt.readthedocs.io/en/latest/

Tests

You can run tests from the project root after cloning with:

$ python setup.py test