scrypt


Namescrypt JSON
Version 0.8.29 PyPI version JSON
download
home_pagehttps://github.com/holgern/py-scrypt
SummaryBindings for the scrypt key derivation function library
upload_time2025-08-02 09:44:45
maintainerHolger Nahrstaedt
docs_urlNone
authorMagnus Hallin
requires_pythonNone
license2-clause BSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =========================
 Python scrypt_ bindings
=========================

This is a set of Python_ bindings for the scrypt_ key derivation
function.

.. image:: https://img.shields.io/pypi/v/scrypt.svg
    :target: https://pypi.python.org/pypi/scrypt/
    :alt: Latest Version

.. image:: https://anaconda.org/conda-forge/scrypt/badges/version.svg
    :target: https://anaconda.org/conda-forge/scrypt

.. image:: https://anaconda.org/conda-forge/scrypt/badges/downloads.svg
    :target: https://anaconda.org/conda-forge/scrypt


Scrypt is useful when encrypting password as it is possible to specify
a *minimum* amount of time to use when encrypting and decrypting. If,
for example, a password takes 0.05 seconds to verify, a user won't
notice the slight delay when signing in, but doing a brute force
search of several billion passwords will take a considerable amount of
time. This is in contrast to more traditional hash functions such as
MD5 or the SHA family which can be implemented extremely fast on cheap
hardware.

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

For Debian and Ubuntu, please ensure that the following packages are installed:

.. code:: bash

    $ sudo apt-get install build-essential libssl-dev python-dev

For Fedora and RHEL-derivatives, please ensure that the following packages are installed:

.. code:: bash

    $ sudo yum install gcc openssl-devel python-devel

For OSX, please do the following::

    $ brew install openssl
    $ export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
    $ export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"

For OSX, you can also use the precompiled wheels. They are installed by::

    $ pip install scrypt

For Windows, please use the precompiled wheels. They are installed by::

    $ pip install scrypt

For Windows, when the package should be compiled, the development package from https://slproweb.com/products/Win32OpenSSL.html is needed.
It needs to be installed to C:\OpenSSL-Win64.

You can install py-scrypt from this repository if you want the latest
but possibly non-compiling version::

    $ git clone https://github.com/holgern/py-scrypt.git
    $ cd py-scrypt
    $ python setup.py build

    Become superuser (or use virtualenv):
    # python setup.py install

    Run tests after install:
    $ python setup.py test

Or you can install the latest release from PyPi::

    $ pip install scrypt

Users of the Anaconda_ Python distribution can directly obtain pre-built
Windows, Intel Linux or macOS / OSX binaries from the conda-forge channel.
This can be done via::

    $ conda install -c conda-forge scrypt


If you want py-scrypt for your Python 3 environment, just run the
above commands with your Python 3 interpreter. Py-scrypt supports both
Python 2 and 3.

From version 0.6.0 (not available on PyPi yet), py-scrypt supports
PyPy as well.

Changelog
=========
0.8.29
------
* Fix build for OSX using openssl 3.0
* Build Wheel for Python 3.13
* switch to ruff
  


0.8.24
------
* Building of all wheels works with github actions

0.8.20
------
* Fix #8 by adding missing gettimeofday.c to MANIFEST.in

