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.dev7.tar.gz (24.8 kB view details)

Uploaded Source

Built Distributions

keygen_py-0.0.1.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-cp312-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 Windows x86

keygen_py-0.0.1.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-cp311-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

keygen_py-0.0.1.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-cp310-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

keygen_py-0.0.1.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-cp39-none-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

keygen_py-0.0.1.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7-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.dev7.tar.gz.

File metadata

  • Download URL: keygen_py-0.0.1.dev7.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.dev7.tar.gz
Algorithm Hash digest
SHA256 3ff52bea18eac31676d1069dc1e87b37639b583d35eaad9ecba44c29f3d98f50
MD5 d908403b18b6c5e7f73bfdd70c452bfa
BLAKE2b-256 7859cf434192b4924d3f7c5e46c12dc0bd5c209c6aa5f0dbb083acf5afd575bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d1e2b87fb9dc05b026575f95945d25799d662c71601099f2faa5c640e4da3e8
MD5 f72e5d301d06c50cd93fcde512b3675e
BLAKE2b-256 874a84ae4a8dd7e2ff12082489e0d60bf9084b23f55076d7c1c68e974b9f1797

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a220079c910f2aa0611732168abb7638c022c0e5acc731b8a53436202493a924
MD5 e41cd480617264ae609b5d8ea75c068d
BLAKE2b-256 aaa342ea9e31c67bfbacb5ad6c2e29d99349c7f7827fcd42892e037bc886f604

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 82e42adca77ce17c557e9f6e9290d5be478b8f647a7592618eb6ee6966539832
MD5 6f366f38d6ec69570f6383810e3dde70
BLAKE2b-256 e98b79c376f2f7c4b3b7c81c8186d95dea1ea50ce335cac11da0ec31ce3b3717

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e1fc5913d25dc77e8e640191284d212536286825af80f5132f591472a97b1523
MD5 40631bff29cdc3a1955da6c1fc35239a
BLAKE2b-256 f726acb781ae61a6f68c1b8d7c7510dfb02a160599966c34795dce6a55d4a9e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9062913cb5e17540f63b665c434dda056f39bb4389faef2ab6d95f3d7fe2f562
MD5 f0d34519ec1ec7dee279cc02df55b858
BLAKE2b-256 c06e7b3a97531189b4fb4bee46f55060c6ba19ce4226c37c068fa1fd5a2b35f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4a02e2498a52565ca8de2924c18c164ba93624265f255f4c11bee05f5733a8c8
MD5 e764c373aa3350955c0204b3e95ad0be
BLAKE2b-256 28626dc0b30556f72d8b5b69a7e69e2220eaf27e5def37475a15ff9e99a8ceaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7959aa4e9d686e31b93b8c73f40365423aa1795b52d98da8e6199fa192e7a5c8
MD5 95b5d4f97f41ae5aa883cb63ef689e07
BLAKE2b-256 47ceb236bb80944c17a2b3329724bedaccda52d41c36c67fe878fa8b7ce5d855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 505d7807cecb6c427a49e6f9538742cf84d80614a2e2a7c1cc66ad06016e1bca
MD5 7724322c5be19138359be91879888d49
BLAKE2b-256 9dc1ae4c628aeba6c9431e64130762cba38edd84a7f04f2f2b766d960b71629a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 da1f2508e29d159ef147cfb0270f1e1c9b42daacaf6d47d93fd8bba7e97424a4
MD5 701554840787c89ba7f0f35fcdd84627
BLAKE2b-256 1b57cc3ba4f89b32780a1b7ce3eab7dd9c2d8d1cdc7b3a4481fe3c0995c73ca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6ac738be7f65b52c63557d41381ff699b6167094233a296647b1b09b14b4a78a
MD5 5425dc0fc2a1817ddafcfadbade8a20c
BLAKE2b-256 80721234ef660dfe9f3fbb8d73e941fb5ffa60fbee78e0f857f5e92c9a85c783

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 573b2efc97bd4eb244511b2e869293fbcb552f9353ab88b8bad1ce3913bf2ac7
MD5 6764a3e1f75755321498ef0b5fa52fde
BLAKE2b-256 cf65e04ae9e5a9f8055fc9441b9a4270199d3fa5b25096314ff95111376e12a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a5eb31b608a2d1f4de59aa49b38741c82ce0c0aa36f46ba5c667d0216702f2a4
MD5 b72b3302a00c2445a06866396c6fe6b0
BLAKE2b-256 460d41512d2d5769e6e2c540589f33b1b02ce1017c5b19566b608f778fb71e69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ceb80955942b4482cd8a3d2b0c88499a71c8fb0c003f9007e1f48bad477e46fa
MD5 0bc7519cc223c741d172960dbe59460b
BLAKE2b-256 f5bc8b18e71ebe146f5341a898913a0d7dd9141eb3311834b8df14d93805f95b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 ea85c40ad337c7029fa2b73377ce2c79905243d71dd6bc7fb5ff37d1a2538c01
MD5 66af767ebe870dc7fc831a9338ccb109
BLAKE2b-256 dc9b75d86a364c7f0b8e632025c5681ac7161fe07460f75107cbd097c55a3778

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-none-win32.whl
Algorithm Hash digest
SHA256 848d8fc5b4b5636743de6f2a076dcc2b24913ee7a8ae9bc02ef1cf093395c84e
MD5 8c9001d9230d671c44e22cec0af725ad
BLAKE2b-256 f36efb5c3c1eb827a8bed8a93345ec4a2f8ada5b474d84de29ef66a176bc30fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5523647e8e29a1c87db2da95334b26c68647623209f367ef3e5d2871f1d3d3e5
MD5 d3c09b48e93e67b5898f0bc1f43e2e9c
BLAKE2b-256 c3be863c8fef321ed1738f7d8ab7b80a23f625b6dab63ec774ededbafde32066

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f753cff224157372641b9a360cb5154ad97eaa9d3102a5938cfd8f0e4bfdc651
MD5 904338e37bf3293d2518a25982772999
BLAKE2b-256 8142996eddea0589e4821e1fd0a741345536312d2c880d42697a248c472cf6c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cd4289e8f6b11782dd670f16cf0374f4d0158d9b2b81b282cd0a147c5f621c05
MD5 1486f9283bb9fba1605879de6cdf9dc2
BLAKE2b-256 27594780161a119bedd17fa0ed300274a37a7de98c0d2e47b27b2596db2c1d69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d9501c864810ab561eb3ba5e80331511d771f7427f163c63be9483c97e592008
MD5 097a8021b2de0a2c48dc213a5cac8460
BLAKE2b-256 ea050bcf9d6c8aed0bcd6b13ba0ebe587b4b33d4b54977529a7663e7090607a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 912ba1465737dec618c0c89e6eb1fec201b473d28330ba2d893488c9bb8af77c
MD5 e4350e88a0ee51d2a940c3d48f0b1518
BLAKE2b-256 5d97269e7da5dc5d835c10bcfef6bace54e96028d55474f838f45336a6b5e50a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a02513c6fe6e1628bdc825710026b239961147e341dc4b4e119363e0622e450d
MD5 da2185766ca80699fb5a80a71a983c9f
BLAKE2b-256 25d7fad74d9675bd01da04540edd2c7586a39aa5efa5b8cfdfbd8607b15113a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 03ac690f0db93e31f990042fd22ca7b5e77c63c836f15a9c1b860564c8e7c9dd
MD5 d845e5ccefcdca9842c430f088c368e0
BLAKE2b-256 f96af08ceb29ae54bef32690b24dc7bcc0aac606edf5ab2a22a1eb36740b9570

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f13e172c8f46732388ee7a61ae68459028da585dd5d4af07d84c5e2c9d8012b
MD5 08c0cd882abc80446c42f5a0e1f0900a
BLAKE2b-256 6672a7862f6a129d947a82e531bb70aa3634ad7958bf83fc3519e68a4d04e65f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99b839b8548e7f4164a1752488af2bdd7770b2ba61e2e25e4138eb219ca8182a
MD5 0d0d24a4986a1fc7be913eb75d206258
BLAKE2b-256 15a01496f3fd51e250e89864a5dbf7e727a644013a90f3b665646e948892a94d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 1bd27e1a3cc580fa573f4b76e59e12636cfee59e9603aca36b1727cd02d1a9de
MD5 3905a0e31f3e542e48f2f6bef5041685
BLAKE2b-256 8c7b825dd213119f24367c981092e5aa79179a7a1f31e77c3a30eadd009d4b1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-none-win32.whl
Algorithm Hash digest
SHA256 f2df5fc2ef9076cdf5082b6c12270b711f1f16b51e438a62a88439415ffa6699
MD5 efd67af9e2677141bf416cf8d5dceccf
BLAKE2b-256 8b8d8d2412ba85c2550b374562525ddf14bfe50d7f8de65d897226c7c592e57e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e5da7ef8e245415e2aa4b9855a695d431a775d17be04c4f6579e562f38abdad
MD5 92ff96e966530b82cadca75b74b4cc58
BLAKE2b-256 fe85105e52b590d7553e2473cfbb51ab05391219e2d396942a9b4fabbb5cb392

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f4952e5428d486d35272f538823a113810c1bbe1cd76ae4ef51cae091137d98e
MD5 83d344c19f7d69379928471565b6b122
BLAKE2b-256 75493c0a4918f7c2841566378a6e5e76f41447f93776c519dee52d3cffc29da1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 18a84d62305ee8b3128709541efa32f63957ee5ad4d3c0f9ae71a7d0d6a4bed1
MD5 0b28a6b05c049e65759dc613c29b0510
BLAKE2b-256 a240c98df37a578e262c3c1e5d749c5732bf68335eda16e11312068ffbf1e6cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 685e618fb6bb265ab378a9a32b12873b29c21159ac631456138eb1f6bf9a4908
MD5 7eb8c4ebcb3d7dd15b156942af3f3039
BLAKE2b-256 cbf268832ff333c649cf1a0eac7d8437f456d5699b56491853856c2d35ea3c0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c32d918f85d49f26c61ab912bc58159a15b3007964aa172dea524e797dc2c27
MD5 e8e4889f2a2559316ebd3f3d447c3a97
BLAKE2b-256 5767c85f4a2f0545a655f7c585b6752e5dad890c97fd467994ef4704c6429076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bcbd010ae38e228b239c95f2d4c49ba05059646a8391fb6b51a1d92843937247
MD5 d47ea0eefd4ae0127d6cc4f38c786c7f
BLAKE2b-256 5568ae3d0bc8cc69413ac7599d31d1d67faa85205546b2f7438103829f140115

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 803362925f578d1e249ecedafdf3eb0aeb744128df9aac4831c5651f1dfbe770
MD5 cbe06862b13721d50ff16f47a38f33d9
BLAKE2b-256 30efc2cddcaa57fe7d49624bcf08bc544e523c46008b312520e435fd48f226b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de915b08b5c14dbdecaa48a1948522cb7ef8f2cd694e6fe879509154bbe3ef6e
MD5 f7586853eba44accb1fbc854456a952d
BLAKE2b-256 abf506de9c3d259b1f15b1cd856186ce09a664673dfb833b9a61ac4cdc5379f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf09f5493fedb7024f86f4713d45d0dbb44d4f08cd5db70611fc849041b37a6a
MD5 5a81c8941583974c587eccc6b20f5cea
BLAKE2b-256 6845a889881863b4e0c66202538721489ba98e92ddcc9c6701c38d3e3bdd8673

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 1067a8b34143056f6f1ff838ca563d395c0d4dc0ce9b16f999b1b084f847cdfa
MD5 94966fd7698553a18084312f05764ee9
BLAKE2b-256 cde7e39610bd289dbbcfaaf4c254bbf14e5bab10b60c3488df1f1be080e696c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-none-win32.whl
Algorithm Hash digest
SHA256 23fd072cbc9da249268cab0b6e7fa36406f5c961af0961eca2bd71cbfb710d60
MD5 01d3a7daceabbec68d9835e26b59a37c
BLAKE2b-256 329c024db7bbefb3986b05bf406c288963ea3253b2bfdc7890c11a4200242617

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99109b5551cf0b8fcb8d8c8082571d4e89eda6667a09f11dddfd53bd1c62aeb3
MD5 a9a0c7f3109bece36cb777639645309b
BLAKE2b-256 09811be034d92f581c46046126882ec8c4c205dd73bc2dc6fe71a3ed04fa75af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 165b18ab96914ef07ac79d6679d1c28855397d049068b397afb05b79a59afb30
MD5 000a209bb64118f2c9b4ce39e0306b24
BLAKE2b-256 63a45c5c89595669a63a6aa60c27e25cbe224260a076906e8bd23463b164932e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ed277c625d463c4d38189ea73e4f8624d1381c795f1180088fe50ce5514e2e7c
MD5 8b5ab44ed00050b7d5d28e8ec12400bb
BLAKE2b-256 54b89af2495da8d2157876a10a3c99d7882774f67eebb06981d89f2aab2a7d39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b5147106d9bbc1e1da4eef9286cd9551e95a7746104341068e7d0b62d3856e1e
MD5 5876683b2b73aa28aced72ec84ea55be
BLAKE2b-256 d2cb46e10497723d2a5eaed21a2f2169ceff489f3f031857516df39d4defdd7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0dfeffe9513ca0e4b581733193969025e02f262b73d7bcde5f6679c0c87339a0
MD5 e5d4db094a774bf5f47ef65240b3558e
BLAKE2b-256 da99615647dd7a2221d5b1bcef790759703ff2816b8b3e24e5c27955c96c0a08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 00dab6206513403ea55fc58bfc407e5e8ab850991dd8a7482586017103a51174
MD5 95875f8322ff5dba06a05251339e7ca1
BLAKE2b-256 1a99952f6d3433e30d14c48987f696900fcfa8c388798c30772726402bd2a8b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6240a4fc869968625ded8279ce3f2cfe0189668deb73125c3e1e82820255fe65
MD5 f477116c52fe02e18192022add0ada77
BLAKE2b-256 f220f2d954d0596b68f89479afcda74683eba9dcc9b8d177d971f75ee466eff9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba4b7103840315f3531d42490a322719870ce7cd2330a9bfabec2abe740dc1c6
MD5 c4fe31d9d06c299a0906e52bd79c4ac2
BLAKE2b-256 d05b785f627ad20f137f5cfbb7d4fc3ce3ef40849c3038628f1d374ab46d485a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b71a7202fa85b238b4e395258959d7130362d877200f752ba36b566f293af85d
MD5 dde35cd018491208fc00c5925462ac6a
BLAKE2b-256 a0c8571a41736b8b0eb18e5de95eb751371924ce4eda8554ed14d4076d85b893

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 daa144a201bb9c0163bc75dd77e0e3a58f2766dc8c644ea30bc74033406f474b
MD5 d852e40e194971c4ca198dfb50190209
BLAKE2b-256 211734b2f2d52fa36aecceb5f014c2ec97e57127c67cdd886e4294db786fa79b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-none-win32.whl
Algorithm Hash digest
SHA256 57049d6ce40717662c8d6b8ee521eb45a5cf5e0771263ab686e2452e1d19b1cf
MD5 d2f5b10b193b5778b14224a52ddbafc2
BLAKE2b-256 6fd80f6f956ef34ad18543367317eaa7b94b27fdb1e3ee65f9684e591a1d9824

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5b350b83b45f7cb5376603608eb85fa3c7597a4ba2a5c60462f569456b3054e4
MD5 9e4bda84dde7df62814cd528f7ea86e7
BLAKE2b-256 5f76f5df036beb9ecab81c51ef923b1c24c1cfc1cb2c5552bc4d871fc52a250c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0c1951515fb681c96f2f5675b8cad2450eb5118207ee99a04cda950235a5dfb2
MD5 87ccc0d70f0286b6d2f70996b0a5abe9
BLAKE2b-256 343bbc1e26e2567f3f50c8b0add93de26f66bf2078d499d375d260dadc80a99b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7316657372101e05b7f7a7145b8f74514a59a79646cd67d7253db92230331f66
MD5 5c1710647de896f09cd8f5c068db6923
BLAKE2b-256 4a9325311e4eab63d4695c5a259196168338efa78f8c2fad1a78afa2cf1bb135

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b743054138995da3482fb239f80f72044abbdfb94c939d1825fe5ad5559f27e5
MD5 31087820fe24a095a3ad68588c81f687
BLAKE2b-256 bdb5be0befed5648c7825b40355969e3415259bc53f6fa384d715058ea2dce67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8554d52d62838e1ebdd06cf56cf75a46bd5c407ca775d57615a4c7d86d6451ae
MD5 16cb2c718a3661d233399ba609984bea
BLAKE2b-256 0df5b1ed681be99235e2c730f1cb2fe69ba47393cc0730c0e4d185c89ad11267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8e1dac6b3d8ed46a937cb46fe885657f6ddef0e14165762defd7fd943a867688
MD5 e81e3db857ddca607ad8092ea1c54122
BLAKE2b-256 6301ff7e092c06e51eb44b2fe0e0be962c317f4b595bbb37705fdef4839361be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a950926be78ef8f1be779307779fa297b603e166ae9c9b10efe08ffd52a00bf
MD5 854c9ce8a7d4fa896af896579d65e844
BLAKE2b-256 1ae614db52b69de94d8236dd0466792b88e744d25a86c9e83d4d8a70c250aa54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7094d188011e8a6ece9de592939e9dd5e8e2103c8e53f342047e121c58eaf111
MD5 15177c026210a598cc4c0be374f4a3ba
BLAKE2b-256 327ec75ee4301d34fcda3ea332d21114675a782401fa78b8129dc4e5c9ad70fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keygen_py-0.0.1.dev7-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eea68b29cea0c18d14d65a43c5d27c1a368e11043eb9ca6712ccd743a8c915f1
MD5 d18dbf12151c4955e52c3e3798758f84
BLAKE2b-256 a5a36be8dfd3151a11759c5589c5135928bd6b82c242087d9ff2653eff11cf18

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