PyNaCl


NamePyNaCl JSON
Version 1.5.0 PyPI version JSON
download
home_pagehttps://github.com/pyca/pynacl/
SummaryPython binding to the Networking and Cryptography (NaCl) library
upload_time2022-01-07 22:05:41
maintainer
docs_urlNone
authorThe PyNaCl developers
requires_python>=3.6
licenseApache License 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ===============================================
PyNaCl: Python binding to the libsodium library
===============================================

.. image:: https://img.shields.io/pypi/v/pynacl.svg
    :target: https://pypi.org/project/PyNaCl/
    :alt: Latest Version

.. image:: https://codecov.io/github/pyca/pynacl/coverage.svg?branch=main
    :target: https://codecov.io/github/pyca/pynacl?branch=main

.. image:: https://img.shields.io/pypi/pyversions/pynacl.svg
    :target: https://pypi.org/project/PyNaCl/
    :alt: Compatible Python Versions

PyNaCl is a Python binding to `libsodium`_, which is a fork of the
`Networking and Cryptography library`_. These libraries have a stated goal of
improving usability, security and speed. It supports Python 3.6+ as well as
PyPy 3.

.. _libsodium: https://github.com/jedisct1/libsodium
.. _Networking and Cryptography library: https://nacl.cr.yp.to/

Features
--------

* Digital signatures
* Secret-key encryption
* Public-key encryption
* Hashing and message authentication
* Password based key derivation and password hashing

`Changelog`_
------------

.. _Changelog: https://pynacl.readthedocs.io/en/stable/changelog/

Installation
============

Binary wheel install
--------------------