0.8.19
------
* Use RtlGenRandom instead of CryptGenRandom on windows (Thanks to https://github.com/veorq/cryptocoding/)
* Add check for c:\Program Files\OpenSSL-Win64 and c:\Program Files\OpenSSL-Win32

0.8.18
------
* add wheel for python 3.9

0.8.17
------

* add_dll_directory for python 3.8 on windows, as importlib.util.find_spec does not search all paths anymore

0.8.16
------

* Add additional test vector from RFC (thanks to @ChrisMacNaughton)

0.8.15
------

* Fix missing import


0.8.14
------

* fix imp deprecation warning


0.8.13
------

* improve build for conda forge

0.8.12
------

* Add SCRYPT_WINDOWS_LINK_LEGACY_OPENSSL environment variable, when set, openssl 1.0.2 is linked

0.8.11
------

* fix build for conda feedstock

0.8.10
------

* fix typo

0.8.9
-----

* use the static libcrypto_static for windows and openssl 1.1.1

0.8.8
-----

* setup.py for windows improved, works with openssl 1.0.2 and 1.1.1

0.8.7
-----

* setup.py for windows fixed

0.8.6
-----

* setup.py fixed, scrypt could not be imported in version 0.8.5

0.8.5
-----

* MANIFEST.in fixed
* scrypt.py moved into own scrypt directory with __init__.py
* openssl library path for osx wheel repaired

0.8.4
-----

* __version__ added to scrypt
* missing void in sha256.c fixed

0.8.3
-----

* scrypt updated to 1.2.1
* Wheels are created for python 3.6

Usage
=====

Fore encryption/decryption, the library exports two functions
``encrypt`` and ``decrypt``::

    >>> import scrypt
    >>> data = scrypt.encrypt('a secret message', 'password', maxtime=0.1) # This will take at least 0.1 seconds
    >>> data[:20]
    'scrypt\x00\r\x00\x00\x00\x08\x00\x00\x00\x01RX9H'
    >>> scrypt.decrypt(data, 'password', maxtime=0.1) # This will also take at least 0.1 seconds
    'a secret message'
    >>> scrypt.decrypt(data, 'password', maxtime=0.05) # scrypt won't be able to decrypt this data fast enough
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    scrypt.error: decrypting file would take too long
    >>> scrypt.decrypt(data, 'wrong password', maxtime=0.1) # scrypt will throw an exception if the password is incorrect
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    scrypt.error: password is incorrect

From these, one can make a simple password verifier using the following
functions::

    def hash_password(password, maxtime=0.5, datalength=64):
        return scrypt.encrypt(os.urandom(datalength), password, maxtime=maxtime)

    def verify_password(hashed_password, guessed_password, maxtime=0.5):
        try:
            scrypt.decrypt(hashed_password, guessed_password, maxtime)
            return True
        except scrypt.error:
            return False


But, if you want output that is deterministic and constant in size,
you can use the ``hash`` function::

    >>> import scrypt
    >>> h1 = scrypt.hash('password', 'random salt')
    >>> len(h1)  # The hash will be 64 bytes by default, but is overridable.
    64
    >>> h1[:10]
    '\xfe\x87\xf3hS\tUo\xcd\xc8'
    >>> h2 = scrypt.hash('password', 'random salt')
    >>> h1 == h2 # The hash function is deterministic
    True


Acknowledgements
================

Scrypt_ was created by Colin Percival and is licensed as 2-clause BSD.
Since scrypt does not normally build as a shared library, I have included
the source for the currently latest version of the library in this
repository. When a new version arrives, I will update these sources.

`Kelvin Wong`_ on Bitbucket provided changes to make the library
available on Mac OS X 10.6 and earlier, as well as changes to make the
library work more like the command-line version of scrypt by
default. Kelvin also contributed with the unit tests, lots of cross
platform testing and work on the ``hash`` function.

Burstaholic_ on Bitbucket provided the necessary changes to make
the library build on Windows.

The `python-appveyor-demo`_ repository for setting up automated Windows
builds for a multitude of Python versions.

License
=======

This library is licensed under the same license as scrypt; 2-clause BSD.

.. _scrypt: http://www.tarsnap.com/scrypt.html
.. _Python: http://python.org
.. _Burstaholic: https://bitbucket.org/Burstaholic
.. _Kelvin Wong: https://bitbucket.org/kelvinwong_ca
.. _python-appveyor-demo: https://github.com/ogrisel/python-appveyor-demo
.. _Anaconda: https://www.continuum.io

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/holgern/py-scrypt",
    "name": "scrypt",
    "maintainer": "Holger Nahrstaedt",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "nahrstaedt@gmail.com",
    "keywords": null,
    "author": "Magnus Hallin",
    "author_email": "mhallin@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/58/b102128150df9480d23ba5b81a3a409a003bbc1c8505e98fafa353c7be8f/scrypt-0.8.29.tar.gz",
    "platform": null,
    "description": "=========================\n Python scrypt_ bindings\n=========================\n\nThis is a set of Python_ bindings for the scrypt_ key derivation\nfunction.\n\n.. image:: https://img.shields.io/pypi/v/scrypt.svg\n    :target: https://pypi.python.org/pypi/scrypt/\n    :alt: Latest Version\n\n.. image:: https://anaconda.org/conda-forge/scrypt/badges/version.svg\n    :target: https://anaconda.org/conda-forge/scrypt\n\n.. image:: https://anaconda.org/conda-forge/scrypt/badges/downloads.svg\n    :target: https://anaconda.org/conda-forge/scrypt\n\n\nScrypt is useful when encrypting password as it is possible to specify\na *minimum* amount of time to use when encrypting and decrypting. If,\nfor example, a password takes 0.05 seconds to verify, a user won't\nnotice the slight delay when signing in, but doing a brute force\nsearch of several billion passwords will take a considerable amount of\ntime. This is in contrast to more traditional hash functions such as\nMD5 or the SHA family which can be implemented extremely fast on cheap\nhardware.\n\nInstallation\n============\n\nFor Debian and Ubuntu, please ensure that the following packages are installed:\n\n.. code:: bash\n\n    $ sudo apt-get install build-essential libssl-dev python-dev\n\nFor Fedora and RHEL-derivatives, please ensure that the following packages are installed:\n\n.. code:: bash\n\n    $ sudo yum install gcc openssl-devel python-devel\n\nFor OSX, please do the following::\n\n    $ brew install openssl\n    $ export CFLAGS=\"-I$(brew --prefix openssl)/include $CFLAGS\"\n    $ export LDFLAGS=\"-L$(brew --prefix openssl)/lib $LDFLAGS\"\n\nFor OSX, you can also use the precompiled wheels. They are installed by::\n\n    $ pip install scrypt\n\nFor Windows, please use the precompiled wheels. They are installed by::\n\n    $ pip install scrypt\n\nFor Windows, when the package should be compiled, the development package from https://slproweb.com/products/Win32OpenSSL.html is needed.\nIt needs to be installed to C:\\OpenSSL-Win64.\n\nYou can install py-scrypt from this repository if you want the latest\nbut possibly non-compiling version::\n\n    $ git clone https://github.com/holgern/py-scrypt.git\n    $ cd py-scrypt\n    $ python setup.py build\n\n    Become superuser (or use virtualenv):\n    # python setup.py install\n\n    Run tests after install:\n    $ python setup.py test\n\nOr you can install the latest release from PyPi::\n\n    $ pip install scrypt\n\nUsers of the Anaconda_ Python distribution can directly obtain pre-built\nWindows, Intel Linux or macOS / OSX binaries from the conda-forge channel.\nThis can be done via::\n\n    $ conda install -c conda-forge scrypt\n\n\nIf you want py-scrypt for your Python 3 environment, just run the\nabove commands with your Python 3 interpreter. Py-scrypt supports both\nPython 2 and 3.\n\nFrom version 0.6.0 (not available on PyPi yet), py-scrypt supports\nPyPy as well.\n\nChangelog\n=========\n0.8.29\n------\n* Fix build for OSX using openssl 3.0\n* Build Wheel for Python 3.13\n* switch to ruff\n  \n\n\n0.8.24\n------\n* Building of all wheels works with github actions\n\n0.8.20\n------\n* Fix #8 by adding missing gettimeofday.c to MANIFEST.in\n\n0.8.19\n------\n* Use RtlGenRandom instead of CryptGenRandom on windows (Thanks to https://github.com/veorq/cryptocoding/)\n* Add check for c:\\Program Files\\OpenSSL-Win64 and c:\\Program Files\\OpenSSL-Win32\n\n0.8.18\n------\n* add wheel for python 3.9\n\n0.8.17\n------\n\n* add_dll_directory for python 3.8 on windows, as importlib.util.find_spec does not search all paths anymore\n\n0.8.16\n------\n\n* Add additional test vector from RFC (thanks to @ChrisMacNaughton)\n\n0.8.15\n------\n\n* Fix missing import\n\n\n0.8.14\n------\n\n* fix imp deprecation warning\n\n\n0.8.13\n------\n\n* improve build for conda forge\n\n0.8.12\n------\n\n* Add SCRYPT_WINDOWS_LINK_LEGACY_OPENSSL environment variable, when set, openssl 1.0.2 is linked\n\n0.8.11\n------\n\n* fix build for conda feedstock\n\n0.8.10\n------\n\n* fix typo\n\n0.8.9\n-----\n\n* use the static libcrypto_static for windows and openssl 1.1.1\n\n0.8.8\n-----\n\n* setup.py for windows improved, works with openssl 1.0.2 and 1.1.1\n\n0.8.7\n-----\n\n* setup.py for windows fixed\n\n0.8.6\n-----\n\n* setup.py fixed, scrypt could not be imported in version 0.8.5\n\n0.8.5\n-----\n\n* MANIFEST.in fixed\n* scrypt.py moved into own scrypt directory with __init__.py\n* openssl library path for osx wheel repaired\n\n0.8.4\n-----\n\n* __version__ added to scrypt\n* missing void in sha256.c fixed\n\n0.8.3\n-----\n\n* scrypt updated to 1.2.1\n* Wheels are created for python 3.6\n\nUsage\n=====\n\nFore encryption/decryption, the library exports two functions\n``encrypt`` and ``decrypt``::\n\n    >>> import scrypt\n    >>> data = scrypt.encrypt('a secret message', 'password', maxtime=0.1) # This will take at least 0.1 seconds\n    >>> data[:20]\n    'scrypt\\x00\\r\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x01RX9H'\n    >>> scrypt.decrypt(data, 'password', maxtime=0.1) # This will also take at least 0.1 seconds\n    'a secret message'\n    >>> scrypt.decrypt(data, 'password', maxtime=0.05) # scrypt won't be able to decrypt this data fast enough\n    Traceback (most recent call last):\n      File \"<stdin>\", line 1, in <module>\n    scrypt.error: decrypting file would take too long\n    >>> scrypt.decrypt(data, 'wrong password', maxtime=0.1) # scrypt will throw an exception if the password is incorrect\n    Traceback (most recent call last):\n      File \"<stdin>\", line 1, in <module>\n    scrypt.error: password is incorrect\n\nFrom these, one can make a simple password verifier using the following\nfunctions::\n\n    def hash_password(password, maxtime=0.5, datalength=64):\n        return scrypt.encrypt(os.urandom(datalength), password, maxtime=maxtime)\n\n    def verify_password(hashed_password, guessed_password, maxtime=0.5):\n        try:\n            scrypt.decrypt(hashed_password, guessed_password, maxtime)\n            return True\n        except scrypt.error:\n            return False\n\n\nBut, if you want output that is deterministic and constant in size,\nyou can use the ``hash`` function::\n\n    >>> import scrypt\n    >>> h1 = scrypt.hash('password', 'random salt')\n    >>> len(h1)  # The hash will be 64 bytes by default, but is overridable.\n    64\n    >>> h1[:10]\n    '\\xfe\\x87\\xf3hS\\tUo\\xcd\\xc8'\n    >>> h2 = scrypt.hash('password', 'random salt')\n    >>> h1 == h2 # The hash function is deterministic\n    True\n\n\nAcknowledgements\n================\n\nScrypt_ was created by Colin Percival and is licensed as 2-clause BSD.\nSince scrypt does not normally build as a shared library, I have included\nthe source for the currently latest version of the library in this\nrepository. When a new version arrives, I will update these sources.\n\n`Kelvin Wong`_ on Bitbucket provided changes to make the library\navailable on Mac OS X 10.6 and earlier, as well as changes to make the\nlibrary work more like the command-line version of scrypt by\ndefault. Kelvin also contributed with the unit tests, lots of cross\nplatform testing and work on the ``hash`` function.\n\nBurstaholic_ on Bitbucket provided the necessary changes to make\nthe library build on Windows.\n\nThe `python-appveyor-demo`_ repository for setting up automated Windows\nbuilds for a multitude of Python versions.\n\nLicense\n=======\n\nThis library is licensed under the same license as scrypt; 2-clause BSD.\n\n.. _scrypt: http://www.tarsnap.com/scrypt.html\n.. _Python: http://python.org\n.. _Burstaholic: https://bitbucket.org/Burstaholic\n.. _Kelvin Wong: https://bitbucket.org/kelvinwong_ca\n.. _python-appveyor-demo: https://github.com/ogrisel/python-appveyor-demo\n.. _Anaconda: https://www.continuum.io\n",
    "bugtrack_url": null,
    "license": "2-clause BSD",
    "summary": "Bindings for the scrypt key derivation function library",
    "version": "0.8.29",
    "project_urls": {
        "Homepage": "https://github.com/holgern/py-scrypt"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "22d788118740b82cf76b63e0978ed950bca71cdbff9b6c2b62790e841c73ac3f",
                "md5": "d9782dc9fe9be1a50e36cbb745487832",
                "sha256": "d86d6f393fa7a19211cd37c30a5c90b4b51dade58d890514bb1f647e589d80e9"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp310-cp310-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d9782dc9fe9be1a50e36cbb745487832",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2281874,
            "upload_time": "2025-08-02T09:46:20",
            "upload_time_iso_8601": "2025-08-02T09:46:20.424906Z",
            "url": "https://files.pythonhosted.org/packages/22/d7/88118740b82cf76b63e0978ed950bca71cdbff9b6c2b62790e841c73ac3f/scrypt-0.8.29-cp310-cp310-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "73a684bb591a079c72f510b024af6a5628f52238f0713ed98700aafe2d318cc3",
                "md5": "4744e4fd0b4bead10db300554a4b3af6",
                "sha256": "455cf44a2096532cb48feb64ea854f208493af23063d5ac7d29da1966021b432"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4744e4fd0b4bead10db300554a4b3af6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1409973,
            "upload_time": "2025-08-02T09:51:26",
            "upload_time_iso_8601": "2025-08-02T09:51:26.776061Z",
            "url": "https://files.pythonhosted.org/packages/73/a6/84bb591a079c72f510b024af6a5628f52238f0713ed98700aafe2d318cc3/scrypt-0.8.29-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fad12836dcf51483587dbd3e0231e16ef61310c1380c87d9d288b0c0180fb956",
                "md5": "ef3b4ce3933bbea744683cadf9eb3ca1",
                "sha256": "bd16c3f9047f8324f3a812c1f07a6a7d416532056c6cd191cdbf2514911bf4a6"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ef3b4ce3933bbea744683cadf9eb3ca1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1482431,
            "upload_time": "2025-08-02T09:46:55",
            "upload_time_iso_8601": "2025-08-02T09:46:55.948196Z",
            "url": "https://files.pythonhosted.org/packages/fa/d1/2836dcf51483587dbd3e0231e16ef61310c1380c87d9d288b0c0180fb956/scrypt-0.8.29-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "78033f089cd1dd49531db103cf202c1ba58cfe7a1ead82ba4d9a2a9a965bbc70",
                "md5": "ff6411e86e6b33b8c020d6a93a87ad2e",
                "sha256": "6cb1180c9c8936dcd6a16bc36ada2eba37a2c8768596a430ad20c732b62d3037"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ff6411e86e6b33b8c020d6a93a87ad2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1989581,
            "upload_time": "2025-08-02T09:46:57",
            "upload_time_iso_8601": "2025-08-02T09:46:57.449117Z",
            "url": "https://files.pythonhosted.org/packages/78/03/3f089cd1dd49531db103cf202c1ba58cfe7a1ead82ba4d9a2a9a965bbc70/scrypt-0.8.29-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9c0cc6833381406422866849f8557706b835b20fd03043de3f092700d1dca760",
                "md5": "26199e0e8c259b821fb81b462367385e",
                "sha256": "db793287795d52c1ed1e3830fc0e61a9eeb5850da5dca4a1b9221913d9de6521"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "26199e0e8c259b821fb81b462367385e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 40746,
            "upload_time": "2025-08-02T09:49:14",
            "upload_time_iso_8601": "2025-08-02T09:49:14.248722Z",
            "url": "https://files.pythonhosted.org/packages/9c/0c/c6833381406422866849f8557706b835b20fd03043de3f092700d1dca760/scrypt-0.8.29-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8bb8daea7dff9499c1d09299d5cfa37128dfdb11e791563eef3d24bece3dbd84",
                "md5": "474267a94d0d4eeb7e9f9688fcbb540f",
                "sha256": "14a48b27a40d9aa26077ee8d17d1c5cc3b1dd7207f92f5d0be1f52660daa1199"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp311-cp311-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "474267a94d0d4eeb7e9f9688fcbb540f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2281875,
            "upload_time": "2025-08-02T09:46:22",
            "upload_time_iso_8601": "2025-08-02T09:46:22.129112Z",
            "url": "https://files.pythonhosted.org/packages/8b/b8/daea7dff9499c1d09299d5cfa37128dfdb11e791563eef3d24bece3dbd84/scrypt-0.8.29-cp311-cp311-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b0e1538f5d2897060f81c11023b4b3587ddacac9d406e91acbd2e7d0bf02ea16",
                "md5": "978c84c69e5917d603e842baf0e21454",
                "sha256": "2cf5d56d353823fe1073791b64f229d79f0c97e9cc6a7aef512dd7eb00e9d3b4"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "978c84c69e5917d603e842baf0e21454",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1409995,
            "upload_time": "2025-08-02T09:51:26",
            "upload_time_iso_8601": "2025-08-02T09:51:26.995790Z",
            "url": "https://files.pythonhosted.org/packages/b0/e1/538f5d2897060f81c11023b4b3587ddacac9d406e91acbd2e7d0bf02ea16/scrypt-0.8.29-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "780e0b19c06968cecf0cea49924a995023e594c68a485e849673e1ea02b7c70d",
                "md5": "5b5590305555bf7f01fa726f1231b307",
                "sha256": "217a8e5055d8d1bc221f8f41ad839673c9139826c6ab8a8b6cd4032600195441"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5b5590305555bf7f01fa726f1231b307",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1482454,
            "upload_time": "2025-08-02T09:46:58",
            "upload_time_iso_8601": "2025-08-02T09:46:58.788036Z",
            "url": "https://files.pythonhosted.org/packages/78/0e/0b19c06968cecf0cea49924a995023e594c68a485e849673e1ea02b7c70d/scrypt-0.8.29-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "096dff3c0ab92b11fb3e44cc2248a2ee51697cef01e65dbeb7f448948f0344c7",
                "md5": "c0cbc4c9ca24e74521915c4193d9834a",
                "sha256": "f24a7ab1ce43b10484cad9c0b433adcd0804a74b5633df284aca5f1dde4de4b6"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c0cbc4c9ca24e74521915c4193d9834a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1989615,
            "upload_time": "2025-08-02T09:47:00",
            "upload_time_iso_8601": "2025-08-02T09:47:00.020126Z",
            "url": "https://files.pythonhosted.org/packages/09/6d/ff3c0ab92b11fb3e44cc2248a2ee51697cef01e65dbeb7f448948f0344c7/scrypt-0.8.29-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e354048b9cb584bf2d085865848e453d40371a4fc1f2f345bef8b7b28083a4f7",
                "md5": "566e078be106d1fbce4b828abb609eac",
                "sha256": "c85031a4a4af603a0dc15250de527f6f9f3ddd5b82d9bfc031b13e7338bf9e97"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "566e078be106d1fbce4b828abb609eac",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 40738,
            "upload_time": "2025-08-02T09:49:15",
            "upload_time_iso_8601": "2025-08-02T09:49:15.300632Z",
            "url": "https://files.pythonhosted.org/packages/e3/54/048b9cb584bf2d085865848e453d40371a4fc1f2f345bef8b7b28083a4f7/scrypt-0.8.29-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd7ca14dabf6dd5647466cec3f2666a7230b690f029837e55d8a01f2e709c983",
                "md5": "2ffb773a35d44ab60b0a35ca887f323c",
                "sha256": "37ea314b3bc77fb6a9c49497aa5639b091345e18373a11b3035ac5bbd027a026"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp312-cp312-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2ffb773a35d44ab60b0a35ca887f323c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2281876,
            "upload_time": "2025-08-02T09:46:23",
            "upload_time_iso_8601": "2025-08-02T09:46:23.575982Z",
            "url": "https://files.pythonhosted.org/packages/dd/7c/a14dabf6dd5647466cec3f2666a7230b690f029837e55d8a01f2e709c983/scrypt-0.8.29-cp312-cp312-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0724e00cbc0bc1633d649dafedeb667a949cb3c8da04f28b6c3258bac853e709",
                "md5": "bbcfe169b49a7ee43e88c75fd24ddf81",
                "sha256": "eaa8cb189ba7f9033ab1220a7d8a1efc6b307800dfb2637a4c6afa3b74e68248"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bbcfe169b49a7ee43e88c75fd24ddf81",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 1410099,
            "upload_time": "2025-08-02T09:51:27",
            "upload_time_iso_8601": "2025-08-02T09:51:27.593628Z",
            "url": "https://files.pythonhosted.org/packages/07/24/e00cbc0bc1633d649dafedeb667a949cb3c8da04f28b6c3258bac853e709/scrypt-0.8.29-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b323cf67b1a82101e3a9ea380d337e7e5f06505508da3ad430f3b2a2dc72ccb",
                "md5": "c3fe6bd8243abd76a91ff22669e3c52d",
                "sha256": "3189cdafa3c4822f608545c57fb76df4507db5cc1ad8b2a9370a5b43f2be0d3f"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c3fe6bd8243abd76a91ff22669e3c52d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 1482552,
            "upload_time": "2025-08-02T09:47:01",
            "upload_time_iso_8601": "2025-08-02T09:47:01.799002Z",
            "url": "https://files.pythonhosted.org/packages/4b/32/3cf67b1a82101e3a9ea380d337e7e5f06505508da3ad430f3b2a2dc72ccb/scrypt-0.8.29-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "36f670754c034c3d23f490e250ba95f91e567bb33a280a08ebe4e88ae5e9e4df",
                "md5": "fab69ddb62fd6f994b371d891e667cae",
                "sha256": "b6caaf50343bed8205d62c142fe3a08b638c88058156fd5a362d158887b94a93"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fab69ddb62fd6f994b371d891e667cae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 1989733,
            "upload_time": "2025-08-02T09:47:03",
            "upload_time_iso_8601": "2025-08-02T09:47:03.299144Z",
            "url": "https://files.pythonhosted.org/packages/36/f6/70754c034c3d23f490e250ba95f91e567bb33a280a08ebe4e88ae5e9e4df/scrypt-0.8.29-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "97855348acfb5c2f44cb3b306fe4f4239b2cb9521a89e612ef27c1dae8d20c33",
                "md5": "38293e19f04f84e519e70ef5f20cdd75",
                "sha256": "b0b45ec296bef850778f8bd23d54d3bfdb62510893c0aff020f79119e919255c"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "38293e19f04f84e519e70ef5f20cdd75",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 40747,
            "upload_time": "2025-08-02T09:49:16",
            "upload_time_iso_8601": "2025-08-02T09:49:16.029874Z",
            "url": "https://files.pythonhosted.org/packages/97/85/5348acfb5c2f44cb3b306fe4f4239b2cb9521a89e612ef27c1dae8d20c33/scrypt-0.8.29-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fc8a96f4623dec402e24cfb2db9668aad7229633d21d7e3164a8a7f46d37600f",
                "md5": "96a2a625eb423eddcf2306c1323d3ec0",
                "sha256": "0c645d8ee032b716a0a2f84e77f0270f96f1ebb4b3a9be6fe3b56ecb6c8e8f15"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp313-cp313-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "96a2a625eb423eddcf2306c1323d3ec0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 2281876,
            "upload_time": "2025-08-02T09:46:25",
            "upload_time_iso_8601": "2025-08-02T09:46:25.933622Z",
            "url": "https://files.pythonhosted.org/packages/fc/8a/96f4623dec402e24cfb2db9668aad7229633d21d7e3164a8a7f46d37600f/scrypt-0.8.29-cp313-cp313-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6ab82d117dc4fdb4451724aaac3ddd4ee0a2d18fcdf8fa3f83d30c10ec91cb37",
                "md5": "57954c17342b4fff986e46efd4466b2d",
                "sha256": "65f91d6b7c9b1b9cdf71679820af1edc4ce0404f6a636576cd07152836def785"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "57954c17342b4fff986e46efd4466b2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 1410142,
            "upload_time": "2025-08-02T09:51:31",
            "upload_time_iso_8601": "2025-08-02T09:51:31.344472Z",
            "url": "https://files.pythonhosted.org/packages/6a/b8/2d117dc4fdb4451724aaac3ddd4ee0a2d18fcdf8fa3f83d30c10ec91cb37/scrypt-0.8.29-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2389445bdc572f0aee309509899c22cff37ef63e05b53cb0fa3285d892a5ac7c",
                "md5": "7c390ce7420ff096dab1825b0db969e0",
                "sha256": "bc81769fef57d2f6ee314b61b5e443bbc282f1b2e8a06c285d5df5e84c9356d4"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7c390ce7420ff096dab1825b0db969e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 1482605,
            "upload_time": "2025-08-02T09:47:04",
            "upload_time_iso_8601": "2025-08-02T09:47:04.827670Z",
            "url": "https://files.pythonhosted.org/packages/23/89/445bdc572f0aee309509899c22cff37ef63e05b53cb0fa3285d892a5ac7c/scrypt-0.8.29-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac496129a78dc09f81f0e07302830168325762aabd2e7f539397afa14aabc7ce",
                "md5": "a104a5ec86f3b527488376616ac31cfb",
                "sha256": "aecbef877a30a2cf5f3d6717791a5f234ceef3d81649e13d7b1846dbfc59f227"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a104a5ec86f3b527488376616ac31cfb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 1989765,
            "upload_time": "2025-08-02T09:47:05",
            "upload_time_iso_8601": "2025-08-02T09:47:05.990027Z",
            "url": "https://files.pythonhosted.org/packages/ac/49/6129a78dc09f81f0e07302830168325762aabd2e7f539397afa14aabc7ce/scrypt-0.8.29-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cbbb2924e3b68b1575bf14f956aad7923e5f553ba4125b2a05381a5ba6575b4d",
                "md5": "ae6b0808dfc4bbe34dda8b799975d0bc",
                "sha256": "c8edfac3e8694c339f53e7f9623043ca68fc1ebd0da639802bd9cf0f616c9be1"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ae6b0808dfc4bbe34dda8b799975d0bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 2281876,
            "upload_time": "2025-08-02T09:46:27",
            "upload_time_iso_8601": "2025-08-02T09:46:27.684782Z",
            "url": "https://files.pythonhosted.org/packages/cb/bb/2924e3b68b1575bf14f956aad7923e5f553ba4125b2a05381a5ba6575b4d/scrypt-0.8.29-cp314-cp314-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "721b6c5ec6d8f6ff4b28d205e67274e6d0552b6e6cf33584d7b1ca93f517c0fb",
                "md5": "fc607cd29f63d66271d0f986e9ca874a",
                "sha256": "57e8b7994957a0eae5d330be322d2789f3920cfeadbee1569325f8e0a8366e3c"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fc607cd29f63d66271d0f986e9ca874a",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 1482660,
            "upload_time": "2025-08-02T09:47:07",
            "upload_time_iso_8601": "2025-08-02T09:47:07.187736Z",
            "url": "https://files.pythonhosted.org/packages/72/1b/6c5ec6d8f6ff4b28d205e67274e6d0552b6e6cf33584d7b1ca93f517c0fb/scrypt-0.8.29-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14ae213e22abfece6f59a09894b01f22c910542d586302aec33d8ded427588a9",
                "md5": "9d5878a30f35c902356fc2c9c56ac71d",
                "sha256": "12a8f21ca900bd0fc280f05dc5e01058c0cb25419c284a72c7d91716c45fbd2c"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9d5878a30f35c902356fc2c9c56ac71d",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 1989799,
            "upload_time": "2025-08-02T09:47:08",
            "upload_time_iso_8601": "2025-08-02T09:47:08.334951Z",
            "url": "https://files.pythonhosted.org/packages/14/ae/213e22abfece6f59a09894b01f22c910542d586302aec33d8ded427588a9/scrypt-0.8.29-cp314-cp314-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77d6a3655f861829a011a5a61318cba8a41c3f1ee43709ff0c5df5fde6b14250",
                "md5": "be4fac79eff4078b8e0fc13225fa4db7",
                "sha256": "040aea160e486b7c9ee9c0aa1eb2d2bfcab7444ff7a771daeea950dcd143cfb3"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314t-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "be4fac79eff4078b8e0fc13225fa4db7",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 2281882,
            "upload_time": "2025-08-02T09:46:29",
            "upload_time_iso_8601": "2025-08-02T09:46:29.392708Z",
            "url": "https://files.pythonhosted.org/packages/77/d6/a3655f861829a011a5a61318cba8a41c3f1ee43709ff0c5df5fde6b14250/scrypt-0.8.29-cp314-cp314t-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "be4a676d6fe706c5a9eb3d2fcecc1ea294243fc86fc0b2b19cef3df9a3a8685c",
                "md5": "507a16f344d846ce841649b2b390d900",
                "sha256": "78c307b34375b8dea96fd26dc61fc65cb2d3ec696974a712c790af305bd1141e"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "507a16f344d846ce841649b2b390d900",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 1482690,
            "upload_time": "2025-08-02T09:47:09",
            "upload_time_iso_8601": "2025-08-02T09:47:09.431226Z",
            "url": "https://files.pythonhosted.org/packages/be/4a/676d6fe706c5a9eb3d2fcecc1ea294243fc86fc0b2b19cef3df9a3a8685c/scrypt-0.8.29-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "adb0ac06771b9cb8026cd81852fe3759bf100e08a221bb7f640f98853cc5f79a",
                "md5": "1714d2f3081e48f6dbd2b37a7835b14e",
                "sha256": "d8ebcfc3c63f45f0e6be91a894d1d832729f421b994f7d43162d2c85832558c1"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp314-cp314t-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1714d2f3081e48f6dbd2b37a7835b14e",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 1989836,
            "upload_time": "2025-08-02T09:47:10",
            "upload_time_iso_8601": "2025-08-02T09:47:10.529897Z",
            "url": "https://files.pythonhosted.org/packages/ad/b0/ac06771b9cb8026cd81852fe3759bf100e08a221bb7f640f98853cc5f79a/scrypt-0.8.29-cp314-cp314t-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ea192b40ac6c298e552134661ce89ef0e06cab4ce7efa3c7797be05b4e69dd71",
                "md5": "0a95adc4a3519d852fc0de78939d0a92",
                "sha256": "fa8de8b30c81d4e48c2b9b0bb8d4e3ca942c326905954ceab7498f7fcc9ab8a0"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp38-cp38-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0a95adc4a3519d852fc0de78939d0a92",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2282066,
            "upload_time": "2025-08-02T09:46:30",
            "upload_time_iso_8601": "2025-08-02T09:46:30.954511Z",
            "url": "https://files.pythonhosted.org/packages/ea/19/2b40ac6c298e552134661ce89ef0e06cab4ce7efa3c7797be05b4e69dd71/scrypt-0.8.29-cp38-cp38-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "12e7b25d7e0e61e241b1eb8d59adab799cc66094c9201b1a43e2e7d4e74d71ff",
                "md5": "7c3c1adcc6ac21e6d9b0b26cbfd95d39",
                "sha256": "89b43edd5b1feaa6c63f86b7dce07d09b786dfdeda4c892ccdec518e35f4d8d7"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7c3c1adcc6ac21e6d9b0b26cbfd95d39",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 1482358,
            "upload_time": "2025-08-02T09:47:11",
            "upload_time_iso_8601": "2025-08-02T09:47:11.684812Z",
            "url": "https://files.pythonhosted.org/packages/12/e7/b25d7e0e61e241b1eb8d59adab799cc66094c9201b1a43e2e7d4e74d71ff/scrypt-0.8.29-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a2a6326cfbd6b1ce9d4c141babaa18940ff8bebc80d5201f1a2c2187f4b1d52b",
                "md5": "31c4fbd39bac73853030a45ad888d899",
                "sha256": "2e01a78a51dad139293a8fe3e1ab3ad23ea101e0a71b9028ba59737cd3369e81"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "31c4fbd39bac73853030a45ad888d899",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 1989214,
            "upload_time": "2025-08-02T09:47:12",
            "upload_time_iso_8601": "2025-08-02T09:47:12.845934Z",
            "url": "https://files.pythonhosted.org/packages/a2/a6/326cfbd6b1ce9d4c141babaa18940ff8bebc80d5201f1a2c2187f4b1d52b/scrypt-0.8.29-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0bbe6f391e90ed2615c16c03748285d6597a4e29731169a072b11da01ee09a4c",
                "md5": "83e11dff4861584b39fa64c9b55bec39",
                "sha256": "983fcea83bc543d25c241bf7a320a1f6fbedac5c7e8b50c66c0393b0da0d2b03"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp39-cp39-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "83e11dff4861584b39fa64c9b55bec39",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2281869,
            "upload_time": "2025-08-02T09:46:32",
            "upload_time_iso_8601": "2025-08-02T09:46:32.959075Z",
            "url": "https://files.pythonhosted.org/packages/0b/be/6f391e90ed2615c16c03748285d6597a4e29731169a072b11da01ee09a4c/scrypt-0.8.29-cp39-cp39-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f45d1644c94832df6afbfe2e2fa41f04de005a34e70f18ca2877f647c668eff6",
                "md5": "99245357b52fa9f425fa952fbd0fde58",
                "sha256": "9727f67165e2ba30c8b50d65525219451f259bcd677b96a64576cc167d25725d"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "99245357b52fa9f425fa952fbd0fde58",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 1409838,
            "upload_time": "2025-08-02T09:51:30",
            "upload_time_iso_8601": "2025-08-02T09:51:30.420327Z",
            "url": "https://files.pythonhosted.org/packages/f4/5d/1644c94832df6afbfe2e2fa41f04de005a34e70f18ca2877f647c668eff6/scrypt-0.8.29-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "626b31875c22cbb66d47dc8d4937b9c9316ceb6520e411cb524aa70932a38008",
                "md5": "27a065d51d80f579fcb3b123558abfac",
                "sha256": "bc7a166f2ff03605ddb5c614029d199add5a985894555ed08ca3494866cbcf2e"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "27a065d51d80f579fcb3b123558abfac",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 1482280,
            "upload_time": "2025-08-02T09:47:14",
            "upload_time_iso_8601": "2025-08-02T09:47:14.160873Z",
            "url": "https://files.pythonhosted.org/packages/62/6b/31875c22cbb66d47dc8d4937b9c9316ceb6520e411cb524aa70932a38008/scrypt-0.8.29-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "92334878dc8b5fcc42eabba297e2715539d8ab3a8becf4fb24db245b9b2a0425",
                "md5": "edcf317e88135b66755acdfac02ed702",
                "sha256": "2e69711c8b7032fe9744de65c283ec93c8ffcfcc19dd98fe142063f11eee7d4c"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "edcf317e88135b66755acdfac02ed702",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 1989417,
            "upload_time": "2025-08-02T09:47:15",
            "upload_time_iso_8601": "2025-08-02T09:47:15.292534Z",
            "url": "https://files.pythonhosted.org/packages/92/33/4878dc8b5fcc42eabba297e2715539d8ab3a8becf4fb24db245b9b2a0425/scrypt-0.8.29-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b058b102128150df9480d23ba5b81a3a409a003bbc1c8505e98fafa353c7be8f",
                "md5": "defd7a1286fbff309297edefe609799e",
                "sha256": "a05968e7f45209b6bbf12568bea5e70ef65f239d7ea35065f414bfab28ba4091"
            },
            "downloads": -1,
            "filename": "scrypt-0.8.29.tar.gz",
            "has_sig": false,
            "md5_digest": "defd7a1286fbff309297edefe609799e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 55866,
            "upload_time": "2025-08-02T09:44:45",
            "upload_time_iso_8601": "2025-08-02T09:44:45.069043Z",
            "url": "https://files.pythonhosted.org/packages/b0/58/b102128150df9480d23ba5b81a3a409a003bbc1c8505e98fafa353c7be8f/scrypt-0.8.29.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-02 09:44:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "holgern",
    "github_project": "py-scrypt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "scrypt"
}
        
Elapsed time: 2.23713s