Skip to main content

This is a set of Python bindings for the scrypt key derivation function.

Latest Version https://anaconda.org/conda-forge/scrypt/badges/version.svg https://anaconda.org/conda-forge/scrypt/badges/downloads.svg

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

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.

Build From Source

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

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

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

$ 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 or C:Program FilesOpenSSL.

It is also possible to use the Chocolatey package manager to install OpenSSL:

` choco install openssl `

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

Changelog

0.9.1

  • No notable change

0.9.0

  • Update to scrypt 1.3.3

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

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

For 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', force=True) # 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', force=True) # 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:

import os
import scrypt

def hash_password(password, maxtime=0.5, datalength=64):
    """Create a secure password hash using scrypt encryption.

    Args:
        password: The password to hash
        maxtime: Maximum time to spend hashing in seconds
        datalength: Length of the random data to encrypt

    Returns:
        bytes: An encrypted hash suitable for storage and later verification
    """
    return scrypt.encrypt(os.urandom(datalength), password, maxtime=maxtime)

def verify_password(hashed_password, guessed_password, maxtime=0.5):
    """Verify a password against its hash with better error handling.

    Args:
        hashed_password: The stored password hash from hash_password()
        guessed_password: The password to verify
        maxtime: Maximum time to spend in verification

    Returns:
        tuple: (is_valid, status_code) where:
            - is_valid: True if password is correct, False otherwise
            - status_code: One of "correct", "wrong_password", "time_limit_exceeded",
              "memory_limit_exceeded", or "error"

    Raises:
        scrypt.error: Only raised for resource limit errors, which you may want to
                    handle by retrying with higher limits or force=True
    """
    try:
        scrypt.decrypt(hashed_password, guessed_password, maxtime, encoding=None)
        return True, "correct"
    except scrypt.error as e:
        # Check the specific error message to differentiate between causes
        error_message = str(e)
        if error_message == "password is incorrect":
            # Wrong password was provided
            return False, "wrong_password"
        elif error_message == "decrypting file would take too long":
            # Time limit exceeded
            raise  # Re-raise so caller can handle appropriately
        elif error_message == "decrypting file would take too much memory":
            # Memory limit exceeded
            raise  # Re-raise so caller can handle appropriately
        else:
            # Some other error occurred (corrupted data, etc.)
            return False, "error"

# Example usage:

# Create a hash of a password
stored_hash = hash_password("correct_password", maxtime=0.1)

# Verify with correct password
is_valid, status = verify_password(stored_hash, "correct_password", maxtime=0.1)
if is_valid:
    print("Password is correct!")  # This will be printed

# Verify with wrong password
is_valid, status = verify_password(stored_hash, "wrong_password", maxtime=0.1)
if not is_valid:
    if status == "wrong_password":
        print("Password is incorrect!")  # This will be printed

# Verify with insufficient time
try:
    # Set maxtime very low to trigger a time limit error
    is_valid, status = verify_password(stored_hash, "correct_password", maxtime=0.00001)
except scrypt.error as e:
    if "would take too long" in str(e):
        print("Time limit exceeded, try with higher maxtime or force=True")

        # Retry with force=True
        result = scrypt.decrypt(stored_hash, "correct_password", maxtime=0.00001, force=True, encoding=None)
        print("Forced decryption successful!")

The encrypt function accepts several parameters to control its behavior:

encrypt(input, password, maxtime=5.0, maxmem=0, maxmemfrac=0.5, logN=0, r=0, p=0, force=False, verbose=False)
Where:
  • input: Data to encrypt (bytes or str)

  • password: Password for encryption (bytes or str)

  • maxtime: Maximum time to spend in seconds

  • maxmem: Maximum memory to use in bytes (0 for unlimited)

  • maxmemfrac: Maximum fraction of available memory to use (0.0 to 1.0)

  • logN, r, p: Parameters controlling the scrypt key derivation function - If all three are zero (default), optimal parameters are chosen automatically - If provided, all three must be non-zero and will be used explicitly

  • force: If True, do not check whether encryption will exceed the estimated memory or time

  • verbose: If True, display parameter information

The decrypt function has a simpler interface:

