PyroTgCrypto


NamePyroTgCrypto JSON
Version 1.2.6a0 PyPI version JSON
download
home_pagehttps://github.com/pyrogram
SummaryFast and Portable Cryptography Extension Library for Pyrogram
upload_time2024-02-28 13:32:33
maintainer
docs_urlNone
authorDan
requires_python~=3.7
licenseLGPLv3+
keywords pyrogram telegram crypto cryptography encryption mtproto extension library aes
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TgCrypto

> Fast and Portable Cryptography Extension Library for Pyrogram

**TgCrypto** is a Cryptography Library written in C as a Python extension. It is designed to be portable, fast,
easy to install and use. TgCrypto is intended for [Pyrogram](https://github.com/pyrogram/pyrogram) and implements the
cryptographic algorithms Telegram requires, namely:

- **`AES-256-IGE`** - used in [MTProto v2.0](https://core.telegram.org/mtproto).
- **`AES-256-CTR`** - used for [CDN encrypted files](https://core.telegram.org/cdn).
- **`AES-256-CBC`** - used for [encrypted passport credentials](https://core.telegram.org/passport).

## Requirements

- Python 3.12 or higher.

## Installation

``` bash
$ pip3 install -U pyrotgcrypto
```

## API

TgCrypto API consists of these six methods:

```python
def ige256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def ige256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...

def ctr256_encrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...
def ctr256_decrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...

def cbc256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def cbc256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
```

## Usage

### IGE Mode

**Note**: Data must be padded to match a multiple of the block size (16 bytes).

``` python
import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key
iv = os.urandom(32)  # Random IV

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

ige_encrypted = tgcrypto.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto.ige256_decrypt(ige_encrypted, key, iv)

print(data == ige_decrypted)  # True
```
    
### CTR Mode (single chunk)

``` python
import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024)  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

ctr_encrypted = tgcrypto.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))

print(data == ctr_decrypted)  # True
```

### CTR Mode (stream)

``` python
import os
from io import BytesIO

import tgcrypto

data = BytesIO(os.urandom(10 * 1024 * 1024))  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

enc_state = bytes(1)  # Encryption state, starts from 0
dec_state = bytes(1)  # Decryption state, starts from 0

encrypted_data = BytesIO()  # Encrypted data buffer
decrypted_data = BytesIO()  # Decrypted data buffer

while True:
    chunk = data.read(1024)

    if not chunk:
        break

    # Write 1K encrypted bytes into the encrypted data buffer
    encrypted_data.write(tgcrypto.ctr256_encrypt(chunk, key, enc_iv, enc_state))

# Reset position. We need to read it now
encrypted_data.seek(0)

while True:
    chunk = encrypted_data.read(1024)

    if not chunk:
        break

    # Write 1K decrypted bytes into the decrypted data buffer
    decrypted_data.write(tgcrypto.ctr256_decrypt(chunk, key, dec_iv, dec_state))

print(data.getvalue() == decrypted_data.getvalue())  # True
```

### CBC Mode

**Note**: Data must be padded to match a multiple of the block size (16 bytes).

``` python
import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

cbc_encrypted = tgcrypto.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto.cbc256_decrypt(cbc_encrypted, key, dec_iv)

print(data == cbc_decrypted)  # True
```

## Testing

1. Clone this repository: `git clone https://github.com/pyrogram/tgcrypto`.
2. Enter the directory: `cd tgcrypto`.
3. Install `tox`: `pip3 install tox`
4. Run tests: `tox`.

## License

[LGPLv3+](COPYING.lesser) © 2017-present [Dan](https://github.com/delivrance)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pyrogram",
    "name": "PyroTgCrypto",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": "",
    "keywords": "pyrogram telegram crypto cryptography encryption mtproto extension library aes",
    "author": "Dan",
    "author_email": "dan@pyrogram.org",
    "download_url": "https://github.com/pyrogram/tgcrypto/releases/latest",
    "platform": null,
    "description": "# TgCrypto\n\n> Fast and Portable Cryptography Extension Library for Pyrogram\n\n**TgCrypto** is a Cryptography Library written in C as a Python extension. It is designed to be portable, fast,\neasy to install and use. TgCrypto is intended for [Pyrogram](https://github.com/pyrogram/pyrogram) and implements the\ncryptographic algorithms Telegram requires, namely:\n\n- **`AES-256-IGE`** - used in [MTProto v2.0](https://core.telegram.org/mtproto).\n- **`AES-256-CTR`** - used for [CDN encrypted files](https://core.telegram.org/cdn).\n- **`AES-256-CBC`** - used for [encrypted passport credentials](https://core.telegram.org/passport).\n\n## Requirements\n\n- Python 3.12 or higher.\n\n## Installation\n\n``` bash\n$ pip3 install -U pyrotgcrypto\n```\n\n## API\n\nTgCrypto API consists of these six methods:\n\n```python\ndef ige256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...\ndef ige256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...\n\ndef ctr256_encrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...\ndef ctr256_decrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...\n\ndef cbc256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...\ndef cbc256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...\n```\n\n## Usage\n\n### IGE Mode\n\n**Note**: Data must be padded to match a multiple of the block size (16 bytes).\n\n``` python\nimport os\n\nimport tgcrypto\n\ndata = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding\nkey = os.urandom(32)  # Random Key\niv = os.urandom(32)  # Random IV\n\n# Pad with zeroes: -7 % 16 = 9\ndata += bytes(-len(data) % 16)\n\nige_encrypted = tgcrypto.ige256_encrypt(data, key, iv)\nige_decrypted = tgcrypto.ige256_decrypt(ige_encrypted, key, iv)\n\nprint(data == ige_decrypted)  # True\n```\n    \n### CTR Mode (single chunk)\n\n``` python\nimport os\n\nimport tgcrypto\n\ndata = os.urandom(10 * 1024 * 1024)  # 10 MB of random data\n\nkey = os.urandom(32)  # Random Key\n\nenc_iv = bytearray(os.urandom(16))  # Random IV\ndec_iv = enc_iv.copy()  # Keep a copy for decryption\n\nctr_encrypted = tgcrypto.ctr256_encrypt(data, key, enc_iv, bytes(1))\nctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))\n\nprint(data == ctr_decrypted)  # True\n```\n\n### CTR Mode (stream)\n\n``` python\nimport os\nfrom io import BytesIO\n\nimport tgcrypto\n\ndata = BytesIO(os.urandom(10 * 1024 * 1024))  # 10 MB of random data\n\nkey = os.urandom(32)  # Random Key\n\nenc_iv = bytearray(os.urandom(16))  # Random IV\ndec_iv = enc_iv.copy()  # Keep a copy for decryption\n\nenc_state = bytes(1)  # Encryption state, starts from 0\ndec_state = bytes(1)  # Decryption state, starts from 0\n\nencrypted_data = BytesIO()  # Encrypted data buffer\ndecrypted_data = BytesIO()  # Decrypted data buffer\n\nwhile True:\n    chunk = data.read(1024)\n\n    if not chunk:\n        break\n\n    # Write 1K encrypted bytes into the encrypted data buffer\n    encrypted_data.write(tgcrypto.ctr256_encrypt(chunk, key, enc_iv, enc_state))\n\n# Reset position. We need to read it now\nencrypted_data.seek(0)\n\nwhile True:\n    chunk = encrypted_data.read(1024)\n\n    if not chunk:\n        break\n\n    # Write 1K decrypted bytes into the decrypted data buffer\n    decrypted_data.write(tgcrypto.ctr256_decrypt(chunk, key, dec_iv, dec_state))\n\nprint(data.getvalue() == decrypted_data.getvalue())  # True\n```\n\n### CBC Mode\n\n**Note**: Data must be padded to match a multiple of the block size (16 bytes).\n\n``` python\nimport os\n\nimport tgcrypto\n\ndata = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding\nkey = os.urandom(32)  # Random Key\n\nenc_iv = bytearray(os.urandom(16))  # Random IV\ndec_iv = enc_iv.copy()  # Keep a copy for decryption\n\n# Pad with zeroes: -7 % 16 = 9\ndata += bytes(-len(data) % 16)\n\ncbc_encrypted = tgcrypto.cbc256_encrypt(data, key, enc_iv)\ncbc_decrypted = tgcrypto.cbc256_decrypt(cbc_encrypted, key, dec_iv)\n\nprint(data == cbc_decrypted)  # True\n```\n\n## Testing\n\n1. Clone this repository: `git clone https://github.com/pyrogram/tgcrypto`.\n2. Enter the directory: `cd tgcrypto`.\n3. Install `tox`: `pip3 install tox`\n4. Run tests: `tox`.\n\n## License\n\n[LGPLv3+](COPYING.lesser) \u00a9 2017-present [Dan](https://github.com/delivrance)\n",
    "bugtrack_url": null,
    "license": "LGPLv3+",
    "summary": "Fast and Portable Cryptography Extension Library for Pyrogram",
    "version": "1.2.6a0",
    "project_urls": {
        "Community": "https://t.me/pyrogram",
        "Documentation": "https://docs.pyrogram.org",
        "Download": "https://github.com/pyrogram/tgcrypto/releases/latest",
        "Homepage": "https://github.com/pyrogram",
        "Source": "https://github.com/pyrogram/tgcrypto",
        "Tracker": "https://github.com/pyrogram/tgcrypto/issues"
    },
    "split_keywords": [
        "pyrogram",
        "telegram",
        "crypto",
        "cryptography",
        "encryption",
        "mtproto",
        "extension",
        "library",
        "aes"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0dbe76be1415f5472c74ae892383635bf306e44d5a37753cac35cfddd8995bf0",
                "md5": "26174280f51c85eae332b0aff0215c3e",
                "sha256": "4ae0a998d4e8091aed0216da26160c2ebea7df586b884fba011b098816553502"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "26174280f51c85eae332b0aff0215c3e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 59781,
            "upload_time": "2024-02-28T13:32:33",
            "upload_time_iso_8601": "2024-02-28T13:32:33.385294Z",
            "url": "https://files.pythonhosted.org/packages/0d/be/76be1415f5472c74ae892383635bf306e44d5a37753cac35cfddd8995bf0/PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "511a4670fd024181eaa2bd2972b88535955e3792e773f77a487bba48f2c428a5",
                "md5": "a63001aa3b69c137f19ea27257e55e7a",
                "sha256": "c89d1d494ccfe53ca58f602a1e7cf1f251d0465d3bb30dc006e0c340c255121b"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a63001aa3b69c137f19ea27257e55e7a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 44028,
            "upload_time": "2024-02-28T13:32:35",
            "upload_time_iso_8601": "2024-02-28T13:32:35.221018Z",
            "url": "https://files.pythonhosted.org/packages/51/1a/4670fd024181eaa2bd2972b88535955e3792e773f77a487bba48f2c428a5/PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b668d2053d4af60aec759b385f8f9d0d1e0814d8c527f25a27a5e13b47b99eaa",
                "md5": "23337648f9ac19876d621284b2e19abb",
                "sha256": "1c9fe9e00d7d2907003c7b55d9afbb08c3e56bf2abddab26e5f5340129133973"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "23337648f9ac19876d621284b2e19abb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 43835,
            "upload_time": "2024-02-28T13:32:36",
            "upload_time_iso_8601": "2024-02-28T13:32:36.945039Z",
            "url": "https://files.pythonhosted.org/packages/b6/68/d2053d4af60aec759b385f8f9d0d1e0814d8c527f25a27a5e13b47b99eaa/PyroTgCrypto-1.2.6a0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57b5b4ec8733bac90edfc99553b0c3702f23fbd1183a7528ca9532504f8f8351",
                "md5": "1a3b735316d4f3472bc345b2f8f47fa7",
                "sha256": "5cfa9e1adc8b149b8b4234de8c0da62c740ffde3b5f7dadaaf680aacdb6242f1"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1a3b735316d4f3472bc345b2f8f47fa7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 60017,
            "upload_time": "2024-02-28T13:32:38",
            "upload_time_iso_8601": "2024-02-28T13:32:38.014619Z",
            "url": "https://files.pythonhosted.org/packages/57/b5/b4ec8733bac90edfc99553b0c3702f23fbd1183a7528ca9532504f8f8351/PyroTgCrypto-1.2.6a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ddf3c37b924e7814aa48fc82ece3ab79aa4a6c56e7c4a817fffdd911d970dfff",
                "md5": "a55d98a6fc0f4109d93a06dad6495921",
                "sha256": "5abfcd04a1ad1bb49a3198b9441fbd826413de4fcb8d9f28d28ad5ec690ee7b2"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a55d98a6fc0f4109d93a06dad6495921",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 59807,
            "upload_time": "2024-02-28T13:32:40",
            "upload_time_iso_8601": "2024-02-28T13:32:40.047938Z",
            "url": "https://files.pythonhosted.org/packages/dd/f3/c37b924e7814aa48fc82ece3ab79aa4a6c56e7c4a817fffdd911d970dfff/PyroTgCrypto-1.2.6a0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d74a4c66f4bf6bbbda458c973a56b36f905c61f505bac19ed62a34f4dd12447",
                "md5": "d4eb826fc07d1d00bb94629a3b869a00",
                "sha256": "ab4adfc0729d454f0dfdfd9bf2efe627b28f38a18b41015b88501951906a3d00"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "d4eb826fc07d1d00bb94629a3b869a00",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 63685,
            "upload_time": "2024-02-28T13:32:41",
            "upload_time_iso_8601": "2024-02-28T13:32:41.613536Z",
            "url": "https://files.pythonhosted.org/packages/2d/74/a4c66f4bf6bbbda458c973a56b36f905c61f505bac19ed62a34f4dd12447/PyroTgCrypto-1.2.6a0-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88980636bbf5cf5dc5f27f255b1f2c9d221f6558dff10b66a2061491b3cc101b",
                "md5": "82d3fa7c749566de5d40930017cb6a5c",
                "sha256": "05483ad2d71cf325f20f80a34af9ace8c963f3072ca118dde5f0fcc26cee346b"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "82d3fa7c749566de5d40930017cb6a5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 63738,
            "upload_time": "2024-02-28T13:32:42",
            "upload_time_iso_8601": "2024-02-28T13:32:42.555674Z",
            "url": "https://files.pythonhosted.org/packages/88/98/0636bbf5cf5dc5f27f255b1f2c9d221f6558dff10b66a2061491b3cc101b/PyroTgCrypto-1.2.6a0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "265a0cf05dd62c8b335fe682122b4311709d04219ce8bf895df60ccf5a38ff41",
                "md5": "828a99026952f9eed63a71dbcd7d3d45",
                "sha256": "3a387a015975530887c5977cc88034f1eea4b59d529130a63eac992e937a2072"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "828a99026952f9eed63a71dbcd7d3d45",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 44730,
            "upload_time": "2024-02-28T13:32:44",
            "upload_time_iso_8601": "2024-02-28T13:32:44.062772Z",
            "url": "https://files.pythonhosted.org/packages/26/5a/0cf05dd62c8b335fe682122b4311709d04219ce8bf895df60ccf5a38ff41/PyroTgCrypto-1.2.6a0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbbb8baa1b47ae01712507a92b25bf2875f78fd78fc4f4f248cd92d4d3d2a9c0",
                "md5": "42218cdfcf735ea8fc5ed2e5cb1712ca",
                "sha256": "81c1ff4e880c3d5ce46e60496a43344c321ec9571ba39f7c1e0000e0c7f5e64f"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "42218cdfcf735ea8fc5ed2e5cb1712ca",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 45466,
            "upload_time": "2024-02-28T13:32:45",
            "upload_time_iso_8601": "2024-02-28T13:32:45.061156Z",
            "url": "https://files.pythonhosted.org/packages/cb/bb/8baa1b47ae01712507a92b25bf2875f78fd78fc4f4f248cd92d4d3d2a9c0/PyroTgCrypto-1.2.6a0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9aa8694125813bdd3f092a5801771ca1c490961b7e200e59b830f33bb441c81b",
                "md5": "fdc9f62b71e8efc44cf5457596ecc6d0",
                "sha256": "7e88843ca3ce343b74b41fcb7ef431523fe429b90b157ace0f82e050fc7ad6d8"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "fdc9f62b71e8efc44cf5457596ecc6d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 59788,
            "upload_time": "2024-02-28T13:32:46",
            "upload_time_iso_8601": "2024-02-28T13:32:46.018576Z",
            "url": "https://files.pythonhosted.org/packages/9a/a8/694125813bdd3f092a5801771ca1c490961b7e200e59b830f33bb441c81b/PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9383234e1725e29efbcc222d9786c7ffaf6c963ddb5cade5fd379a6e681c81ec",
                "md5": "91a68f5d7881da32603f208d41bee1c6",
                "sha256": "6345ea36e9a701f1cdf7cbdb0c99859110e2e64f5ff5dd749908625ca810198f"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "91a68f5d7881da32603f208d41bee1c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 44032,
            "upload_time": "2024-02-28T13:32:46",
            "upload_time_iso_8601": "2024-02-28T13:32:46.998731Z",
            "url": "https://files.pythonhosted.org/packages/93/83/234e1725e29efbcc222d9786c7ffaf6c963ddb5cade5fd379a6e681c81ec/PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b2dc09c1a1e3d620985bbf54b1f4b118fa99f3491cf088b5fc799cfb94a1a846",
                "md5": "c0e3c457cc9fb9cb2ac58cf36076fc3a",
                "sha256": "4c5ea66ba9466e474fa9ebd2e8dd78534fce8d19a090ca37a3a1aa916468eaf3"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c0e3c457cc9fb9cb2ac58cf36076fc3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 43832,
            "upload_time": "2024-02-28T13:32:49",
            "upload_time_iso_8601": "2024-02-28T13:32:49.178245Z",
            "url": "https://files.pythonhosted.org/packages/b2/dc/09c1a1e3d620985bbf54b1f4b118fa99f3491cf088b5fc799cfb94a1a846/PyroTgCrypto-1.2.6a0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9feb1ff58e86718fc7dae389d0e67815b5d154f6fc51e7f171209c1a1259d5e9",
                "md5": "087d6c0ec4faa382e89222cff471abee",
                "sha256": "431db09e21ad8be6b506fe2de4daab38bd860de5d099a139fbf2a5551682ba97"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "087d6c0ec4faa382e89222cff471abee",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 60827,
            "upload_time": "2024-02-28T13:32:50",
            "upload_time_iso_8601": "2024-02-28T13:32:50.057933Z",
            "url": "https://files.pythonhosted.org/packages/9f/eb/1ff58e86718fc7dae389d0e67815b5d154f6fc51e7f171209c1a1259d5e9/PyroTgCrypto-1.2.6a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e21766559bba1cc254d96ab10d324c761f68b5ac85cb61def4785dcb4f7da31",
                "md5": "7e1adc0934b20f2463ec5c19626b267a",
                "sha256": "9bbf0128dbf765f1bb5e55e0001b1f85176299293ca6d72563cfb4e45db3d6fb"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "7e1adc0934b20f2463ec5c19626b267a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 60538,
            "upload_time": "2024-02-28T13:32:51",
            "upload_time_iso_8601": "2024-02-28T13:32:51.555324Z",
            "url": "https://files.pythonhosted.org/packages/8e/21/766559bba1cc254d96ab10d324c761f68b5ac85cb61def4785dcb4f7da31/PyroTgCrypto-1.2.6a0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d9e5a7e78f65a4a832b45c56a2e7f366e5bd528211ccbc71ebd9851c0518e677",
                "md5": "36070d9021d7688aa8745184fa5e42cc",
                "sha256": "55e0ac0808c7cfc998ba814edc1f434ae7eccee53b94cf400a469d6201bb620c"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "36070d9021d7688aa8745184fa5e42cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 64518,
            "upload_time": "2024-02-28T13:32:53",
            "upload_time_iso_8601": "2024-02-28T13:32:53.114971Z",
            "url": "https://files.pythonhosted.org/packages/d9/e5/a7e78f65a4a832b45c56a2e7f366e5bd528211ccbc71ebd9851c0518e677/PyroTgCrypto-1.2.6a0-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc4e20c734f52beedc21e44bebdcfb52a70fc03d391da0cef0dc3fff9a3fa2a8",
                "md5": "843100fcf87b1ad3b986650ab8e1eb4c",
                "sha256": "5dd5897ec17be7bf76805183d135cb67e94de73484265868513aeb6dd2092344"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "843100fcf87b1ad3b986650ab8e1eb4c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 64558,
            "upload_time": "2024-02-28T13:32:54",
            "upload_time_iso_8601": "2024-02-28T13:32:54.097990Z",
            "url": "https://files.pythonhosted.org/packages/cc/4e/20c734f52beedc21e44bebdcfb52a70fc03d391da0cef0dc3fff9a3fa2a8/PyroTgCrypto-1.2.6a0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52ecbf44e785e5b1d64c7a12add15f73e27db0b6ce85d43be36e4291df4d4a72",
                "md5": "8fdef87cdeafa5815f3013a3f45493b0",
                "sha256": "460e8baa4c6f4f48a86d423d6a70c529e7a3e42b75f3cef1c984667a59b85c27"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "8fdef87cdeafa5815f3013a3f45493b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 44728,
            "upload_time": "2024-02-28T13:32:55",
            "upload_time_iso_8601": "2024-02-28T13:32:55.087564Z",
            "url": "https://files.pythonhosted.org/packages/52/ec/bf44e785e5b1d64c7a12add15f73e27db0b6ce85d43be36e4291df4d4a72/PyroTgCrypto-1.2.6a0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57450b37c9196194f32fbca994e71fc80b894a9822b0decfadd57960041bb12b",
                "md5": "f9954aeccd0839d5a97785a25d75d9e2",
                "sha256": "ea151257340203682f931913940a614ee8c32ac68d789fabedf3ecdede82a869"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f9954aeccd0839d5a97785a25d75d9e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 45466,
            "upload_time": "2024-02-28T13:32:56",
            "upload_time_iso_8601": "2024-02-28T13:32:56.038796Z",
            "url": "https://files.pythonhosted.org/packages/57/45/0b37c9196194f32fbca994e71fc80b894a9822b0decfadd57960041bb12b/PyroTgCrypto-1.2.6a0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ce0d77b00c2ce4455b4972a3402b2134f6fb907ff5e6a747d7da71cc0e9cfa62",
                "md5": "3b8b8e4d80d7ee8f602df1e3479a4b9a",
                "sha256": "f8c576237cf518e90adaaf2c6a0bc34a134ef6c3d93905db9b0a977721b23fdc"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "3b8b8e4d80d7ee8f602df1e3479a4b9a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 59788,
            "upload_time": "2024-02-28T13:32:57",
            "upload_time_iso_8601": "2024-02-28T13:32:57.699004Z",
            "url": "https://files.pythonhosted.org/packages/ce/0d/77b00c2ce4455b4972a3402b2134f6fb907ff5e6a747d7da71cc0e9cfa62/PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd7a55934af177a11e58d1ccda909ab919a047124a0197f254f72b3c0039f997",
                "md5": "6d1fadfa5028ae369f07ec728e92fb06",
                "sha256": "2966995d79917efc65f75f4e8df715290858224ac0c811cc231914eb5aec1575"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6d1fadfa5028ae369f07ec728e92fb06",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 44032,
            "upload_time": "2024-02-28T13:32:58",
            "upload_time_iso_8601": "2024-02-28T13:32:58.611133Z",
            "url": "https://files.pythonhosted.org/packages/fd/7a/55934af177a11e58d1ccda909ab919a047124a0197f254f72b3c0039f997/PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe1e5d39e81b4a194bd53d114ea20301b34d7a31c1632d755801321ca32544f6",
                "md5": "fee217d349d97641adb08119a4291a72",
                "sha256": "69009d20d2abc34831fed912d680dde4d2dd9895f9cdabb8530e835b85785437"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fee217d349d97641adb08119a4291a72",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 43831,
            "upload_time": "2024-02-28T13:32:59",
            "upload_time_iso_8601": "2024-02-28T13:32:59.647014Z",
            "url": "https://files.pythonhosted.org/packages/fe/1e/5d39e81b4a194bd53d114ea20301b34d7a31c1632d755801321ca32544f6/PyroTgCrypto-1.2.6a0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15d430741584e7e04c7c04ea9f33944b3a37efc16839fbf88d8bb294576d255e",
                "md5": "5dbdca347038c4921c49e91bdcb4a705",
                "sha256": "ceace424a600a4aff1ea475bd49ec2a9b09ba98d25a88188227bba7740971a4b"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5dbdca347038c4921c49e91bdcb4a705",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 60450,
            "upload_time": "2024-02-28T13:33:01",
            "upload_time_iso_8601": "2024-02-28T13:33:01.176619Z",
            "url": "https://files.pythonhosted.org/packages/15/d4/30741584e7e04c7c04ea9f33944b3a37efc16839fbf88d8bb294576d255e/PyroTgCrypto-1.2.6a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2551c7116213497c49545afebb36417ff638105362fa5af38bd430610851a2b5",
                "md5": "a0ed7e469c306470bb8f3c5d0b35c24f",
                "sha256": "eb8633e1121ce2a7042cdb454b5b2cee3932910fcba7955316a50607db8d2de3"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a0ed7e469c306470bb8f3c5d0b35c24f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 60184,
            "upload_time": "2024-02-28T13:33:02",
            "upload_time_iso_8601": "2024-02-28T13:33:02.747592Z",
            "url": "https://files.pythonhosted.org/packages/25/51/c7116213497c49545afebb36417ff638105362fa5af38bd430610851a2b5/PyroTgCrypto-1.2.6a0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "741ed04f529de880821b53d0cd78726d9ad0ec0dc5b3125eba707fa5bd8b0765",
                "md5": "4842be7e531c53b1e31251d9414dcbc1",
                "sha256": "7f85e4c0d5ed56780fe73f1448ed5299255e586bf8251ceaca2ed1e3776c7190"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "4842be7e531c53b1e31251d9414dcbc1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 64176,
            "upload_time": "2024-02-28T13:33:03",
            "upload_time_iso_8601": "2024-02-28T13:33:03.684937Z",
            "url": "https://files.pythonhosted.org/packages/74/1e/d04f529de880821b53d0cd78726d9ad0ec0dc5b3125eba707fa5bd8b0765/PyroTgCrypto-1.2.6a0-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "680f14512f771538e1d81f6b2db8c4b9dc54ab0f405cb951f2a35e56347bfd70",
                "md5": "64c1efcc1b398ffceb9594bf0217abf4",
                "sha256": "8131428d01682b1078df4d248262c68168641e977ceb460d50b4067350e8c300"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64c1efcc1b398ffceb9594bf0217abf4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 64239,
            "upload_time": "2024-02-28T13:33:04",
            "upload_time_iso_8601": "2024-02-28T13:33:04.741781Z",
            "url": "https://files.pythonhosted.org/packages/68/0f/14512f771538e1d81f6b2db8c4b9dc54ab0f405cb951f2a35e56347bfd70/PyroTgCrypto-1.2.6a0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e9f74491027c589694fe9d07f3078d535d1205c44acae99cf4da4cf9e8048dd1",
                "md5": "bf08568e780535c044313c8283bc3948",
                "sha256": "646940fb31fe5a3c32b779466bf57db563d3c45ac6c2953ee60201b4549a083e"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "bf08568e780535c044313c8283bc3948",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 44728,
            "upload_time": "2024-02-28T13:33:05",
            "upload_time_iso_8601": "2024-02-28T13:33:05.691178Z",
            "url": "https://files.pythonhosted.org/packages/e9/f7/4491027c589694fe9d07f3078d535d1205c44acae99cf4da4cf9e8048dd1/PyroTgCrypto-1.2.6a0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e60cf2133ef4e21cb5f5d9fbcfe107c8417bb41c435af3cddedbd7a1417c367",
                "md5": "48ed984f23845f06948afd0d9f863007",
                "sha256": "a6283c0e299f7ae39019205c4bcd30f041d62f51804b0c6a26c8a7c3b275fb5f"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "48ed984f23845f06948afd0d9f863007",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 45465,
            "upload_time": "2024-02-28T13:33:07",
            "upload_time_iso_8601": "2024-02-28T13:33:07.091412Z",
            "url": "https://files.pythonhosted.org/packages/2e/60/cf2133ef4e21cb5f5d9fbcfe107c8417bb41c435af3cddedbd7a1417c367/PyroTgCrypto-1.2.6a0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0172abf4a9effc10736d04df3a830c6afe97b96c3e46dafce0a9b717e9024a6",
                "md5": "0af8e01959658ce39344ae20afdff752",
                "sha256": "6a0fb9257ed4dedc69aa1170631e2bf891e70c23ad0625b039820bfadc28c294"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0af8e01959658ce39344ae20afdff752",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 44033,
            "upload_time": "2024-02-28T13:33:08",
            "upload_time_iso_8601": "2024-02-28T13:33:08.026293Z",
            "url": "https://files.pythonhosted.org/packages/a0/17/2abf4a9effc10736d04df3a830c6afe97b96c3e46dafce0a9b717e9024a6/PyroTgCrypto-1.2.6a0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "04462d75932718f7fe01e2fe2f791405d75cfd348691fa6c2eb627914b212cc2",
                "md5": "d445982ccf52a5a01ef796159300f93e",
                "sha256": "aa9ee4fdaab984cf0cc38a7b90f4688228679ae77c6c44362564d557b4f40523"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d445982ccf52a5a01ef796159300f93e",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 61560,
            "upload_time": "2024-02-28T13:33:09",
            "upload_time_iso_8601": "2024-02-28T13:33:09.006124Z",
            "url": "https://files.pythonhosted.org/packages/04/46/2d75932718f7fe01e2fe2f791405d75cfd348691fa6c2eb627914b212cc2/PyroTgCrypto-1.2.6a0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d32fab4f15bb1f54db21b86f67d7bd472c9351e8052a9342aff509adbe91c67d",
                "md5": "5586e35df63bee4b8b3d6875157b9007",
                "sha256": "1f2b24770209f8ae1e5189c754c79de0f166e58bb1c1674c2b24b08d0bd4d6fd"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5586e35df63bee4b8b3d6875157b9007",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 61301,
            "upload_time": "2024-02-28T13:33:10",
            "upload_time_iso_8601": "2024-02-28T13:33:10.728826Z",
            "url": "https://files.pythonhosted.org/packages/d3/2f/ab4f15bb1f54db21b86f67d7bd472c9351e8052a9342aff509adbe91c67d/PyroTgCrypto-1.2.6a0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3196d68710baf46c2346e8618fae10cd62f341381fd224049edf46f67e9a14b5",
                "md5": "5d7c2fe514885afa6a55cd77fecf5a00",
                "sha256": "7b977d99a72aa1d5def5207d08000321fe7c57ea8110004c46098a583621e03b"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "5d7c2fe514885afa6a55cd77fecf5a00",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 64778,
            "upload_time": "2024-02-28T13:33:12",
            "upload_time_iso_8601": "2024-02-28T13:33:12.262071Z",
            "url": "https://files.pythonhosted.org/packages/31/96/d68710baf46c2346e8618fae10cd62f341381fd224049edf46f67e9a14b5/PyroTgCrypto-1.2.6a0-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8a19fb155e09d53c4fcbf1097961be8e13a0f74d553da679a3ad9c3026b5252",
                "md5": "118f1b4dfea9f09a18ef572ec9b5fe06",
                "sha256": "6b7fc0aea1e31d75544c510400b39227f9fd32c74345df3c30cf1a3fa9d2ae18"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "118f1b4dfea9f09a18ef572ec9b5fe06",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 64791,
            "upload_time": "2024-02-28T13:33:13",
            "upload_time_iso_8601": "2024-02-28T13:33:13.280505Z",
            "url": "https://files.pythonhosted.org/packages/c8/a1/9fb155e09d53c4fcbf1097961be8e13a0f74d553da679a3ad9c3026b5252/PyroTgCrypto-1.2.6a0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6878e8c173745f0573052afd1b5159ec3f9698f94b44f8f379c34c2867abc3f6",
                "md5": "30755104e434a67962696264bd1ea5a0",
                "sha256": "5f209dca27cf45f7e8e4c425d8c7c8215efaab484835dc08dd73050be9635c9e"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "30755104e434a67962696264bd1ea5a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 44748,
            "upload_time": "2024-02-28T13:33:14",
            "upload_time_iso_8601": "2024-02-28T13:33:14.890438Z",
            "url": "https://files.pythonhosted.org/packages/68/78/e8c173745f0573052afd1b5159ec3f9698f94b44f8f379c34c2867abc3f6/PyroTgCrypto-1.2.6a0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6534f284652ebb2aa58b785186c9ba5ffdc3c7ed145478c1e7e5a003d5c6ab80",
                "md5": "a7c640b8b6606318b9465d88c64bb558",
                "sha256": "69f584ac877d0a39095bf19e8a1a9606504648c4a4361d1e05f06729fa8d9be3"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a7c640b8b6606318b9465d88c64bb558",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 45452,
            "upload_time": "2024-02-28T13:33:15",
            "upload_time_iso_8601": "2024-02-28T13:33:15.887166Z",
            "url": "https://files.pythonhosted.org/packages/65/34/f284652ebb2aa58b785186c9ba5ffdc3c7ed145478c1e7e5a003d5c6ab80/PyroTgCrypto-1.2.6a0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b19ca6016f4c2064f896c9d81422e23a988dc2b9eb25ee1065b5ba4e858c4e4f",
                "md5": "f6ae5937d86f5058cef1090673ed0220",
                "sha256": "e68c077a27cb0d91d50a33ddbce5979c8d8485cbb95c625c1f32587fcba7e1de"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f6ae5937d86f5058cef1090673ed0220",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 59789,
            "upload_time": "2024-02-28T13:33:16",
            "upload_time_iso_8601": "2024-02-28T13:33:16.836578Z",
            "url": "https://files.pythonhosted.org/packages/b1/9c/a6016f4c2064f896c9d81422e23a988dc2b9eb25ee1065b5ba4e858c4e4f/PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac6d7dfafb9d7f0a15e6b4e97c0c4040534dfe0ef65d9088218407e64c7c520f",
                "md5": "8747375a5718d442237058f63094b4a0",
                "sha256": "e72a409b2ea0b5f225667bad38edb153e03afc7c0dd00c90cda79c37430e8a69"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8747375a5718d442237058f63094b4a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 44029,
            "upload_time": "2024-02-28T13:33:17",
            "upload_time_iso_8601": "2024-02-28T13:33:17.787536Z",
            "url": "https://files.pythonhosted.org/packages/ac/6d/7dfafb9d7f0a15e6b4e97c0c4040534dfe0ef65d9088218407e64c7c520f/PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "11e8110b9af621907e9a3652b7c464a9dcc2949570417f54be784ececc814bc9",
                "md5": "f3741a616f6d901ed6d0d98d70527084",
                "sha256": "71b9841e2617d9a7d3390308136ee6c8d92200fc771c8bc5478fd3a4c89b47df"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f3741a616f6d901ed6d0d98d70527084",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 43826,
            "upload_time": "2024-02-28T13:33:18",
            "upload_time_iso_8601": "2024-02-28T13:33:18.897527Z",
            "url": "https://files.pythonhosted.org/packages/11/e8/110b9af621907e9a3652b7c464a9dcc2949570417f54be784ececc814bc9/PyroTgCrypto-1.2.6a0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1d0c2ec8e2729418e499bec85698f2a65700113d5730cd0794575fd2b8e6a2f4",
                "md5": "2b868ef94925c98d4b6e0dbfea6b5567",
                "sha256": "2b726e2cfd7a41e953b2e5fa245ec4d91800da6535ad81f04529aa8630101678"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2b868ef94925c98d4b6e0dbfea6b5567",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 60363,
            "upload_time": "2024-02-28T13:33:19",
            "upload_time_iso_8601": "2024-02-28T13:33:19.838020Z",
            "url": "https://files.pythonhosted.org/packages/1d/0c/2ec8e2729418e499bec85698f2a65700113d5730cd0794575fd2b8e6a2f4/PyroTgCrypto-1.2.6a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f71fa01e0af73feab5df9d2362ecde95819853532f39258f459203d8ad3c2006",
                "md5": "008152dc1cbb28380635ded944d87c3b",
                "sha256": "9705b62207afda277ba16d117280919e311678dea0ec7830ba381f2d825c17b2"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "008152dc1cbb28380635ded944d87c3b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 60147,
            "upload_time": "2024-02-28T13:33:20",
            "upload_time_iso_8601": "2024-02-28T13:33:20.812989Z",
            "url": "https://files.pythonhosted.org/packages/f7/1f/a01e0af73feab5df9d2362ecde95819853532f39258f459203d8ad3c2006/PyroTgCrypto-1.2.6a0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06586a500860d24ef2a9c72e21e95a7284c86b69fc805b5e0bb4f481b46305d1",
                "md5": "d341322508d5ac2b7c3155b99726c1b9",
                "sha256": "680fd2edae7b118af55d6e4c43f7ff5db4ff4697e72f26f3a31e0bf1c20594b8"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "d341322508d5ac2b7c3155b99726c1b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 63705,
            "upload_time": "2024-02-28T13:33:22",
            "upload_time_iso_8601": "2024-02-28T13:33:22.429704Z",
            "url": "https://files.pythonhosted.org/packages/06/58/6a500860d24ef2a9c72e21e95a7284c86b69fc805b5e0bb4f481b46305d1/PyroTgCrypto-1.2.6a0-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "862fcaca82a5b1e5f85a57bfacc8920f4e4ed77b6241caccd0e328689d20c8af",
                "md5": "9178b0f9b7edfd202cf0f03c20255e7d",
                "sha256": "f12608145b5df4c3e31967c2094bd3d2fa8ed0d5e1461a9b61632cd162e6c775"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9178b0f9b7edfd202cf0f03c20255e7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 63775,
            "upload_time": "2024-02-28T13:33:23",
            "upload_time_iso_8601": "2024-02-28T13:33:23.362523Z",
            "url": "https://files.pythonhosted.org/packages/86/2f/caca82a5b1e5f85a57bfacc8920f4e4ed77b6241caccd0e328689d20c8af/PyroTgCrypto-1.2.6a0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12f842b38716a1cb334795581affc25bcc7e366a0abe9b89e150acbdbc2b05d7",
                "md5": "d4a89564a7ac85a19d440814aa3cf001",
                "sha256": "51d4c5267b612d408c96a1fdda977e648871faad00c53c72aeec3227083e2b29"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "d4a89564a7ac85a19d440814aa3cf001",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 44727,
            "upload_time": "2024-02-28T13:33:24",
            "upload_time_iso_8601": "2024-02-28T13:33:24.382109Z",
            "url": "https://files.pythonhosted.org/packages/12/f8/42b38716a1cb334795581affc25bcc7e366a0abe9b89e150acbdbc2b05d7/PyroTgCrypto-1.2.6a0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "090436988286980b55d3e30e19f2f0de12740b6676faba8e9fe4dcf08c7db9a1",
                "md5": "c2c143cdda43bca0e832f75ea2e82567",
                "sha256": "0ea727fa012bfd5b419100fefafd235afa7f34cf0c9dac809915d14e4e99931c"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c2c143cdda43bca0e832f75ea2e82567",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 45460,
            "upload_time": "2024-02-28T13:33:25",
            "upload_time_iso_8601": "2024-02-28T13:33:25.341181Z",
            "url": "https://files.pythonhosted.org/packages/09/04/36988286980b55d3e30e19f2f0de12740b6676faba8e9fe4dcf08c7db9a1/PyroTgCrypto-1.2.6a0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da3858de7e2df9ccfe27ba8dc5060fa52f1d4f14d15b81b05755d98c8294e1c2",
                "md5": "885ffa843a6dbb506650acfde4cb52ae",
                "sha256": "f0373fe44e913c69a20d71e3c8ffb7904d6643c5883bf95bc7050b370c7e5548"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "885ffa843a6dbb506650acfde4cb52ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 59782,
            "upload_time": "2024-02-28T13:33:26",
            "upload_time_iso_8601": "2024-02-28T13:33:26.959319Z",
            "url": "https://files.pythonhosted.org/packages/da/38/58de7e2df9ccfe27ba8dc5060fa52f1d4f14d15b81b05755d98c8294e1c2/PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b35531907d26fcbd04465a9f613b32b2754363883f5abc35d04160bf885524a",
                "md5": "99611dac9b52487c1390e9fd14bbc25c",
                "sha256": "4fd36a33999b5e3ddac5b44fc8ee75c89fcba65f9638528d25bcbf229dd45791"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "99611dac9b52487c1390e9fd14bbc25c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 44028,
            "upload_time": "2024-02-28T13:33:28",
            "upload_time_iso_8601": "2024-02-28T13:33:28.129147Z",
            "url": "https://files.pythonhosted.org/packages/7b/35/531907d26fcbd04465a9f613b32b2754363883f5abc35d04160bf885524a/PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5329e827bd13eb7994ef0de81f700d045d0a0b015d0faf1dca01315a81e259b",
                "md5": "bf9bd920426057c072f20d63bffa79f3",
                "sha256": "3d9d59f99b06c988077d15f431b9da6351c51a19cea52309faac006158dfab54"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bf9bd920426057c072f20d63bffa79f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 43829,
            "upload_time": "2024-02-28T13:33:29",
            "upload_time_iso_8601": "2024-02-28T13:33:29.136226Z",
            "url": "https://files.pythonhosted.org/packages/f5/32/9e827bd13eb7994ef0de81f700d045d0a0b015d0faf1dca01315a81e259b/PyroTgCrypto-1.2.6a0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3405a7b880a3dfa81b73de60bdbb2e09c4ce5da89214186e2f1a5619f75f4897",
                "md5": "a4f0745b4b075844c5b507ea6aad5e6b",
                "sha256": "434d4807bb93614b8a84efda140fed3e80711b3540c6aeb7cb7cd8a8e0492046"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a4f0745b4b075844c5b507ea6aad5e6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 59808,
            "upload_time": "2024-02-28T13:33:30",
            "upload_time_iso_8601": "2024-02-28T13:33:30.385982Z",
            "url": "https://files.pythonhosted.org/packages/34/05/a7b880a3dfa81b73de60bdbb2e09c4ce5da89214186e2f1a5619f75f4897/PyroTgCrypto-1.2.6a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3d6b03c1c34c7c25d654d0e98a2a6d81714e0d73f9c56648073cb86f95858a02",
                "md5": "022771d498189a330232a6aeb688c426",
                "sha256": "d882a7aaf6daba4c6e34c0626df22acd39459ca8297720b4861fbaaba2adad31"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "022771d498189a330232a6aeb688c426",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 59613,
            "upload_time": "2024-02-28T13:33:31",
            "upload_time_iso_8601": "2024-02-28T13:33:31.321644Z",
            "url": "https://files.pythonhosted.org/packages/3d/6b/03c1c34c7c25d654d0e98a2a6d81714e0d73f9c56648073cb86f95858a02/PyroTgCrypto-1.2.6a0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0bf3d7cc77b74c712ee397350e092733e720e86aee38d1a6a1a633c15e129b5d",
                "md5": "7d5ad12c48a37a2127f8cbd9a4b11525",
                "sha256": "7072b4232703b1ef0bd534f6b4e3c39cd15e549e612836b7e7e70239f68cbb49"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "7d5ad12c48a37a2127f8cbd9a4b11525",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 63473,
            "upload_time": "2024-02-28T13:33:32",
            "upload_time_iso_8601": "2024-02-28T13:33:32.751486Z",
            "url": "https://files.pythonhosted.org/packages/0b/f3/d7cc77b74c712ee397350e092733e720e86aee38d1a6a1a633c15e129b5d/PyroTgCrypto-1.2.6a0-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09500f43b7fc1a3100be3e7ab61643c990a9a81ba82fd8cf3f9a06fde328b882",
                "md5": "f83ea26c40a6c99f4309455818f7536f",
                "sha256": "93b9c222690e4dd0241223dc4a2ca99aff94395d2c1cee7b6c79be8a026bb1b8"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f83ea26c40a6c99f4309455818f7536f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 63537,
            "upload_time": "2024-02-28T13:33:33",
            "upload_time_iso_8601": "2024-02-28T13:33:33.964700Z",
            "url": "https://files.pythonhosted.org/packages/09/50/0f43b7fc1a3100be3e7ab61643c990a9a81ba82fd8cf3f9a06fde328b882/PyroTgCrypto-1.2.6a0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6310031a74612d034c3f307920dd52e09caa0375fdafb20bd28bf181f03b1442",
                "md5": "f62589c5ef218b339907ee90d0d28ddb",
                "sha256": "1f67cec94c5c589543614038108cc67e4716e3032f9a3ddc8d72a42a489295d4"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "f62589c5ef218b339907ee90d0d28ddb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 44725,
            "upload_time": "2024-02-28T13:33:35",
            "upload_time_iso_8601": "2024-02-28T13:33:35.111506Z",
            "url": "https://files.pythonhosted.org/packages/63/10/031a74612d034c3f307920dd52e09caa0375fdafb20bd28bf181f03b1442/PyroTgCrypto-1.2.6a0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d334435ba7e4450dd443d39b629528298428ef680674ba2219a2682eb171c074",
                "md5": "2b575f14cf4ef88e4dabfc89a4d41121",
                "sha256": "0c56581e650e441b460c4dbc8556718ad50d816ea240b409b1a18ad0807c1961"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2b575f14cf4ef88e4dabfc89a4d41121",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 45460,
            "upload_time": "2024-02-28T13:33:36",
            "upload_time_iso_8601": "2024-02-28T13:33:36.097987Z",
            "url": "https://files.pythonhosted.org/packages/d3/34/435ba7e4450dd443d39b629528298428ef680674ba2219a2682eb171c074/PyroTgCrypto-1.2.6a0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e8d03387cdecb2bbada77e9f87cfbf470198a8dce427451a86d8fee4736e979b",
                "md5": "b67f88af0247c54bada05ca2d891578c",
                "sha256": "3ad513403d77e9adecef8884ceb7afe39925c534fc401b404ca8f2217657a9b3"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b67f88af0247c54bada05ca2d891578c",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 43518,
            "upload_time": "2024-02-28T13:33:37",
            "upload_time_iso_8601": "2024-02-28T13:33:37.246088Z",
            "url": "https://files.pythonhosted.org/packages/e8/d0/3387cdecb2bbada77e9f87cfbf470198a8dce427451a86d8fee4736e979b/PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e3f8321dd34f82c8757cf3b5531347239ccaf05de0934360fcdc5eed54c7006",
                "md5": "ca47272c78c0cb6189dd0e9ceef052c3",
                "sha256": "ed6cce60198375215e327c05799e6c6e27c56cfa79d2ac590ca02023512ad2ed"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ca47272c78c0cb6189dd0e9ceef052c3",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 43390,
            "upload_time": "2024-02-28T13:33:38",
            "upload_time_iso_8601": "2024-02-28T13:33:38.258000Z",
            "url": "https://files.pythonhosted.org/packages/0e/3f/8321dd34f82c8757cf3b5531347239ccaf05de0934360fcdc5eed54c7006/PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48e95d735eed265ff87aad79bb8ec08abf9d71c5726dc215ee8df3d63a0a795f",
                "md5": "c70957445fa3d51105248fc4710f3264",
                "sha256": "93064df79eced3134cd97d4c2e5f1d9896d807e69c0d529cfa071b26f8bc7059"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "c70957445fa3d51105248fc4710f3264",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 44009,
            "upload_time": "2024-02-28T13:33:39",
            "upload_time_iso_8601": "2024-02-28T13:33:39.196208Z",
            "url": "https://files.pythonhosted.org/packages/48/e9/5d735eed265ff87aad79bb8ec08abf9d71c5726dc215ee8df3d63a0a795f/PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a01f35a1838b8eeab0e764d97b2e407c3ccad4642dde88882911a65d9e6c1196",
                "md5": "b976c8afea9aa973b22594027facecc0",
                "sha256": "a33edb8c55bbeec0d607e426d0f7e1f41664f8150f433fdc588372143e5660b0"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b976c8afea9aa973b22594027facecc0",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 45596,
            "upload_time": "2024-02-28T13:33:40",
            "upload_time_iso_8601": "2024-02-28T13:33:40.904235Z",
            "url": "https://files.pythonhosted.org/packages/a0/1f/35a1838b8eeab0e764d97b2e407c3ccad4642dde88882911a65d9e6c1196/PyroTgCrypto-1.2.6a0-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88adc9246f01aab482f0f44bc556b4bef57bcfe31de313eb423a778e28ff7112",
                "md5": "ce62ec1071b1c6a11e5163e117b5a1a5",
                "sha256": "c76d8752de2844bb67e3ff15b1e5dcac8ce8d0198332c55d879afce25d19393e"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ce62ec1071b1c6a11e5163e117b5a1a5",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 43509,
            "upload_time": "2024-02-28T13:33:41",
            "upload_time_iso_8601": "2024-02-28T13:33:41.928715Z",
            "url": "https://files.pythonhosted.org/packages/88/ad/c9246f01aab482f0f44bc556b4bef57bcfe31de313eb423a778e28ff7112/PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e925c4b45253755613866b12563557068653561654b36203d24d564fcfc1adc4",
                "md5": "0656699e58de829f496605c11b84c7f2",
                "sha256": "e737753610bf10a2fb941e4823b672cf3a7b013977bbdb936d3da1785e90a227"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0656699e58de829f496605c11b84c7f2",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 43523,
            "upload_time": "2024-02-28T13:33:42",
            "upload_time_iso_8601": "2024-02-28T13:33:42.931800Z",
            "url": "https://files.pythonhosted.org/packages/e9/25/c4b45253755613866b12563557068653561654b36203d24d564fcfc1adc4/PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "129d98248f7570411ba1787ccf80059625505ec5709643eb60b7217b2d08b74d",
                "md5": "aebdcceb9bf3a2da4db29b8134deda4d",
                "sha256": "2168767276222a851e6fbf8ea342c3f31a360237cde5afebf8ca11bc743fdf0a"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "aebdcceb9bf3a2da4db29b8134deda4d",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 44142,
            "upload_time": "2024-02-28T13:33:44",
            "upload_time_iso_8601": "2024-02-28T13:33:44.104724Z",
            "url": "https://files.pythonhosted.org/packages/12/9d/98248f7570411ba1787ccf80059625505ec5709643eb60b7217b2d08b74d/PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "825d0b5d7968f5f267647bfaf580a7e561d9e742165d3681918a06dcf61d9879",
                "md5": "60a10fc93f071e542b7827c07836675d",
                "sha256": "c2ae3e7027bc7e5730bc4168df48050538e9e4b7b435b2145005e1b0e71b19ae"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "60a10fc93f071e542b7827c07836675d",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 45592,
            "upload_time": "2024-02-28T13:33:45",
            "upload_time_iso_8601": "2024-02-28T13:33:45.078751Z",
            "url": "https://files.pythonhosted.org/packages/82/5d/0b5d7968f5f267647bfaf580a7e561d9e742165d3681918a06dcf61d9879/PyroTgCrypto-1.2.6a0-pp37-pypy37_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb0c3e456cfeee2dfd201b95f732930a4a12c8ebd5464c10f417cf3d963ca28e",
                "md5": "48fcf8f5c754c209c031d42edbbc70fe",
                "sha256": "0deb6511eadfe4766a49a0f5d6f66a1b63cd82013424fc9bf86f0e154e5b4ff9"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "48fcf8f5c754c209c031d42edbbc70fe",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 43510,
            "upload_time": "2024-02-28T13:33:46",
            "upload_time_iso_8601": "2024-02-28T13:33:46.562115Z",
            "url": "https://files.pythonhosted.org/packages/cb/0c/3e456cfeee2dfd201b95f732930a4a12c8ebd5464c10f417cf3d963ca28e/PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "01942cec0c9e68ccc59fc6f21a1b33e9799d0d6ce5fb32d0a577cc4a907390ea",
                "md5": "36cae2e8c3908c0e1a013c90b2c1edd7",
                "sha256": "bcc082dd81b35e62ff90ae8dce7f8618d5f03b5d0d82b6622e20cf7abc5f8e3f"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "36cae2e8c3908c0e1a013c90b2c1edd7",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 43386,
            "upload_time": "2024-02-28T13:33:47",
            "upload_time_iso_8601": "2024-02-28T13:33:47.537212Z",
            "url": "https://files.pythonhosted.org/packages/01/94/2cec0c9e68ccc59fc6f21a1b33e9799d0d6ce5fb32d0a577cc4a907390ea/PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c157e45270c415817297c9924b91dfa381c835df10e241b7aadc9f248a619c34",
                "md5": "4e687d7b3869beeb7b0d7f9c62fa8af5",
                "sha256": "4204bef942f3c6a8974a3da7c306df0eda70caa8b8eb17dccd2f15eea42730d6"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "4e687d7b3869beeb7b0d7f9c62fa8af5",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 44005,
            "upload_time": "2024-02-28T13:33:48",
            "upload_time_iso_8601": "2024-02-28T13:33:48.589382Z",
            "url": "https://files.pythonhosted.org/packages/c1/57/e45270c415817297c9924b91dfa381c835df10e241b7aadc9f248a619c34/PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ced8639f3d952682089539f894d19fe36429452e903dc93e37fd935433f5e6e",
                "md5": "0fa58dfd2856e1a2d71a45710c674e64",
                "sha256": "49228d4861e93fa35588780adcd82775704b858820d430ad40ffd97224c085fd"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0fa58dfd2856e1a2d71a45710c674e64",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 45592,
            "upload_time": "2024-02-28T13:33:49",
            "upload_time_iso_8601": "2024-02-28T13:33:49.845009Z",
            "url": "https://files.pythonhosted.org/packages/2c/ed/8639f3d952682089539f894d19fe36429452e903dc93e37fd935433f5e6e/PyroTgCrypto-1.2.6a0-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c9e17a9918372510051cdff70437dc2b8e4c733284d048cb291f292f69b261f4",
                "md5": "2a0cd20a05391c19e9bffd2a968c5d7c",
                "sha256": "de8ff82d47631910e1506cceb9bb9b1d05cb72dd2823e1115026c8f34d57a982"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2a0cd20a05391c19e9bffd2a968c5d7c",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 43511,
            "upload_time": "2024-02-28T13:33:51",
            "upload_time_iso_8601": "2024-02-28T13:33:51.504877Z",
            "url": "https://files.pythonhosted.org/packages/c9/e1/7a9918372510051cdff70437dc2b8e4c733284d048cb291f292f69b261f4/PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b437cff067d2bb2ab357167e761fa37a446b997b8c827f335c2739a5c86a069",
                "md5": "98c22356920c06407b6585a14d43ac24",
                "sha256": "31509aa6860af69799b817e93e701eb6283604f1acb6b34ab236cc54a06932ce"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "98c22356920c06407b6585a14d43ac24",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 43386,
            "upload_time": "2024-02-28T13:33:52",
            "upload_time_iso_8601": "2024-02-28T13:33:52.707788Z",
            "url": "https://files.pythonhosted.org/packages/4b/43/7cff067d2bb2ab357167e761fa37a446b997b8c827f335c2739a5c86a069/PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c2b93b4dac34d3b6fcde8c8aa20238140b0558e4dd3a812e307533851fe790e",
                "md5": "2a2a23a5f51c559f1b22393edf020853",
                "sha256": "212b7c0aa229a8d391980d9d6e0810470ce7cfe4a6efb97db14e44aaa2f351b0"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "2a2a23a5f51c559f1b22393edf020853",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 44007,
            "upload_time": "2024-02-28T13:33:53",
            "upload_time_iso_8601": "2024-02-28T13:33:53.742572Z",
            "url": "https://files.pythonhosted.org/packages/0c/2b/93b4dac34d3b6fcde8c8aa20238140b0558e4dd3a812e307533851fe790e/PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "952e67d7c427650e1e653045a80e43e5bc4650f31d470d6e3b19b58b299d3a7b",
                "md5": "6b6e8c664090fc47f924458740d641c9",
                "sha256": "f812820b32cfaee339faf4b5df21d56f7433579ba67c10c67c3c10c1a49870d7"
            },
            "downloads": -1,
            "filename": "PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6b6e8c664090fc47f924458740d641c9",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 45594,
            "upload_time": "2024-02-28T13:33:54",
            "upload_time_iso_8601": "2024-02-28T13:33:54.921839Z",
            "url": "https://files.pythonhosted.org/packages/95/2e/67d7c427650e1e653045a80e43e5bc4650f31d470d6e3b19b58b299d3a7b/PyroTgCrypto-1.2.6a0-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-28 13:32:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyrogram",
    "github_project": "tgcrypto",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pyrotgcrypto"
}
        
Dan
Elapsed time: 0.22738s