METADATA 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. Metadata-Version: 2.1
  2. Name: python-jose
  3. Version: 3.3.0
  4. Summary: JOSE implementation in Python
  5. Home-page: http://github.com/mpdavis/python-jose
  6. Author: Michael Davis
  7. Author-email: mike.philip.davis@gmail.com
  8. License: MIT
  9. Project-URL: Documentation, https://python-jose.readthedocs.io/en/latest/
  10. Project-URL: Source, https://github.com/mpdavis/python-jose/
  11. Project-URL: Tracker, https://github.com/mpdavis/python-jose/issues/
  12. Project-URL: Changelog, https://github.com/mpdavis/python-jose/blob/master/CHANGELOG.md
  13. Keywords: jose jws jwe jwt json web token security signing
  14. Platform: UNKNOWN
  15. Classifier: Development Status :: 5 - Production/Stable
  16. Classifier: Intended Audience :: Developers
  17. Classifier: Natural Language :: English
  18. Classifier: License :: OSI Approved :: MIT License
  19. Classifier: Programming Language :: Python
  20. Classifier: Programming Language :: Python :: 3
  21. Classifier: Programming Language :: Python :: 3 :: Only
  22. Classifier: Programming Language :: Python :: 3.6
  23. Classifier: Programming Language :: Python :: 3.7
  24. Classifier: Programming Language :: Python :: 3.8
  25. Classifier: Programming Language :: Python :: 3.9
  26. Classifier: Programming Language :: Python :: Implementation :: PyPy
  27. Classifier: Topic :: Utilities
  28. License-File: LICENSE
  29. Requires-Dist: ecdsa (!=0.15)
  30. Requires-Dist: rsa
  31. Requires-Dist: pyasn1
  32. Provides-Extra: cryptography
  33. Requires-Dist: cryptography (>=3.4.0) ; extra == 'cryptography'
  34. Provides-Extra: pycrypto
  35. Requires-Dist: pycrypto (<2.7.0,>=2.6.0) ; extra == 'pycrypto'
  36. Requires-Dist: pyasn1 ; extra == 'pycrypto'
  37. Provides-Extra: pycryptodome
  38. Requires-Dist: pycryptodome (<4.0.0,>=3.3.1) ; extra == 'pycryptodome'
  39. Requires-Dist: pyasn1 ; extra == 'pycryptodome'
  40. python-jose
  41. ===========
  42. A JOSE implementation in Python
  43. |pypi| |Github Actions CI Status| |Coverage Status| |Docs| |style|
  44. Docs are available on ReadTheDocs_.
  45. The JavaScript Object Signing and Encryption (JOSE) technologies - JSON
  46. Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and
  47. JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or
  48. sign content using a variety of algorithms. While the full set of
  49. permutations is extremely large, and might be daunting to some, it is
  50. expected that most applications will only use a small set of algorithms
  51. to meet their needs.
  52. Installation
  53. ------------
  54. ::
  55. $ pip install python-jose[cryptography]
  56. Cryptographic Backends
  57. ----------------------
  58. As of 3.3.0, python-jose implements three different cryptographic backends.
  59. The backend must be selected as an extra when installing python-jose.
  60. If you do not select a backend, the native-python backend will be installed.
  61. Unless otherwise noted, all backends support all operations.
  62. Due to complexities with setuptools, the native-python backend is always installed,
  63. even if you select a different backend on install.
  64. We recommend that you remove unnecessary dependencies in production.
  65. #. cryptography
  66. * This backend uses `pyca/cryptography`_ for all cryptographic operations.
  67. This is the recommended backend and is selected over all other backends if any others are present.
  68. * Installation: ``pip install python-jose[cryptography]``
  69. * Unused dependencies:
  70. * ``rsa``
  71. * ``ecdsa``
  72. * ``pyasn1``
  73. #. pycryptodome
  74. * This backend uses `pycryptodome`_ for all cryptographic operations.
  75. * Installation: ``pip install python-jose[pycryptodome]``
  76. * Unused dependencies:
  77. * ``rsa``
  78. #. native-python
  79. * This backend uses `python-rsa`_ and `python-ecdsa`_ for all cryptographic operations.
  80. This backend is always installed but any other backend will take precedence if one is installed.
  81. * Installation: ``pip install python-jose``
  82. .. note::
  83. The native-python backend cannot process certificates.
  84. Usage
  85. -----
  86. .. code-block:: python
  87. >>> from jose import jwt
  88. >>> token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
  89. u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ2YWx1ZSJ9.FG-8UppwHaFp1LgRYQQeS6EDQF7_6-bMFegNucHjmWg'
  90. >>> jwt.decode(token, 'secret', algorithms=['HS256'])
  91. {u'key': u'value'}
  92. Thanks
  93. ------
  94. This library was originally based heavily on the work of the folks over at PyJWT_.
  95. .. |pypi| image:: https://img.shields.io/pypi/v/python-jose?style=flat-square
  96. :target: https://pypi.org/project/python-jose/
  97. :alt: PyPI
  98. .. |Github Actions CI Status| image:: https://github.com/mpdavis/python-jose/workflows/main/badge.svg?branch=master
  99. :target: https://github.com/mpdavis/python-jose/actions?workflow=main
  100. :alt: Github Actions CI Status
  101. .. |Coverage Status| image:: http://codecov.io/github/mpdavis/python-jose/coverage.svg?branch=master
  102. :target: http://codecov.io/github/mpdavis/python-jose?branch=master
  103. .. |Docs| image:: https://readthedocs.org/projects/python-jose/badge/
  104. :target: https://python-jose.readthedocs.org/en/latest/
  105. .. _ReadTheDocs: https://python-jose.readthedocs.org/en/latest/
  106. .. _PyJWT: https://github.com/jpadilla/pyjwt
  107. .. _pyca/cryptography: http://cryptography.io/
  108. .. _pycryptodome: https://pycryptodome.readthedocs.io/en/latest/
  109. .. _pycrypto: https://www.dlitz.net/software/pycrypto/
  110. .. _python-ecdsa: https://github.com/warner/python-ecdsa
  111. .. _python-rsa: https://stuvel.eu/rsa
  112. .. |style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
  113. :target: https://github.com/psf/black
  114. :alt: Code style: black