decrypt(input, password, maxtime=300.0, maxmem=0, maxmemfrac=0.5, encoding='utf-8', verbose=False, force=False)
Where:
  • input: Encrypted data (bytes or str)

  • password: Password for decryption (bytes or str)

  • maxtime: Maximum time to spend in seconds

  • maxmem: Maximum memory to use in bytes (0 for unlimited)

  • maxmemfrac: Maximum fraction of available memory to use

  • encoding: Encoding to use for output string (None for raw bytes)

  • verbose: If True, display parameter information

  • force: If True, do not check whether decryption will exceed the estimated memory or time

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

The hash function accepts the following parameters:

hash(password, salt, N=1<<14, r=8, p=1, buflen=64)
Where:
  • password: The password to hash (bytes or str)

  • salt: Salt for the hash (bytes or str)

  • N: CPU/memory cost parameter (must be a power of 2)

  • r: Block size parameter

  • p: Parallelization parameter

  • buflen: Output buffer length

The parameters r, p, and buflen must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32. The parameter N must be a power of 2 greater than 1. N, r, and p must all be positive.

For advanced usage, the library also provides two utility functions:

  • pickparams(maxmem=0, maxmemfrac=0.5, maxtime=5.0, verbose=0): Automatically chooses optimal scrypt parameters based on system resources. Returns (logN, r, p) tuple.

  • checkparams(logN, r, p, maxmem=0, maxmemfrac=0.5, maxtime=5.0, verbose=0, force=0): Verifies that the provided parameters are valid and within resource limits.

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.

Release files for scrypt 0.9.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scrypt 0.9.4
File Size Uploaded
scrypt-0.9.4.tar.gz 84.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for scrypt 0.9.4
File
scrypt-0.9.4-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp314-cp314t-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
scrypt-0.9.4-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
scrypt-0.9.4-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
scrypt-0.9.4-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
scrypt-0.9.4-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scrypt-0.9.4-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
scrypt-0.9.4-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
scrypt-0.9.4-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
scrypt-0.9.4-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
scrypt-0.9.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
scrypt-0.9.4-cp38-cp38-macosx_14_0_arm64.whl CPython 3.8 CPython 3.8 macOS 14.0+ ARM64 Details
scrypt-0.9.4-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
scrypt-0.9.4-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details

Total release size: 48.4 MB

Release files / scrypt-0.9.4.tar.gz

Download URL scrypt-0.9.4.tar.gz
Size 84.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0d212010ba8c2e55475ba6258f30cee4da0432017514d8f6e855b7f1f8c55c77
BLAKE2b-256 checksum
How to use checksums
db38c9b79f61c04fa79b8fae28213111a6f70d8249d4d789ca7030453326ab62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a8a8b39aa5c91b16ac9dcf83c26e96a096ab0b580fb614b2e9e8ce5ee77129a1
BLAKE2b-256 checksum
How to use checksums
4be194209fe6c9dd0b9e683c201c5d685bfc0b1621daa870918b3c9a62d85d62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f27618f2c0ed8834f3ca3623cdf6b24f6578b43dfcea73a9ebe8e2d341031989
BLAKE2b-256 checksum
How to use checksums
32f8a064c46f618e636b1e3f91a7f99c238848247345cfc72e563afd2a161bee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314t-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp314-cp314t-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
7e407269cbd80ff8f853fdc36fc7fb161400d595b8941df024046aba94db13ff
BLAKE2b-256 checksum
How to use checksums
9e0445b36cca742f037786ca2b30a0550645625915f6d79ddefe37854faec5ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c1b2937c29d73d9217554773d24a9e9301739e904566b3fe38890c9c0b2c6880
BLAKE2b-256 checksum
How to use checksums
806e96400591f80e988c92403c1d13f088a9d3273c3c2171a776c837290d15fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d1eec8826012bf3dda3ce84519088deb539dfd5b459ca9d591c3e7290abac17c
BLAKE2b-256 checksum
How to use checksums
79625fe4113d4cbb111b5d4c7c97d7b61644d158bdf9ef7ab0fb217c3a5532e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp314-cp314-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp314-cp314-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
add4e31ab1046551a5d95e88a8e80362823b85fac5a00e948d41518be37445e9
BLAKE2b-256 checksum
How to use checksums
1259baa438676f66355ea90dd235bd9bb9cfb4f3c8d4397852cbba1d5bc727c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp313-cp313-win_amd64.whl