PyNaCl ships as a binary wheel on macOS, Windows and Linux ``manylinux1`` [#many]_ ,
so all dependencies are included. Make sure you have an up-to-date pip
and run:

.. code-block:: console

    $ pip install pynacl

Faster wheel build
------------------

You can define the environment variable ``LIBSODIUM_MAKE_ARGS`` to pass arguments to ``make``
and enable `parallelization`_:

.. code-block:: console

    $ LIBSODIUM_MAKE_ARGS=-j4 pip install pynacl

Linux source build
------------------

PyNaCl relies on `libsodium`_, a portable C library. A copy is bundled
with PyNaCl so to install you can run:

.. code-block:: console

    $ pip install pynacl

If you'd prefer to use the version of ``libsodium`` provided by your
distribution, you can disable the bundled copy during install by running:

.. code-block:: console

    $ SODIUM_INSTALL=system pip install pynacl

.. warning:: Usage of the legacy ``easy_install`` command provided by setuptools
   is generally discouraged, and is completely unsupported in PyNaCl's case.

.. _parallelization: https://www.gnu.org/software/make/manual/html_node/Parallel.html

.. _libsodium: https://github.com/jedisct1/libsodium

.. [#many] `manylinux1 wheels <https://www.python.org/dev/peps/pep-0513/>`_
    are built on a baseline linux environment based on Centos 5.11
    and should work on most x86 and x86_64 glibc based linux environments.

Changelog
=========

1.5.0 (2022-01-07)
------------------

* **BACKWARDS INCOMPATIBLE:** Removed support for Python 2.7 and Python 3.5.
* **BACKWARDS INCOMPATIBLE:** We no longer distribute ``manylinux1``
  wheels.
* Added ``manylinux2014``, ``manylinux_2_24``, ``musllinux``, and macOS
  ``universal2`` wheels (the latter supports macOS ``arm64``).
* Update ``libsodium`` to 1.0.18-stable (July 25, 2021 release).
* Add inline type hints.

1.4.0 (2020-05-25)
------------------

* Update ``libsodium`` to 1.0.18.
* **BACKWARDS INCOMPATIBLE:** We no longer distribute 32-bit ``manylinux1``
  wheels. Continuing to produce them was a maintenance burden.
* Added support for Python 3.8, and removed support for Python 3.4.
* Add low level bindings for extracting the seed and the public key
  from crypto_sign_ed25519 secret key
* Add low level bindings for deterministic random generation.
* Add ``wheel`` and ``setuptools`` setup_requirements in ``setup.py`` (#485)
* Fix checks on very slow builders (#481, #495)
* Add low-level bindings to ed25519 arithmetic functions
* Update low-level blake2b state implementation
* Fix wrong short-input behavior of SealedBox.decrypt() (#517)
* Raise CryptPrefixError exception instead of InvalidkeyError when trying
  to check a password against a verifier stored in a unknown format (#519)
* Add support for minimal builds of libsodium. Trying to call functions
  not available in a minimal build will raise an UnavailableError
  exception. To compile a minimal build of the bundled libsodium, set
  the SODIUM_INSTALL_MINIMAL environment variable to any non-empty
  string (e.g. ``SODIUM_INSTALL_MINIMAL=1``) for setup.

1.3.0 2018-09-26
----------------

* Added support for Python 3.7.
* Update ``libsodium`` to 1.0.16.
* Run and test all code examples in PyNaCl docs through sphinx's
  doctest builder.
* Add low-level bindings for chacha20-poly1305 AEAD constructions.
* Add low-level bindings for the chacha20-poly1305 secretstream constructions.
* Add low-level bindings for ed25519ph pre-hashed signing construction.
* Add low-level bindings for constant-time increment and addition
  on fixed-precision big integers represented as little-endian
  byte sequences.
* Add low-level bindings for the ISO/IEC 7816-4 compatible padding API.
* Add low-level bindings for libsodium's crypto_kx... key exchange
  construction.
* Set hypothesis deadline to None in tests/test_pwhash.py to avoid
  incorrect test failures on slower processor architectures.  GitHub
  issue #370

1.2.1 - 2017-12-04
------------------

* Update hypothesis minimum allowed version.
* Infrastructure: add proper configuration for readthedocs builder
  runtime environment.

1.2.0 - 2017-11-01
------------------

* Update ``libsodium`` to 1.0.15.
* Infrastructure: add jenkins support for automatic build of
  ``manylinux1`` binary wheels
* Added support for ``SealedBox`` construction.
* Added support for ``argon2i`` and ``argon2id`` password hashing constructs
  and restructured high-level password hashing implementation to expose
  the same interface for all hashers.
* Added support for 128 bit ``siphashx24`` variant of ``siphash24``.
* Added support for ``from_seed`` APIs for X25519 keypair generation.
* Dropped support for Python 3.3.

1.1.2 - 2017-03-31
------------------

* reorder link time library search path when using bundled
  libsodium

1.1.1 - 2017-03-15
------------------

* Fixed a circular import bug in ``nacl.utils``.

1.1.0 - 2017-03-14
------------------

* Dropped support for Python 2.6.
* Added ``shared_key()`` method on ``Box``.
* You can now pass ``None`` to ``nonce`` when encrypting with ``Box`` or
  ``SecretBox`` and it will automatically generate a random nonce.
* Added support for ``siphash24``.
* Added support for ``blake2b``.
* Added support for ``scrypt``.
* Update ``libsodium`` to 1.0.11.
* Default to the bundled ``libsodium`` when compiling.
* All raised exceptions are defined mixing-in
  ``nacl.exceptions.CryptoError``

1.0.1 - 2016-01-24
------------------

* Fix an issue with absolute paths that prevented the creation of wheels.

1.0 - 2016-01-23
----------------

* PyNaCl has been ported to use the new APIs available in cffi 1.0+.
  Due to this change we no longer support PyPy releases older than 2.6.
* Python 3.2 support has been dropped.
* Functions to convert between Ed25519 and Curve25519 keys have been added.

0.3.0 - 2015-03-04
------------------

* The low-level API (`nacl.c.*`) has been changed to match the
  upstream NaCl C/C++ conventions (as well as those of other NaCl bindings).
  The order of arguments and return values has changed significantly. To
  avoid silent failures, `nacl.c` has been removed, and replaced with
  `nacl.bindings` (with the new argument ordering). If you have code which
  calls these functions (e.g. `nacl.c.crypto_box_keypair()`), you must review
  the new docstrings and update your code/imports to match the new
  conventions.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pyca/pynacl/",
    "name": "PyNaCl",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "The PyNaCl developers",
    "author_email": "cryptography-dev@python.org",
    "download_url": "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz",
    "platform": "",
    "description": "===============================================\nPyNaCl: Python binding to the libsodium library\n===============================================\n\n.. image:: https://img.shields.io/pypi/v/pynacl.svg\n    :target: https://pypi.org/project/PyNaCl/\n    :alt: Latest Version\n\n.. image:: https://codecov.io/github/pyca/pynacl/coverage.svg?branch=main\n    :target: https://codecov.io/github/pyca/pynacl?branch=main\n\n.. image:: https://img.shields.io/pypi/pyversions/pynacl.svg\n    :target: https://pypi.org/project/PyNaCl/\n    :alt: Compatible Python Versions\n\nPyNaCl is a Python binding to `libsodium`_, which is a fork of the\n`Networking and Cryptography library`_. These libraries have a stated goal of\nimproving usability, security and speed. It supports Python 3.6+ as well as\nPyPy 3.\n\n.. _libsodium: https://github.com/jedisct1/libsodium\n.. _Networking and Cryptography library: https://nacl.cr.yp.to/\n\nFeatures\n--------\n\n* Digital signatures\n* Secret-key encryption\n* Public-key encryption\n* Hashing and message authentication\n* Password based key derivation and password hashing\n\n`Changelog`_\n------------\n\n.. _Changelog: https://pynacl.readthedocs.io/en/stable/changelog/\n\nInstallation\n============\n\nBinary wheel install\n--------------------\n\nPyNaCl ships as a binary wheel on macOS, Windows and Linux ``manylinux1`` [#many]_ ,\nso all dependencies are included. Make sure you have an up-to-date pip\nand run:\n\n.. code-block:: console\n\n    $ pip install pynacl\n\nFaster wheel build\n------------------\n\nYou can define the environment variable ``LIBSODIUM_MAKE_ARGS`` to pass arguments to ``make``\nand enable `parallelization`_:\n\n.. code-block:: console\n\n    $ LIBSODIUM_MAKE_ARGS=-j4 pip install pynacl\n\nLinux source build\n------------------\n\nPyNaCl relies on `libsodium`_, a portable C library. A copy is bundled\nwith PyNaCl so to install you can run:\n\n.. code-block:: console\n\n    $ pip install pynacl\n\nIf you'd prefer to use the version of ``libsodium`` provided by your\ndistribution, you can disable the bundled copy during install by running:\n\n.. code-block:: console\n\n    $ SODIUM_INSTALL=system pip install pynacl\n\n.. warning:: Usage of the legacy ``easy_install`` command provided by setuptools\n   is generally discouraged, and is completely unsupported in PyNaCl's case.\n\n.. _parallelization: https://www.gnu.org/software/make/manual/html_node/Parallel.html\n\n.. _libsodium: https://github.com/jedisct1/libsodium\n\n.. [#many] `manylinux1 wheels <https://www.python.org/dev/peps/pep-0513/>`_\n    are built on a baseline linux environment based on Centos 5.11\n    and should work on most x86 and x86_64 glibc based linux environments.\n\nChangelog\n=========\n\n1.5.0 (2022-01-07)\n------------------\n\n* **BACKWARDS INCOMPATIBLE:** Removed support for Python 2.7 and Python 3.5.\n* **BACKWARDS INCOMPATIBLE:** We no longer distribute ``manylinux1``\n  wheels.\n* Added ``manylinux2014``, ``manylinux_2_24``, ``musllinux``, and macOS\n  ``universal2`` wheels (the latter supports macOS ``arm64``).\n* Update ``libsodium`` to 1.0.18-stable (July 25, 2021 release).\n* Add inline type hints.\n\n1.4.0 (2020-05-25)\n------------------\n\n* Update ``libsodium`` to 1.0.18.\n* **BACKWARDS INCOMPATIBLE:** We no longer distribute 32-bit ``manylinux1``\n  wheels. Continuing to produce them was a maintenance burden.\n* Added support for Python 3.8, and removed support for Python 3.4.\n* Add low level bindings for extracting the seed and the public key\n  from crypto_sign_ed25519 secret key\n* Add low level bindings for deterministic random generation.\n* Add ``wheel`` and ``setuptools`` setup_requirements in ``setup.py`` (#485)\n* Fix checks on very slow builders (#481, #495)\n* Add low-level bindings to ed25519 arithmetic functions\n* Update low-level blake2b state implementation\n* Fix wrong short-input behavior of SealedBox.decrypt() (#517)\n* Raise CryptPrefixError exception instead of InvalidkeyError when trying\n  to check a password against a verifier stored in a unknown format (#519)\n* Add support for minimal builds of libsodium. Trying to call functions\n  not available in a minimal build will raise an UnavailableError\n  exception. To compile a minimal build of the bundled libsodium, set\n  the SODIUM_INSTALL_MINIMAL environment variable to any non-empty\n  string (e.g. ``SODIUM_INSTALL_MINIMAL=1``) for setup.\n\n1.3.0 2018-09-26\n----------------\n\n* Added support for Python 3.7.\n* Update ``libsodium`` to 1.0.16.\n* Run and test all code examples in PyNaCl docs through sphinx's\n  doctest builder.\n* Add low-level bindings for chacha20-poly1305 AEAD constructions.\n* Add low-level bindings for the chacha20-poly1305 secretstream constructions.\n* Add low-level bindings for ed25519ph pre-hashed signing construction.\n* Add low-level bindings for constant-time increment and addition\n  on fixed-precision big integers represented as little-endian\n  byte sequences.\n* Add low-level bindings for the ISO/IEC 7816-4 compatible padding API.\n* Add low-level bindings for libsodium's crypto_kx... key exchange\n  construction.\n* Set hypothesis deadline to None in tests/test_pwhash.py to avoid\n  incorrect test failures on slower processor architectures.  GitHub\n  issue #370\n\n1.2.1 - 2017-12-04\n------------------\n\n* Update hypothesis minimum allowed version.\n* Infrastructure: add proper configuration for readthedocs builder\n  runtime environment.\n\n1.2.0 - 2017-11-01\n------------------\n\n* Update ``libsodium`` to 1.0.15.\n* Infrastructure: add jenkins support for automatic build of\n  ``manylinux1`` binary wheels\n* Added support for ``SealedBox`` construction.\n* Added support for ``argon2i`` and ``argon2id`` password hashing constructs\n  and restructured high-level password hashing implementation to expose\n  the same interface for all hashers.\n* Added support for 128 bit ``siphashx24`` variant of ``siphash24``.\n* Added support for ``from_seed`` APIs for X25519 keypair generation.\n* Dropped support for Python 3.3.\n\n1.1.2 - 2017-03-31\n------------------\n\n* reorder link time library search path when using bundled\n  libsodium\n\n1.1.1 - 2017-03-15\n------------------\n\n* Fixed a circular import bug in ``nacl.utils``.\n\n1.1.0 - 2017-03-14\n------------------\n\n* Dropped support for Python 2.6.\n* Added ``shared_key()`` method on ``Box``.\n* You can now pass ``None`` to ``nonce`` when encrypting with ``Box`` or\n  ``SecretBox`` and it will automatically generate a random nonce.\n* Added support for ``siphash24``.\n* Added support for ``blake2b``.\n* Added support for ``scrypt``.\n* Update ``libsodium`` to 1.0.11.\n* Default to the bundled ``libsodium`` when compiling.\n* All raised exceptions are defined mixing-in\n  ``nacl.exceptions.CryptoError``\n\n1.0.1 - 2016-01-24\n------------------\n\n* Fix an issue with absolute paths that prevented the creation of wheels.\n\n1.0 - 2016-01-23\n----------------\n\n* PyNaCl has been ported to use the new APIs available in cffi 1.0+.\n  Due to this change we no longer support PyPy releases older than 2.6.\n* Python 3.2 support has been dropped.\n* Functions to convert between Ed25519 and Curve25519 keys have been added.\n\n0.3.0 - 2015-03-04\n------------------\n\n* The low-level API (`nacl.c.*`) has been changed to match the\n  upstream NaCl C/C++ conventions (as well as those of other NaCl bindings).\n  The order of arguments and return values has changed significantly. To\n  avoid silent failures, `nacl.c` has been removed, and replaced with\n  `nacl.bindings` (with the new argument ordering). If you have code which\n  calls these functions (e.g. `nacl.c.crypto_box_keypair()`), you must review\n  the new docstrings and update your code/imports to match the new\n  conventions.\n\n\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Python binding to the Networking and Cryptography (NaCl) library",
    "version": "1.5.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "9a54798738f90a6cce1079c62f4f4628",
                "sha256": "401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl",
            "has_sig": false,
            "md5_digest": "9a54798738f90a6cce1079c62f4f4628",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 349920,
            "upload_time": "2022-01-07T22:05:49",
            "upload_time_iso_8601": "2022-01-07T22:05:49.156134Z",
            "url": "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "141d8fc4b04bfb77089c90dcead1e050",
                "sha256": "52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "141d8fc4b04bfb77089c90dcead1e050",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 601722,
            "upload_time": "2022-01-07T22:05:50",
            "upload_time_iso_8601": "2022-01-07T22:05:50.989129Z",
            "url": "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "2c51c427c6a122c14e26167a95bdfcd6",
                "sha256": "a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2c51c427c6a122c14e26167a95bdfcd6",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 680087,
            "upload_time": "2022-01-07T22:05:52",
            "upload_time_iso_8601": "2022-01-07T22:05:52.539731Z",
            "url": "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "e3607f5868ae28a26b00e7026c38f823",
                "sha256": "0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e3607f5868ae28a26b00e7026c38f823",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 856678,
            "upload_time": "2022-01-07T22:05:54",
            "upload_time_iso_8601": "2022-01-07T22:05:54.251763Z",
            "url": "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "4e0f21f352ced5fe2a5da755db62764c",
                "sha256": "06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4e0f21f352ced5fe2a5da755db62764c",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 1133660,
            "upload_time": "2022-01-07T22:05:56",
            "upload_time_iso_8601": "2022-01-07T22:05:56.056808Z",
            "url": "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "9f2ad04e49f230f435e60f3de84f8306",
                "sha256": "a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9f2ad04e49f230f435e60f3de84f8306",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 663824,
            "upload_time": "2022-01-07T22:05:57",
            "upload_time_iso_8601": "2022-01-07T22:05:57.434006Z",
            "url": "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a1402876cfad3c019793d30ddbb9668d",
                "sha256": "61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a1402876cfad3c019793d30ddbb9668d",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 1117912,
            "upload_time": "2022-01-07T22:05:58",
            "upload_time_iso_8601": "2022-01-07T22:05:58.665763Z",
            "url": "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8e51974faf14142f881b6afd478ce2b9",
                "sha256": "e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-win32.whl",
            "has_sig": false,
            "md5_digest": "8e51974faf14142f881b6afd478ce2b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 204624,
            "upload_time": "2022-01-07T22:06:00",
            "upload_time_iso_8601": "2022-01-07T22:06:00.085192Z",
            "url": "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "c8b8dd769782cf55424df4d408fc77e1",
                "sha256": "20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c8b8dd769782cf55424df4d408fc77e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 212141,
            "upload_time": "2022-01-07T22:06:01",
            "upload_time_iso_8601": "2022-01-07T22:06:01.861184Z",
            "url": "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "93989045e25f1111452cfdf5e021814d",
                "sha256": "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"
            },
            "downloads": -1,
            "filename": "PyNaCl-1.5.0.tar.gz",
            "has_sig": true,
            "md5_digest": "93989045e25f1111452cfdf5e021814d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 3392854,
            "upload_time": "2022-01-07T22:05:41",
            "upload_time_iso_8601": "2022-01-07T22:05:41.134526Z",
            "url": "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-01-07 22:05:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "pyca",
    "github_project": "pynacl",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "pynacl"
}
        
Elapsed time: 0.01560s