Skip to main content

Unofficial Keygen SDK for Python. Integrate license activation and offline licensing. Wrapper around keygen-rs rust crate

Project description

Unofficial Keygen Python SDK

The keygen-py package allows Python programs to license using the keygen.sh service. This is a wrapper around the rust package keygen-rs (so a lot of kudos there) to provide python bindings.

Installing

Add this to your pyproject.toml:

[dependencies]
keygen-py = "0.0.1.dev1"

Config

KeygenConfig

Use KeygenConfig to configure the SDK globally. You should set this before making any API calls.

from keygen_sh import set_config, KeygenConfig

set_config(KeygenConfig(
    api_url="https://api.keygen.sh",
    api_prefix="v1",
    api_version="v1.7",
    account="YOUR_KEYGEN_ACCOUNT_ID",
    product="YOUR_KEYGEN_PRODUCT_ID",
    license_key="A_KEYGEN_LICENSE_KEY",
    public_key="YOUR_KEYGEN_PUBLIC_KEY"
))

Usage

Validate a License

To validate a license, configure KeygenConfig with your Keygen account details. Then call the validate function with a device fingerprint (you can use py-machineid for this) or keep it empty depending on your policy:

import asyncio
from keygen_sh import validate

async def amain():
    data = await validate(["YOUR_DEVICE_FINGERPRINT"], [])
    
    # License
    print(data.id, data.name, data.key, data.expiry)

if __name__ == '__main__':
    asyncio.run(amain())

Offline License Key Verification

To verify a signed license key offline:

from keygen_sh import verify, SchemeCode

data = verify(SchemeCode.Ed25519Sign, "A_KEYGEN_LICENSE_KEY")

# data encoded
print(data)

Examples

For more detailed examples, please refer to the examples directory in the repository.

Testing

When implementing a testing strategy for your licensing integration, we recommend mocking the Keygen API responses. This is especially important for CI/CD environments to prevent unnecessary load on Keygen's servers and to stay within your account's daily request limits.

Inspired by

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keygen_py-0.0.1.dev8.tar.gz (24.8 kB view details)

Uploaded Source

Built Distributions

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded PyPy musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded PyPy musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded PyPy musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded PyPy musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-cp312-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

keygen_py-0.0.1.dev8-cp312-none-win32.whl (1.3 MB view details)

Uploaded CPython 3.12 Windows x86

keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

keygen_py-0.0.1.dev8-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

keygen_py-0.0.1.dev8-cp312-cp312-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

keygen_py-0.0.1.dev8-cp311-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11 Windows x86-64

keygen_py-0.0.1.dev8-cp311-none-win32.whl (1.3 MB view details)

Uploaded CPython 3.11 Windows x86

keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

keygen_py-0.0.1.dev8-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

keygen_py-0.0.1.dev8-cp311-cp311-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

keygen_py-0.0.1.dev8-cp310-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

keygen_py-0.0.1.dev8-cp310-none-win32.whl (1.3 MB view details)

Uploaded CPython 3.10 Windows x86

keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

keygen_py-0.0.1.dev8-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

keygen_py-0.0.1.dev8-cp310-cp310-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

keygen_py-0.0.1.dev8-cp39-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

keygen_py-0.0.1.dev8-cp39-none-win32.whl (1.3 MB view details)

Uploaded CPython 3.9 Windows x86

keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

keygen_py-0.0.1.dev8-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

keygen_py-0.0.1.dev8-cp39-cp39-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 10.12+ x86-64

File details

Details for the file keygen_py-0.0.1.dev8.tar.gz.

File metadata

  • Download URL: keygen_py-0.0.1.dev8.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for keygen_py-0.0.1.dev8.tar.gz