Download URL scrypt-0.9.4-cp313-cp313-win_amd64.whl
Size 47.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
6ae6a0f7ccf7df9f0612b9166abbff5b6dacc41661044a0d090111aeb5e0bcf2
BLAKE2b-256 checksum
How to use checksums
980df62590144acf914a2eb4c3689cc6a2ca737a379962b0358f00dd0a1445cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ee29481f0751eb4e91c4fca8895d44822d523225c796e0ed016a550e7f20f582
BLAKE2b-256 checksum
How to use checksums
87c0d59f086fc8a589db06eac0b3829e2956de7a4c34d7c99c20b3cf6a858627
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
efaa359fab4682215d8826c5ff6ecda525d37eabfc0da4ab197a3fd95e6d5f87
BLAKE2b-256 checksum
How to use checksums
32d9076f90cb1086e32ebab30123952f4f162c80c53b8814e35bedb4aa720241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp313-cp313-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp313-cp313-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
58f424ac1656d342b2651bf5577f1b2aad9959c2e41ebbadf591035b372368a9
BLAKE2b-256 checksum
How to use checksums
aa2298e17e1ea6461a5c51c866192304182846fd004852f789dfece9f44c6553
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp312-cp312-win_amd64.whl

Download URL scrypt-0.9.4-cp312-cp312-win_amd64.whl
Size 47.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6266a455bf8a66facbebd466d34559414ef595421b231d379bde86e0a7e28ca2
BLAKE2b-256 checksum
How to use checksums
858512f92696774363e765afec9da4d65d36c3e485479e61aca8982c81807e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2d2491f7078b128b1245022062fbaebd7b80f9716761f1205d53810776d30c1d
BLAKE2b-256 checksum
How to use checksums
0234817122cce4baa7594565bb278787a76a46bea0e023c99d12ca830071cf51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3dc43bef0223eb4cb5fff6bbfeacc36be0bb5ef8e0b096e299a13ff9693538e1
BLAKE2b-256 checksum
How to use checksums
819af7956242e8ea68f62af8ae10c6cce8937f1590f10adc6599e218ea6149bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL scrypt-0.9.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0779702be09a3356db8ae38028b9c5572e157e16154073ea189d79acee912fb7
BLAKE2b-256 checksum
How to use checksums
dd8d28dab212c8b1e2068222bed0ff4079be0881f9ec40139c9ae722f4c7cf53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp312-cp312-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp312-cp312-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
349b158aa343205b3ffe38d72e53c70154583bfad098ef7c506172e3f65e9315
BLAKE2b-256 checksum
How to use checksums
4e55ff977b5fb5fd1d1a802e8ded5fcecbf3cf7d1212f645a48d451a1597db84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp311-cp311-win_amd64.whl

Download URL scrypt-0.9.4-cp311-cp311-win_amd64.whl
Size 47.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
70b075248a9f37dec3c2dee2d1c0dd3a286376793ee9f8736376cb510bed6682
BLAKE2b-256 checksum
How to use checksums
18c84fb946ee41f5df40ba79a1b2c01a041be621c74de50d8720c4a333f46c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
56f3346e17a57ea6f9a0ae913fea640bd98009c269ae73d4d2d4ecbe2eb3fcfa
BLAKE2b-256 checksum
How to use checksums
1f181b73edc9cf04657c910e920860c8472a3708aba7c32bb251a670e128c408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e42d4ed846a3641e7112ff54bfde5c026910d8bffe5ff647b43422c99422d981
BLAKE2b-256 checksum
How to use checksums
6d6a4b96cd10b32282b1f497d149b519baeafb8d4ed22d82d48539aca2c5e090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp311-cp311-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp311-cp311-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e33a200c5bb9350f673bbc4582fe77a5df782eb3784a971b71401f63a3fc72ad
BLAKE2b-256 checksum
How to use checksums
302719f15e85a906c6fe3b664071ffb3961c237a7410013a3de5cab21ad66d85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp310-cp310-win_amd64.whl

Download URL scrypt-0.9.4-cp310-cp310-win_amd64.whl
Size 47.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
44149e897a2f28dc6b445bbdb740e459b1f1114a608c9cbd496fd10698b6b817
BLAKE2b-256 checksum
How to use checksums
32e664dd0ec2d45d851145b902424f10a9635f492c775aa6ae2904ddbe1f7cf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5be616494bd646bf00a00ee8739fac3581c9326369cf4439889ff385be0fc17f
BLAKE2b-256 checksum
How to use checksums
4a7a2bd4606767c276baa8b14c81bee4be0564bae6305ac94575d55f7b6ae0d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e328f0c4bda5cb86cedc26b7b50fa232a2da14c203b7c1e8688698c42fb6d77b
BLAKE2b-256 checksum
How to use checksums
77a236769fba53e53cd168e04758d27f099a6d19e495c0d1b8cfe4d89faf9faf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp310-cp310-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp310-cp310-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
54023f235bd8b9412c26bda8e65b1dab5da4b6f533eb326c27fb0c9287cd5d46
BLAKE2b-256 checksum
How to use checksums
a4f3ad45d58cc1294d51cff10be752850370f37061a59b7287ed127cffbc6888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp39-cp39-win_amd64.whl

Download URL scrypt-0.9.4-cp39-cp39-win_amd64.whl
Size 47.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
c365d6c5d9372f4a708b0026a970b776eacbd2ba18b224f89ade93512930224b
BLAKE2b-256 checksum
How to use checksums
eed9bf5e1930f02133c115607b949c820d041c279ecf7805d5168bd7b6bd3285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e73979bb1557c95c433abc93f575fa47b348e57a6be2ac98a2ef752d0c69a689
BLAKE2b-256 checksum
How to use checksums
83ddd4e7d0b435428918eff071cde475f4fc2bba649e0c2277a1096f0631b9cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5e7c06e44d8b32fa96acb899b329b5f7c129b452b60787087847520d9bfc6931
BLAKE2b-256 checksum
How to use checksums
2f3e4d02546eb62b8cc375569067b4fb42d7cc2de14bed6ff8ee24a0ca71a52c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp39-cp39-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp39-cp39-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
18119f0c130c1aabe12a965a27b16759c22359ff83d28454dcdcc4368a135ac9
BLAKE2b-256 checksum
How to use checksums
80e348ef1b431b0d04ffa9e07791a36c8019a61a4fdd6750b5e31f940b5fbe76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp38-cp38-win_amd64.whl

Download URL scrypt-0.9.4-cp38-cp38-win_amd64.whl
Size 47.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
eb07778e27f882ac3a110c9c3f3b900c8b6ec3255be2e4cf66748f37446fae84
BLAKE2b-256 checksum
How to use checksums
36d288bb075fbf5e66597d2921fc07a23c9bc26329013934edf7a8b974b7c1fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL scrypt-0.9.4-cp38-cp38-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
086966395a1cb46e7a09dda45d38422c6ad61ea88aff8ae40ff6881a5a4fafca
BLAKE2b-256 checksum
How to use checksums
5dbf40ecb0d0c5662cce8aa26e5f56c6172e84f23abe1caf0ebed2f745184721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL scrypt-0.9.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6c88ce5916c2614a5d5b670208e6c7edc04bfe6c3205be843628ba265213f963
BLAKE2b-256 checksum
How to use checksums
cfdd5fcaa97c92ff57a3d993480ce119937dd03d5b30ea27ff4efad6a075865f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp38-cp38-macosx_14_0_arm64.whl

Download URL scrypt-0.9.4-cp38-cp38-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.8 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0d36a47921fe1d9421cb4eb671f2d352e92a303b4c7aa78693b7bcad450c66b9
BLAKE2b-256 checksum
How to use checksums
32510812b922e8ffdb43ec1006bc9485ee98c501e64ba59337abb927eaef6d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp37-cp37m-win_amd64.whl

Download URL scrypt-0.9.4-cp37-cp37m-win_amd64.whl
Size 47.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
2fddfb12c211cfcba4abc97a16c567d3d200dd817b5f840b83798b4864550a9e
BLAKE2b-256 checksum
How to use checksums
18accb9d11855f3dc9921b1864dc63878c850f27e9284e9455d2e5dbb0ca60ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / scrypt-0.9.4-cp36-cp36m-win_amd64.whl

Download URL scrypt-0.9.4-cp36-cp36m-win_amd64.whl
Size 49.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
aefbd02ad89299c5e1f097c4217ebcfc09e42666621a2ebd13717fc9b05f5bb5
BLAKE2b-256 checksum
How to use checksums
7dd97f47eb469f00e58073ae24d7cc2ea9b6e86f5489ee5299e3d7ee5f427581
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

0.9.4 This release

34 release files

0.8.13

9 release files

0.8.12

9 release files

0.8.9

11 release files

0.8.8

11 release files

0.8.0

18 release files

0.7.1

7 release files

0.7.0

5 release files

0.6.1

1 release file

0.6.0

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

2 release files

0.5.0

1 release file

0.4.0

0.3.0

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page