Algorithm Hash digest
SHA256 7bdcbddede27d13f49d833a35b2b15ba5258bc021afb56027027cd5ec04b53ee
MD5 b9977caefb081d38198c7a4de1a6c6e6
BLAKE2b-256 d92d114d15318aa4bca91f128414d22e088200f533bc2c2bf60354baf4312563

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a76f96b3fa49c7215b6b79fe883cd1ae8d051f6ab3b879ddce32e9d6a6a5bb90
MD5 f06da4686c656b86ab8df4c5cbfed3b4
BLAKE2b-256 e50c11b4b9e1a07d312625a5ca5a67b359fcb8bf811500db5938ef8d4c06a2c0

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1a37c60e5b0d07ac06c238b1445add6a62d79d4021b23ffb6d4e810bc944d9fa
MD5 55ad327f28a3ea8b1bf6a23c3ad94b9c
BLAKE2b-256 0fec1bb50bbd729430e72aa02189be2b14e9ee593a413ba544f09c6a10ba9a79

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 65cefb9714ea16cc8e380a5a92f2ddf68047a2117ce7b2b79fb4976863243bc9
MD5 d7180a19b478566bab398d92c89601dc
BLAKE2b-256 678c63e810e744bc7616182fa4b7d217a8d4df51d06fc49ec8c60fc4f1b44dce

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d5b29405e7d0d76ea6ff23e5f3a1bc77896267282de620d9dabbb92592e61fe3
MD5 e90835a0695564a4433e6906ffb70b73
BLAKE2b-256 d11f51d0e4af29fc02e1f78485c84b2f765b7cc430bbc573a9e877e85ff782cd

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 356933bbf30e1cab1b956077c0ce769587aba2fbbf1e7a58951faa7203b97a8b
MD5 f905e0f361bb5e270558215d1eaf0038
BLAKE2b-256 f7bfe72b61e850e11def82558cf97979394fea952597bbe01343f995c1473d10

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 666bd7ec4ab6d34458fc9e4199537fb28b573056e43683c8a860db07f41b6f93
MD5 a9b82d80a8948bfe91036901dd858e97
BLAKE2b-256 0d744d0c4844ecf9e928a770724ec64217b96e11490a373327b6e8f53a4d350b

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 21e32deb37ceb0376aad54213a4547e622d9209c312d5420d4293f7b148d4f3d
MD5 89a3ba842c14f04a4653df118dea3622
BLAKE2b-256 641c58c1cd39e206d00ed713cd32fe11e0113ed327e1863b78da855f4d64d059

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56689047c63e453e1debef2875661ee84e1b8943eede8bebcfd516dd0305f694
MD5 97a8a73c4df479dffe466ca977607625
BLAKE2b-256 d5735a98be1c8c10dfa447519b455a0a8a73996c8c3583a4fc703d8aba59dca2

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 967c1dc5e30159b98f8720e30831518487ec5c0251836c40ab18e54e09f37b55
MD5 e131107a3148c837f36bb478c73d376d
BLAKE2b-256 43fabf2d4cf63ba520638179c1b49024b5b5c24dca4355158cc9d5b22e556ec2

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8e640e3d21441eb15b53629cb3a794657082d90effdca403169a20098d7c1f96
MD5 ac93111f8eca565f2e244fe8e66aa753
BLAKE2b-256 ba650893cee425d01f23732750c7c0e7218a15038d9705496c740b8fe6042c63

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 114e49745744ac74ec6d044e994a176887928957ca1abc9b48716a9d522b3391
MD5 e806d4c082853e688dded2ce9858ee50
BLAKE2b-256 46de40be505ca826af45d1443e2aeb51260f50752a1862015ba7088293e68278

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9fe11b3a79d4bf4aa09d0cfa752c5041c2bf8d06b3b57e84ad313bc9a9445fe1
MD5 faf37cc9b8f88e08e05236f1736b8375
BLAKE2b-256 4bdfdeda6256bcb27f68aa4635b9ede9afd03b8fb1745f89dafa27100f798669

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d11f81ecf084b4d26e32975de36aa170a8f604543b7c4b9b8a67730eb32160e9
MD5 743a459cb30da0d0b43fd9c4ceb443db
BLAKE2b-256 b341cd28593d56d9d26b0fa65ea5207fcf697abeb0eb19f657380b6006bddaa7

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 79a67e27c132696398af81f434f61cccf96e4883576981c9b61c0a6dfa173186
MD5 3564bc5025736c81af91e4536a066be9
BLAKE2b-256 dcad73f54c16771561c67203ec08efde9b92b6f163dcc34f88a09fbb9ddb6f86

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-none-win32.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-none-win32.whl
Algorithm Hash digest
SHA256 067231cb57e9dc6af8e7adf2c86ad453d99501bcc42b26ca40c6aa02489b44b6
MD5 bc3d88682fce16b75c180cae29326d65
BLAKE2b-256 9e59f316cd7910b97f7a32989ef68c9823b50d1fe0004fda7feb84ed1f74ed53

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1112af9ab73be8b3f7fcc0d3c9611baff28708dbfb143e172ceaa539d7ad5058
MD5 469a0c4a4c2077e366b758bd79afe288
BLAKE2b-256 168d69b50f30c668e2274323d1d4e95f36a055eecd62cdcb2a68c31c1422fb32

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cb8fbb26505952c737cd6af05cdbe73d8d1063eb8c55a9699821178c34361d20
MD5 13a10eddb981dd89f4c07827b58ab431
BLAKE2b-256 e7bee92c58d16af9f906b68292b2639926068315d79b08f8b4fa9df14341a045

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 459ccf36a36c477ec6c58cd0b8e1e1586bb70cbb9bb42de6e7d0deb03b394e76
MD5 e42d9a1c154d4f1b1acffd11572b1ef5
BLAKE2b-256 efe21380af6989a5dfb246876ff2fe63339ed3bd8c2689217bf3ffcaeefa8ad4

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a4a979c13c90b2db02e2878e7abe040676dc9e16222928d676ea8a9c7353b102
MD5 f950d456f3ebf90dd308072bcf44a6d8
BLAKE2b-256 f85f70da26ec580f48d9e3cf15cb5c048e7839eecf3d256882ba8313fcb204da

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 013cb4eb9d568fb2ad256bc5b2873a1fecd813c6a5f0af4717fd86efad69e55a
MD5 0ce5e58e834bf3454dfdae9409c886ff
BLAKE2b-256 9d35b6e96ec419d29733d2c8882a885e4e0970b3d80356a406cb875c2cfc8f02

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a7eafe9184b78a5fa078e1f9f937c03b39a3b264aafea7e9e45c0b4272015145
MD5 7b8a33440b12e076659a40adf502a33a
BLAKE2b-256 ea19cdedfc3813d76d66be72edc74680b9c2fd905f85d58c22425318238af462

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71daca606eeb725659565f359fbb3a7199bb4f334ae48087265b60a9e3b2ac8a
MD5 70f7e2edeeffcce30df053afcf545044
BLAKE2b-256 9d65563131eaca7b4bf8ee3fdb35cfd9654ad8f5e84793dcf87ea9f05602c8e6

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 400c3bccd138f37f7c261a493cce812bc8ab4831bbfb50dbf878ae0732500340
MD5 cf5c0574ac3c13cfed63626f915658cb
BLAKE2b-256 4861feac6671fd42ba1da8c4417ee40931f6809b91e5603d7794bcec5b6381c7

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d2ba401e4249074fffa0dd608d57fe23ff73aabc467f1097df2d8e70ae6b9aa
MD5 4c18ab73f51d5bac38b058ffd9dd085e
BLAKE2b-256 0ac64a818eff56c4e399ee8943ca017fd0cd82063afb1f6df2e75ebe4515db6a

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 fe93ac8d702601a6f5c7369b04eca71582fe298b9a5c67a1a1d2a393c39242f5
MD5 c1dbad38af24e4b4b5da1d892033407d
BLAKE2b-256 81cc1222b62120dc0c5befb72302ede0adf8f2f4fe3ac90f32e1495990ba0b8b

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-none-win32.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-none-win32.whl
Algorithm Hash digest
SHA256 8b805b277b49270362da2adfe1aab0e23c8fa072022eeb451abe78038022b2e7
MD5 31b5616bdcf1644958c9a8268581316e
BLAKE2b-256 eacb59b792523b853aee97909866847164c33746dae22211860396ae333c808f

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 39b3dcb6ad299fd46e827ddb6b33ec1082a86594c9f989d80a32a87e2d8bcd5e
MD5 0a90f66e2864a63a7060bf74806a3443
BLAKE2b-256 e95e8f10ea0a7e6a36c6de041d03ec1cebe2166d922c40a17052e02be7e6b0a9

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 96cec98391291d90e8847785aabf306bf96f2af3b32c351b09577b4745930d45
MD5 8b024cf57aaa5e4e2eee21b8dd3d5076
BLAKE2b-256 1d4c09e3e3cebdc64f26bd88366e3b6245f17b2c99017143374ae18d467822b8

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1801b2d5988b092b54659c24f654f8f6ee6d350a2fc1afa04e3e98565ab6c3a8
MD5 252dffd6ce26621d5bfbca61f4c0e41b
BLAKE2b-256 b309f327b28ccc37399fad288ce79d5154bb1d4c8167a79ef08966f88806dc16

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7792786c474c3814c6c40c707d961ba3a823da631baee2e4f2e4e500ff39be62
MD5 d62896a8affcb97545515091ac2c8750
BLAKE2b-256 ef7c053274b3e31c4f98b20e023b079f818eb45845f881186a830c71e6e3698d

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ce9bec8ae99f95041268dc74d6d033aa42801f75cb2c15116828653c9d18abe
MD5 930573fb1798cfe32f007ed8dc2ac64a
BLAKE2b-256 7f510b35e3bba4eefdccad0ad79a7ee68a04dbe729763f443a23635289e9d6b2

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a2f91e8ee23fad3178d8e76f255f116823be4d2bd83c5cea6f85e54690928b9b
MD5 6dc98b336d1bf605091da17317c158d8
BLAKE2b-256 4f144a9209b175fe5158da603c97c3bb4f91d44126cb85f3bb79b302aa1d84e9

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4df221b76e324a2bcf28482ee7bcd2c515e704c6ee92c0b5eebb4633fc9e423c
MD5 1ca0a8c3fdfd4590b5d384c84d8eeed0
BLAKE2b-256 63df64b80d66fc15f6827390d2ecc9f64fa5b4405c5bfdf17d7a45a9f811a29a

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 50daa19af069493be9318c728c723618a0b8004886fc15c972d54dd86b93cb37
MD5 7bc32c6eee1141880b34d4ab770b624e
BLAKE2b-256 cc0ab5f67fd42e07a3216a6fc0a32320a21509c4013ff0fbca6dbf701bb360e7

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bbae027eddb30fc15148508ee30b978f3b55661a46ab372f654eb7498695f674
MD5 807d5b6383ebc8cff0315e6bbc960b9c
BLAKE2b-256 5489c1aa886e5fc41904679eb547755a34d21d7af99674712227dfd33fee888e

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 3b3e2adc05071ca84865fc77f9bb7ffe6c51385146db436299d564707a4a7a32
MD5 cb421be448258c8c21eab09c79e38f52
BLAKE2b-256 4d420bcee078e0bbbaecf66eb1f79b20d38452ad6fa1c1be8584f527139c206e

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-none-win32.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-none-win32.whl
Algorithm Hash digest
SHA256 175e7620d1eba883cfbd13bfc8b9918820378062a838fe7a4f3e9f89e2a4ac61
MD5 c5bf7bedd7a1132f7a1bb70a485ddc66
BLAKE2b-256 9d88f67fe13717a2021ece9c9d33dd4213215b7f3ab11b204ec55f11794fcf63

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b347a82754d6370c1a090d363d3df1542f93e42ff0810ed33b6bf77b76e233c8
MD5 43126777c59067c9f5f8e648f0db84ba
BLAKE2b-256 3734b65c002d427797cfcaeb9cb2027d782ef2c3528d5cd2b8084dcc89dfcc99

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 053d7e1e974c697fc17a8a727ce4a0b47a93fb8d65c11da764a5df4876554133
MD5 3c6a16e4de0304f28c992b75e9fed221
BLAKE2b-256 f17909e34abc9839953321ea404ffc3f06c0d46fbdd80cb840c66ac3e0ccf9ba

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cd96a9a55632825d1438cce959416e75b3e30f5f3f806da10d7d1d3439ea58c4
MD5 6800bb713714d6ccfe517a3a85f2c007
BLAKE2b-256 1614f04c6f5ab241b20682ad8218b5303426f3ffd694a926da47a3936b0a5ba0

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d32a7bfbafa0435793d0e71b63ce879b84f48e457ca8d0fd9ec67ac609cdb2fc
MD5 44fda2ec4c363b9529f7d4b713b4c3b0
BLAKE2b-256 c39692e5a3a15d0f65f1933363479ac88ca828088f7c70eac1e63cef5f112257

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba470e7e579052df8bcc22ae68df4f12d3c45ed2f53854a21c42268620dff39e
MD5 e33f8702bf59f1233758c77ecda901b2
BLAKE2b-256 4baf4bc5756d370ddbeff4ab3a91da267d6facce81b1485effda9c9c69e3cc0c

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 776f37dcaeef93cdb9e8ec284a340e82071dcfbd7ee3cdeb311677337cb42dbe
MD5 81287a05e4f711e5d01f412f270421a0
BLAKE2b-256 7ba55b3d2ab063883e641531037ecf1f8305d9ad92283fab4974ca1967918011

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 65441b44642684fcbcedf6ffb44e98464212741c5e92db60b67306f70d37c3e0
MD5 841c40a4f728ad60bcddc5cd24f088ff
BLAKE2b-256 351fd78e3c9b0cfe12f8ceb137304cf33f715e163e94cd17eb648397bfeff10d

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c45f6ba774f5c2681f519e0588d015027c7f2d58ea0bd20767332355a8a6c1d6
MD5 2e062ec8b59f179f4368c7b8e2a4fe3b
BLAKE2b-256 102c9a1d74e77d40a2ce817cefd79b864866903431b9d1e557e36997cb43edd0

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 392db8504f4a05e1db89baac5c15feef0f91f6da73ef6081a3c2adb1e6fa4b69
MD5 ed7e7648362f96bf97909e03fd76010a
BLAKE2b-256 d46054b1fabe75b65e1ead23badb56457fcd708b82a310caeff9409a99827716

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 8b95d882e14b942abc18c9571ef2337c3ed85a632b5de6723b7ce53285cd2d53
MD5 2690598db45975115c16df26063b753f
BLAKE2b-256 2297ece909d01299771dc883470d382256311c8d337417f16617622621293c22

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-none-win32.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-none-win32.whl
Algorithm Hash digest
SHA256 e0498eb0a2318e756174a627fa01dda63ebb6c2528243dc337ac38482f458fc6
MD5 4e6f8834dae4eb7e09125565023aaddb
BLAKE2b-256 b0223a559fbd196764a4f8a7ec7f62755642ebbcec7c687a3b7efb29e396003e

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 21442ae563b52c48779f7efa0c50bd06b9b9a975b87a29dfe078efe2c5b58bf0
MD5 0892671e194ff791382f27659e1e32e5
BLAKE2b-256 d173bdf3cbc6f9195fe3145c444bf875cd7fdf97dbc01972ea1c76bb9764eb67

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d9b67a92a99da49712c48f8307c96c221872e3a0a65050b113b2a5150d169766
MD5 21244c304d223bab8f3146ace9fb2ac9
BLAKE2b-256 f5a9e6419489a4dd57b4e327b2d68be63d278822b58a4b1992e636f6b2cb9848

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 061ecefd9d052c075a4cc1f55afab383c2eaac4b5ba9099091e3c11cdf9131c9
MD5 8c6d01d35a65c4c4ec7422b9a5052ceb
BLAKE2b-256 e5a6e74a745aeeef6f8c18bcb0de0efed1a11cd02698d0cb54f63c4a178c9b49

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43cd070d241592bc7a0c0513c1f3a489c8b4644874bb1cfdd79d290fa8ecb3c4
MD5 d6572c3bdb0e07b271063266289219be
BLAKE2b-256 1eeafd1abedeaa98272ecdbc6205ef84b1573db734886b3c18828226fe75b47a

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed09b211f05adf4d523c6be8fadc01df611c39de7a34cfc3a0fc5307290fe1ed
MD5 fd4ac2cc53192b896a05c16ca02270b2
BLAKE2b-256 ba2611e0e49d905b5e3a07a1afd241169b2fde7dadae348c71af935f2c334cdd

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b680f00cbb7c206cf0ef951654e63e3b308a5f240d2b1a477315ee2ba565297f
MD5 2b4203242fa3d421573bacdc0dc31825
BLAKE2b-256 0e7b12de5aea0a8b752c3f8cf916a1106cc7e982da9e5d891aceb5d19af77596

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9930b1e7ec5a5d2c8160cbea57b18005ea6b5c29d08b613bf74e39db3142d652
MD5 aebcb02329fade3e5eced426e4ce2461
BLAKE2b-256 7fa6170d01fc98323a5cc36c52a2c381492aea9ab64a9f9048d22188713ca663

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9ec6c97610430c133e2391e074c4458f9b89ba6526d23d9c0c118bea1a1bb88
MD5 faedee6cbaa815b7ead5148a0ee60a8c
BLAKE2b-256 c832d15ac081e6204a64b8f0d396b54182485412388923245ab07ff33cea81a7

See more details on using hashes here.

File details

Details for the file keygen_py-0.0.1.dev8-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev8-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 37afd698f162d5932f535f130eba505568a91bff72366b05fc1ea40226b213fd
MD5 8008456aa6d2d4e2eab43dd996915978
BLAKE2b-256 3573ff621580fcc08d8a31e991595ef858f5ecb2212d216d9de25a3b50fd3c03

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page