PyTgCrypto


NamePyTgCrypto JSON
Version 1.2.7 PyPI version JSON
download
home_pagehttps://github.com/TelegramPlayGround/pyrogram
SummaryFast and Portable Cryptography Extension Library for Pyrogram
upload_time2024-05-11 13:55:04
maintainerNone
docs_urlNone
authorSpEcHIDe
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.7 or higher.

## Installation

``` bash
$ pip3 install -U tgcrypto
```

## 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/TelegramPlayGround/pyrogram",
    "name": "PyTgCrypto",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": null,
    "keywords": "pyrogram telegram crypto cryptography encryption mtproto extension library aes",
    "author": "SpEcHIDe",
    "author_email": "pyrogram@iamidiotareyoutoo.com",
    "download_url": "https://github.com/TelegramPlayGround/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.7 or higher.\n\n## Installation\n\n``` bash\n$ pip3 install -U tgcrypto\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.7",
    "project_urls": {
        "Community": "https://t.me/PyroTGFork",
        "Documentation": "https://telegramplayground.github.io/pyrogram/releases/changes-in-this-fork.html",
        "Download": "https://github.com/TelegramPlayGround/pyrogram-tgcrypto/releases/latest",
        "Homepage": "https://telegramplayground.github.io/pyrogram/",
        "Source": "https://github.com/TelegramPlayGround/pyrogram-tgcrypto",
        "Tracker": "https://github.com/TelegramPlayGround/pyrogram-tgcrypto/issues"
    },
    "split_keywords": [
        "pyrogram",
        "telegram",
        "crypto",
        "cryptography",
        "encryption",
        "mtproto",
        "extension",
        "library",
        "aes"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a43b9ecc73676ddcb65a47d2d6b97195d86b8641837d069268b7047fd696a1bf",
                "md5": "0524b4e8ee3ccc8d86a42ef9e6c282af",
                "sha256": "93a6349e6c03429660197d5ab089d6dc2f594f9cbb5f170f9e1fe2089b27bf0f"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "0524b4e8ee3ccc8d86a42ef9e6c282af",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 50543,
            "upload_time": "2024-05-11T13:55:04",
            "upload_time_iso_8601": "2024-05-11T13:55:04.805225Z",
            "url": "https://files.pythonhosted.org/packages/a4/3b/9ecc73676ddcb65a47d2d6b97195d86b8641837d069268b7047fd696a1bf/PyTgCrypto-1.2.7-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d5402bef440a8e95cb79cbb05c7b4285ec687f29d30fb27b68df046297e0e68c",
                "md5": "5be531522a3ece6063ad14292b42d9cb",
                "sha256": "5ff726e167c3c18dffd1e384c172b17784a16c3a077cab916ceee0f70873449d"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5be531522a3ece6063ad14292b42d9cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 34769,
            "upload_time": "2024-05-11T13:55:06",
            "upload_time_iso_8601": "2024-05-11T13:55:06.279589Z",
            "url": "https://files.pythonhosted.org/packages/d5/40/2bef440a8e95cb79cbb05c7b4285ec687f29d30fb27b68df046297e0e68c/PyTgCrypto-1.2.7-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "733f26c18ceabb5709f3ac563d6792d4fdda30982271045a162b8dd9314bda5b",
                "md5": "f1bf7873dda0daacc83c9e508639ec2e",
                "sha256": "3cf05754abec912d561e89325c402c1df95c5c362aff867f1453c5004c2e3442"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f1bf7873dda0daacc83c9e508639ec2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 34572,
            "upload_time": "2024-05-11T13:55:07",
            "upload_time_iso_8601": "2024-05-11T13:55:07.222550Z",
            "url": "https://files.pythonhosted.org/packages/73/3f/26c18ceabb5709f3ac563d6792d4fdda30982271045a162b8dd9314bda5b/PyTgCrypto-1.2.7-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41b35660b38eaa6d5d3f6ae27c29cf326c6f18e06933582ccd69313ac41f371a",
                "md5": "9bd44e18ff99486d1a50fe2b9a3b8348",
                "sha256": "d462ccacb6353aab92a12ae823e78daa5811d561b709edcf026f53525a8cdaae"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9bd44e18ff99486d1a50fe2b9a3b8348",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 50749,
            "upload_time": "2024-05-11T13:55:08",
            "upload_time_iso_8601": "2024-05-11T13:55:08.189763Z",
            "url": "https://files.pythonhosted.org/packages/41/b3/5660b38eaa6d5d3f6ae27c29cf326c6f18e06933582ccd69313ac41f371a/PyTgCrypto-1.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "708385238ad93c31672459ae14846b4c7ca74b85fa4d5c831f060081c55504c3",
                "md5": "d166ec87d5ef8ae1ff105c53fc0096ca",
                "sha256": "6a9161b1526312891c38015799eb50bb3cab2b28ad90d952e31a78c181060b2d"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d166ec87d5ef8ae1ff105c53fc0096ca",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 50535,
            "upload_time": "2024-05-11T13:55:09",
            "upload_time_iso_8601": "2024-05-11T13:55:09.820329Z",
            "url": "https://files.pythonhosted.org/packages/70/83/85238ad93c31672459ae14846b4c7ca74b85fa4d5c831f060081c55504c3/PyTgCrypto-1.2.7-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": "7fa5f82229ccd34f6acddc6314785d9beb5780840b1505a85263c58c2a33caf3",
                "md5": "beb65c91d8b9f370027db088726d755d",
                "sha256": "b18fc9c9417b3213f06b3ac0a1132ec1b787696eee9cce6b7b028f9d64e6278e"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "beb65c91d8b9f370027db088726d755d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 54415,
            "upload_time": "2024-05-11T13:55:11",
            "upload_time_iso_8601": "2024-05-11T13:55:11.464862Z",
            "url": "https://files.pythonhosted.org/packages/7f/a5/f82229ccd34f6acddc6314785d9beb5780840b1505a85263c58c2a33caf3/PyTgCrypto-1.2.7-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd4ae7ae9faaf8694951ef0d0f9be14017f8961346edcfe11f261fc7e641d55b",
                "md5": "e86a6b81c4e0cf91a3521780a606ed00",
                "sha256": "2431356b403816c7a29ae611dc3bd75ee154a10e2add9a4ae8eae54d07db81b3"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e86a6b81c4e0cf91a3521780a606ed00",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 54465,
            "upload_time": "2024-05-11T13:55:12",
            "upload_time_iso_8601": "2024-05-11T13:55:12.423466Z",
            "url": "https://files.pythonhosted.org/packages/fd/4a/e7ae9faaf8694951ef0d0f9be14017f8961346edcfe11f261fc7e641d55b/PyTgCrypto-1.2.7-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be21173a7faf32e1f3c3ace3d33e2f4c3de69efff2395c5ec9b2b338f74ad2eb",
                "md5": "28fdeb7fdf76980edaeb1d4a115cf587",
                "sha256": "86b8021115086c92e642d898cccbdd5d400a70e32df1eabeb9d9a19d309a7059"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "28fdeb7fdf76980edaeb1d4a115cf587",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 35803,
            "upload_time": "2024-05-11T13:55:13",
            "upload_time_iso_8601": "2024-05-11T13:55:13.971271Z",
            "url": "https://files.pythonhosted.org/packages/be/21/173a7faf32e1f3c3ace3d33e2f4c3de69efff2395c5ec9b2b338f74ad2eb/PyTgCrypto-1.2.7-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58d6399622f4dbb3978da75c0e1f02775cf101b15c025d56dcc2dd9d13a9678b",
                "md5": "d6e08b148f87e46133571d12857328b6",
                "sha256": "6526f6620bb88d86e674f8686769add66d2485af9447cc89c4054e043342ed81"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d6e08b148f87e46133571d12857328b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 36540,
            "upload_time": "2024-05-11T13:55:15",
            "upload_time_iso_8601": "2024-05-11T13:55:15.505286Z",
            "url": "https://files.pythonhosted.org/packages/58/d6/399622f4dbb3978da75c0e1f02775cf101b15c025d56dcc2dd9d13a9678b/PyTgCrypto-1.2.7-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0235417327406c5c9739e5a15b0fe060c661993d5677c2e96a281d3d61f42a2",
                "md5": "2e582061c1e7b8f34894a6ee9f4d0f40",
                "sha256": "2034a926baac5c0ad7998ec4490fe7dfc0c69c66e0f3121a1045071730a0d9ef"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "2e582061c1e7b8f34894a6ee9f4d0f40",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 50547,
            "upload_time": "2024-05-11T13:55:17",
            "upload_time_iso_8601": "2024-05-11T13:55:17.079113Z",
            "url": "https://files.pythonhosted.org/packages/e0/23/5417327406c5c9739e5a15b0fe060c661993d5677c2e96a281d3d61f42a2/PyTgCrypto-1.2.7-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7718f4d36432a967504a7752efc4220bb420753bc673de3ca4c87b91f6614e41",
                "md5": "b858a889db4b4bb75e699b12a9a45512",
                "sha256": "40db0dd506a7676d371924dd8ed276f9e68d76c99f18c5d8cbf9b84c9d2cd3a8"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b858a889db4b4bb75e699b12a9a45512",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 34766,
            "upload_time": "2024-05-11T13:55:18",
            "upload_time_iso_8601": "2024-05-11T13:55:18.999661Z",
            "url": "https://files.pythonhosted.org/packages/77/18/f4d36432a967504a7752efc4220bb420753bc673de3ca4c87b91f6614e41/PyTgCrypto-1.2.7-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "74cd582ed741ecf8c8e86be0124d1db267b0b4d46a5aa16b7b02dd0e6da21b54",
                "md5": "323ba3df97598341ddc92ddddac4e05b",
                "sha256": "a2b199813b65d36734a0c947c560f422bb409d106c1105956fbb254bec3cd8e7"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "323ba3df97598341ddc92ddddac4e05b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 34571,
            "upload_time": "2024-05-11T13:55:20",
            "upload_time_iso_8601": "2024-05-11T13:55:20.539914Z",
            "url": "https://files.pythonhosted.org/packages/74/cd/582ed741ecf8c8e86be0124d1db267b0b4d46a5aa16b7b02dd0e6da21b54/PyTgCrypto-1.2.7-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a7e0fc3d21e8205d83e80f22c435277f4925726243cf11be2132894dca1a2c7",
                "md5": "1faa7832bed55740947801ec7c1cb01b",
                "sha256": "b5ebd1ed5838b6b7b2aa686c69196d5828ea2cfa132cf8b36e82b4c194a50016"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1faa7832bed55740947801ec7c1cb01b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 51557,
            "upload_time": "2024-05-11T13:55:21",
            "upload_time_iso_8601": "2024-05-11T13:55:21.481584Z",
            "url": "https://files.pythonhosted.org/packages/9a/7e/0fc3d21e8205d83e80f22c435277f4925726243cf11be2132894dca1a2c7/PyTgCrypto-1.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a3a67fca361d96698d4c68bc521977cb40f65e8f9d0aee09a729241e745aed7",
                "md5": "19e4e46ef50b3ecbf99ccd602078f566",
                "sha256": "56efdaba52aff33d409de906d98e853a69bb12089252479b075ea791c89451f6"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "19e4e46ef50b3ecbf99ccd602078f566",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 51267,
            "upload_time": "2024-05-11T13:55:22",
            "upload_time_iso_8601": "2024-05-11T13:55:22.557303Z",
            "url": "https://files.pythonhosted.org/packages/0a/3a/67fca361d96698d4c68bc521977cb40f65e8f9d0aee09a729241e745aed7/PyTgCrypto-1.2.7-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": "2e09953eafbfc138fd56e47b85cc9b38855f6d9bf504f79b193d3060aac04984",
                "md5": "4d446a9878374a83e4b5485efbdf3d11",
                "sha256": "705164fe1027af46106acfa8685e22bfd27ed091281b88b555739940dc965812"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "4d446a9878374a83e4b5485efbdf3d11",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 55245,
            "upload_time": "2024-05-11T13:55:23",
            "upload_time_iso_8601": "2024-05-11T13:55:23.495793Z",
            "url": "https://files.pythonhosted.org/packages/2e/09/953eafbfc138fd56e47b85cc9b38855f6d9bf504f79b193d3060aac04984/PyTgCrypto-1.2.7-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5050666eee88de41f5dd78a556a826a37188f7a3c484091aa2e2017c07f8c99",
                "md5": "417ff580e23e5f739e8082c4c1fd660e",
                "sha256": "b2fa58e18531421aa7e45d5043cef3ea4cb4625fb68b09d2ec6f01ee9a60883c"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "417ff580e23e5f739e8082c4c1fd660e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 55284,
            "upload_time": "2024-05-11T13:55:24",
            "upload_time_iso_8601": "2024-05-11T13:55:24.414958Z",
            "url": "https://files.pythonhosted.org/packages/e5/05/0666eee88de41f5dd78a556a826a37188f7a3c484091aa2e2017c07f8c99/PyTgCrypto-1.2.7-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c26016bf6704539dcb6f881f4b2c7c13dd541230c7f1cf0db597451c87dcad75",
                "md5": "1dc0cc9c71c2bbc388c33f4e3f9e4965",
                "sha256": "0cb2f5d8c161ff014860cb9ad8dd3ee35e9d58d123269391003656325c089f29"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "1dc0cc9c71c2bbc388c33f4e3f9e4965",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 35802,
            "upload_time": "2024-05-11T13:55:26",
            "upload_time_iso_8601": "2024-05-11T13:55:26.034765Z",
            "url": "https://files.pythonhosted.org/packages/c2/60/16bf6704539dcb6f881f4b2c7c13dd541230c7f1cf0db597451c87dcad75/PyTgCrypto-1.2.7-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54f9ad6737d880346b44825de8b551cbd55c1ce5376bb3be61ad6231a1175a75",
                "md5": "d9898500e0a2ff355dd1e4cbbf0900ac",
                "sha256": "2360626f3c36cd7b70209666f38590d2327744dfb9005bbb6bf307f9edeac480"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d9898500e0a2ff355dd1e4cbbf0900ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 36543,
            "upload_time": "2024-05-11T13:55:27",
            "upload_time_iso_8601": "2024-05-11T13:55:27.034148Z",
            "url": "https://files.pythonhosted.org/packages/54/f9/ad6737d880346b44825de8b551cbd55c1ce5376bb3be61ad6231a1175a75/PyTgCrypto-1.2.7-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "838268ce45c5bab4f6655baa7ebbb795e19596a7ba71dd2b71de034bd557de4e",
                "md5": "7ba7ab9fae3d8aa586f0892b55e03f5f",
                "sha256": "6009b70e86425395af31ca2960140b1224ce1bfeaa293798f7ab8d5b9b443d6c"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "7ba7ab9fae3d8aa586f0892b55e03f5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 50545,
            "upload_time": "2024-05-11T13:55:28",
            "upload_time_iso_8601": "2024-05-11T13:55:28.483064Z",
            "url": "https://files.pythonhosted.org/packages/83/82/68ce45c5bab4f6655baa7ebbb795e19596a7ba71dd2b71de034bd557de4e/PyTgCrypto-1.2.7-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c76f193b3f10e9e83ec449694405cf02421660d936db6b0fd69207bc54b4baba",
                "md5": "c116a1ee2ec04afa6cfed8d11db2d078",
                "sha256": "074ae33f301e79a4dacf167d97e9ac33fb6eb254c4086311e7ac526fa3764179"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c116a1ee2ec04afa6cfed8d11db2d078",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 34772,
            "upload_time": "2024-05-11T13:55:29",
            "upload_time_iso_8601": "2024-05-11T13:55:29.438453Z",
            "url": "https://files.pythonhosted.org/packages/c7/6f/193b3f10e9e83ec449694405cf02421660d936db6b0fd69207bc54b4baba/PyTgCrypto-1.2.7-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "89a57b0fd9b00511d3e9da124306aeef2b2af6f9960d706419d8e2b45a2c653d",
                "md5": "ebbe53032ecbf56573a4ea69cc60a478",
                "sha256": "ca0f43451e32b991e3c6acee6e32d90ddf971353de6a8b1f1c18354b8bc7d513"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ebbe53032ecbf56573a4ea69cc60a478",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 34576,
            "upload_time": "2024-05-11T13:55:30",
            "upload_time_iso_8601": "2024-05-11T13:55:30.925406Z",
            "url": "https://files.pythonhosted.org/packages/89/a5/7b0fd9b00511d3e9da124306aeef2b2af6f9960d706419d8e2b45a2c653d/PyTgCrypto-1.2.7-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "244f209c85bd47b0bd54632c2b6f0dfe5b4c6b3384b66fbe0876b3dd3886af5d",
                "md5": "3b35d737eb9e181cfb06f08567f9ed96",
                "sha256": "ecc0d20b398a0d2eb1ee15e97aa8c8ef3893df4fac784c50eb755ed01c6474ad"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3b35d737eb9e181cfb06f08567f9ed96",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 51174,
            "upload_time": "2024-05-11T13:55:32",
            "upload_time_iso_8601": "2024-05-11T13:55:32.445482Z",
            "url": "https://files.pythonhosted.org/packages/24/4f/209c85bd47b0bd54632c2b6f0dfe5b4c6b3384b66fbe0876b3dd3886af5d/PyTgCrypto-1.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "abd1b6ff72ed977ee2f11f18dfc49c29a94e4171c15b6517b2394af8f2d8f488",
                "md5": "a03d568d9fc1c7a2fecc22b41cb79d8f",
                "sha256": "1f52c81af8773d0cb183fd3945ce38cc940be0f69aa1d2ca5957501ac5dd551d"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a03d568d9fc1c7a2fecc22b41cb79d8f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 50910,
            "upload_time": "2024-05-11T13:55:33",
            "upload_time_iso_8601": "2024-05-11T13:55:33.437437Z",
            "url": "https://files.pythonhosted.org/packages/ab/d1/b6ff72ed977ee2f11f18dfc49c29a94e4171c15b6517b2394af8f2d8f488/PyTgCrypto-1.2.7-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": "fdffe89860ba71be5310cfb91fd80e901b993d7a16684e58d315d9109c9efacd",
                "md5": "f49572d97315b5e00aec3ece4bed89cd",
                "sha256": "3165f28e55792a859d4400a6c4e199c34c787689370bd4d841281ffe22893852"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "f49572d97315b5e00aec3ece4bed89cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 54905,
            "upload_time": "2024-05-11T13:55:34",
            "upload_time_iso_8601": "2024-05-11T13:55:34.959207Z",
            "url": "https://files.pythonhosted.org/packages/fd/ff/e89860ba71be5310cfb91fd80e901b993d7a16684e58d315d9109c9efacd/PyTgCrypto-1.2.7-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2fb4c2bc59cf262bc8f87c8e787123ec6809e05b256038913f5437e52484811c",
                "md5": "2ea31782f39594fc47342c737f538400",
                "sha256": "65ebe68470b039c7a3b0db40839dda249678d44fffac5de7a302829d6085346d"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2ea31782f39594fc47342c737f538400",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 54967,
            "upload_time": "2024-05-11T13:55:35",
            "upload_time_iso_8601": "2024-05-11T13:55:35.954224Z",
            "url": "https://files.pythonhosted.org/packages/2f/b4/c2bc59cf262bc8f87c8e787123ec6809e05b256038913f5437e52484811c/PyTgCrypto-1.2.7-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e257851dd949f12f8f1333aecf2679cdf4a6dd781c786f58ab8d62d8d654311",
                "md5": "5af8c510d477efa53962c3ec0bcbb892",
                "sha256": "93e59b9a0eed3dd1f9b843cfebebd2ade1288b74f318390e44a2261d2a58144f"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "5af8c510d477efa53962c3ec0bcbb892",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 35802,
            "upload_time": "2024-05-11T13:55:37",
            "upload_time_iso_8601": "2024-05-11T13:55:37.512576Z",
            "url": "https://files.pythonhosted.org/packages/2e/25/7851dd949f12f8f1333aecf2679cdf4a6dd781c786f58ab8d62d8d654311/PyTgCrypto-1.2.7-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ad1dba86e287b1f2a8395d323c40a0a6a741c31cccd7cc13ec76e55deeec383",
                "md5": "e11527bfbb5bfde4bceb000f3674fe21",
                "sha256": "12d001e7ad54ca4aa2e86e2f9c50ca456bafe6c4f9c111b054f0da232483f870"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e11527bfbb5bfde4bceb000f3674fe21",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 36536,
            "upload_time": "2024-05-11T13:55:39",
            "upload_time_iso_8601": "2024-05-11T13:55:39.028238Z",
            "url": "https://files.pythonhosted.org/packages/7a/d1/dba86e287b1f2a8395d323c40a0a6a741c31cccd7cc13ec76e55deeec383/PyTgCrypto-1.2.7-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "235bec26e5c158030fb7940d0399190d71a15327e1338bf211e9c975fc457e7d",
                "md5": "40fb771d8188d6b73fbe92fee4742b91",
                "sha256": "313b90d84dc122f948f2a412c2510a189bf05166c1971dadc7a598d549c35f21"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "40fb771d8188d6b73fbe92fee4742b91",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 34773,
            "upload_time": "2024-05-11T13:55:40",
            "upload_time_iso_8601": "2024-05-11T13:55:40.568801Z",
            "url": "https://files.pythonhosted.org/packages/23/5b/ec26e5c158030fb7940d0399190d71a15327e1338bf211e9c975fc457e7d/PyTgCrypto-1.2.7-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "356c1e3ea2bd9d277d7baaf26170cc7db3b561daf628285cc787788d1b296a30",
                "md5": "2eb811e37f5beb5c79489a0ffaaa46a8",
                "sha256": "57778fee1756b43e74b15cd00a41b66e9dd81f77d6361b30d795e043aad60148"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2eb811e37f5beb5c79489a0ffaaa46a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 52288,
            "upload_time": "2024-05-11T13:55:41",
            "upload_time_iso_8601": "2024-05-11T13:55:41.453840Z",
            "url": "https://files.pythonhosted.org/packages/35/6c/1e3ea2bd9d277d7baaf26170cc7db3b561daf628285cc787788d1b296a30/PyTgCrypto-1.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ce3c02ef2070450ee4a9475e04d6afdeea55889f7872de57646e64ab75a3823",
                "md5": "7a124b0e35e986a16ed934be6c9639f0",
                "sha256": "1136c7a48920899e17dd9a985b6c0561e7e49c95468b7f8edb4fbf48875b3ffa"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "7a124b0e35e986a16ed934be6c9639f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 52028,
            "upload_time": "2024-05-11T13:55:42",
            "upload_time_iso_8601": "2024-05-11T13:55:42.489689Z",
            "url": "https://files.pythonhosted.org/packages/7c/e3/c02ef2070450ee4a9475e04d6afdeea55889f7872de57646e64ab75a3823/PyTgCrypto-1.2.7-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": "1a665d225bf503c747aaf92e69fd56fc78dfc96c670754216e1342aba71627ca",
                "md5": "7dbd892d2a3d09556b107d1b7ff68690",
                "sha256": "03e8d677649c4d44c977a3aabeeab7368e94de6bf1c8b2ce35fe865754634593"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "7dbd892d2a3d09556b107d1b7ff68690",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 55505,
            "upload_time": "2024-05-11T13:55:43",
            "upload_time_iso_8601": "2024-05-11T13:55:43.622240Z",
            "url": "https://files.pythonhosted.org/packages/1a/66/5d225bf503c747aaf92e69fd56fc78dfc96c670754216e1342aba71627ca/PyTgCrypto-1.2.7-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7b28bef54b018b0a144a6a6f0bdee63735a605abb615c034d04100e8be0ce2b",
                "md5": "1d4d195635f71ee418fb7efff9aa9901",
                "sha256": "1907de35c4f49838acc84ad4783f60548b796692fd03f5c328eefe4ad7cd67dc"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1d4d195635f71ee418fb7efff9aa9901",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 55519,
            "upload_time": "2024-05-11T13:55:44",
            "upload_time_iso_8601": "2024-05-11T13:55:44.609237Z",
            "url": "https://files.pythonhosted.org/packages/d7/b2/8bef54b018b0a144a6a6f0bdee63735a605abb615c034d04100e8be0ce2b/PyTgCrypto-1.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05ab8aa20c89c5135366bcd8cb76e44acbab10d2142baf9743f5362cfabf905a",
                "md5": "13710fc8a2f84b9f97dab603eea3f331",
                "sha256": "9507069dc274c15beb2b5c48fca90be27222b1fc7763596405eb2945047b0374"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "13710fc8a2f84b9f97dab603eea3f331",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 35824,
            "upload_time": "2024-05-11T13:55:46",
            "upload_time_iso_8601": "2024-05-11T13:55:46.227723Z",
            "url": "https://files.pythonhosted.org/packages/05/ab/8aa20c89c5135366bcd8cb76e44acbab10d2142baf9743f5362cfabf905a/PyTgCrypto-1.2.7-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bcdae5956aca805c3975e78938512a625426b9716275d8593b5f38d8c892522",
                "md5": "047e37fd05d25fc1ecbaf508643f876b",
                "sha256": "ab3780a42a9e37d69eafecf51a7fe415b895a8f68de3b12b5788e8d46a312e00"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "047e37fd05d25fc1ecbaf508643f876b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 36524,
            "upload_time": "2024-05-11T13:55:47",
            "upload_time_iso_8601": "2024-05-11T13:55:47.114876Z",
            "url": "https://files.pythonhosted.org/packages/8b/cd/ae5956aca805c3975e78938512a625426b9716275d8593b5f38d8c892522/PyTgCrypto-1.2.7-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d38e9296b788c03e8fb3d82f8ec64eaf0b951434b9fd33e1afc1fabfd1607623",
                "md5": "cbf0d8ec97363475111bd3c795da7a7d",
                "sha256": "16ec86742b66198902ed8c1537a59d5a1ac3c61cc6f28722966c9f813d245187"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "cbf0d8ec97363475111bd3c795da7a7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 50529,
            "upload_time": "2024-05-11T13:55:52",
            "upload_time_iso_8601": "2024-05-11T13:55:52.565678Z",
            "url": "https://files.pythonhosted.org/packages/d3/8e/9296b788c03e8fb3d82f8ec64eaf0b951434b9fd33e1afc1fabfd1607623/PyTgCrypto-1.2.7-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25c4c43361778ebf1b15240a0adad06528f830e8ddcae6673e74452ee9df590c",
                "md5": "ae4103314e0dde87673d3d7cfdb4ed35",
                "sha256": "83423e8f176b6a56b7858bc8630e38962c30e46d246dfa2f979c818e57a12db5"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ae4103314e0dde87673d3d7cfdb4ed35",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 34762,
            "upload_time": "2024-05-11T13:55:53",
            "upload_time_iso_8601": "2024-05-11T13:55:53.587641Z",
            "url": "https://files.pythonhosted.org/packages/25/c4/c43361778ebf1b15240a0adad06528f830e8ddcae6673e74452ee9df590c/PyTgCrypto-1.2.7-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5971744afc096a7d35978a45010c8b4cc636a7db38549a4dffd8b75b97b1559",
                "md5": "3dd22d97528215feca3943dc60029adf",
                "sha256": "908477a7dbde4f3d7c33a76698d16b9bc46ca2c6e99a542079bacb37b0510f45"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3dd22d97528215feca3943dc60029adf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 34568,
            "upload_time": "2024-05-11T13:55:54",
            "upload_time_iso_8601": "2024-05-11T13:55:54.473908Z",
            "url": "https://files.pythonhosted.org/packages/f5/97/1744afc096a7d35978a45010c8b4cc636a7db38549a4dffd8b75b97b1559/PyTgCrypto-1.2.7-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44a887c17cbd55d070d35cf6888fb4631389cf28bd451bb5dc4f3a413526c25f",
                "md5": "1f4eb1e0f39214846292366b5ebaded8",
                "sha256": "520ab12c721115b79b3320b81519d5a5051212c185a4bd25a159d3ff663ffa7a"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f4eb1e0f39214846292366b5ebaded8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 51090,
            "upload_time": "2024-05-11T13:55:55",
            "upload_time_iso_8601": "2024-05-11T13:55:55.570896Z",
            "url": "https://files.pythonhosted.org/packages/44/a8/87c17cbd55d070d35cf6888fb4631389cf28bd451bb5dc4f3a413526c25f/PyTgCrypto-1.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e2598583b82ae3c17a8816309aa188d835bd61aae5e426d91edca79a619ae383",
                "md5": "05c2f91218ba727dbd45b2b722ba9f13",
                "sha256": "e4cdb80ee3f493655c6c4f831903092c21b31a815a7f90b63ea27bfe23061691"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "05c2f91218ba727dbd45b2b722ba9f13",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 50873,
            "upload_time": "2024-05-11T13:55:57",
            "upload_time_iso_8601": "2024-05-11T13:55:57.136920Z",
            "url": "https://files.pythonhosted.org/packages/e2/59/8583b82ae3c17a8816309aa188d835bd61aae5e426d91edca79a619ae383/PyTgCrypto-1.2.7-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": "ecc0f25d4374843f7e4d2d84adebd18dcf03bcd40fb67db807cfe8cb613bef2d",
                "md5": "92c5fcf2dd85f57a9d134050391822e9",
                "sha256": "a9eff4089fb9c86c4aa7062c2c373e24cae98c98cb13f2d90ed2b009d91810bb"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "92c5fcf2dd85f57a9d134050391822e9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 54434,
            "upload_time": "2024-05-11T13:55:58",
            "upload_time_iso_8601": "2024-05-11T13:55:58.265900Z",
            "url": "https://files.pythonhosted.org/packages/ec/c0/f25d4374843f7e4d2d84adebd18dcf03bcd40fb67db807cfe8cb613bef2d/PyTgCrypto-1.2.7-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc49ea6c1c27479b0e2f50dd24c72bb92f84cba2f85d2df0812428cbfa73217d",
                "md5": "cb3fd2dacf74c78ecfab6bd1818bfa22",
                "sha256": "4bff94c04dd0180c0c02dc76588df2247027164bae35a0d54972dcfc739da6c2"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cb3fd2dacf74c78ecfab6bd1818bfa22",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 54505,
            "upload_time": "2024-05-11T13:55:59",
            "upload_time_iso_8601": "2024-05-11T13:55:59.314558Z",
            "url": "https://files.pythonhosted.org/packages/dc/49/ea6c1c27479b0e2f50dd24c72bb92f84cba2f85d2df0812428cbfa73217d/PyTgCrypto-1.2.7-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7526cff3be7e8083d09a6e665e0ea3746cae4c42f1e095bbb203b26a3473666e",
                "md5": "0ff339a2c6be73cf617bab5a984f59b0",
                "sha256": "0d85ee1b2850e46c0b70757b41e0a11c89c8f1a461147d8c1670d510be5536db"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "0ff339a2c6be73cf617bab5a984f59b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 35798,
            "upload_time": "2024-05-11T13:56:00",
            "upload_time_iso_8601": "2024-05-11T13:56:00.312943Z",
            "url": "https://files.pythonhosted.org/packages/75/26/cff3be7e8083d09a6e665e0ea3746cae4c42f1e095bbb203b26a3473666e/PyTgCrypto-1.2.7-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cae8dd45567f4262ec2a0dcf6adb0c163cc1eb5a7e03af5c54c5d72dd7b7f9ff",
                "md5": "a43569c386483fbe36b95c919d1ba69e",
                "sha256": "116a87d581f6a17bfbbfec9661b23e1cafcd14fd189594980839b3b70ce6800d"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a43569c386483fbe36b95c919d1ba69e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 36532,
            "upload_time": "2024-05-11T13:56:01",
            "upload_time_iso_8601": "2024-05-11T13:56:01.931121Z",
            "url": "https://files.pythonhosted.org/packages/ca/e8/dd45567f4262ec2a0dcf6adb0c163cc1eb5a7e03af5c54c5d72dd7b7f9ff/PyTgCrypto-1.2.7-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93fa291489c6d4c46fca8add051ab8ab40e8ba1e834efb7efd7eab30bc99b4cd",
                "md5": "df77e9d490255aa8e1f225672aa2f2c6",
                "sha256": "1b975c27f0cbb1a7b6fb45afff934d22ef5c1bdac7027b6f3b1b32bef73548de"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "df77e9d490255aa8e1f225672aa2f2c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 50537,
            "upload_time": "2024-05-11T13:56:03",
            "upload_time_iso_8601": "2024-05-11T13:56:03.465115Z",
            "url": "https://files.pythonhosted.org/packages/93/fa/291489c6d4c46fca8add051ab8ab40e8ba1e834efb7efd7eab30bc99b4cd/PyTgCrypto-1.2.7-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d60c43666d5331b78d6ecc6e61cb4e042edc72f371f7cdbacee65e9011279b6",
                "md5": "92bb270370580ec4208aad4a149f3c93",
                "sha256": "23f205af74df37d84f312b8176ba23bf763289f804981cf5427c7f445478e7d4"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "92bb270370580ec4208aad4a149f3c93",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 34764,
            "upload_time": "2024-05-11T13:56:04",
            "upload_time_iso_8601": "2024-05-11T13:56:04.466298Z",
            "url": "https://files.pythonhosted.org/packages/5d/60/c43666d5331b78d6ecc6e61cb4e042edc72f371f7cdbacee65e9011279b6/PyTgCrypto-1.2.7-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4f2146fdd4806fcf036124c7636e4b8d735fdf55c6dfd44808b1ffda99cb757b",
                "md5": "5abb7502abec170b645574d290e88acf",
                "sha256": "f6eb3fb7d57896bcc82df110736208889b0427684c6d5bf4f85cf64962261c2a"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5abb7502abec170b645574d290e88acf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 34566,
            "upload_time": "2024-05-11T13:56:05",
            "upload_time_iso_8601": "2024-05-11T13:56:05.478941Z",
            "url": "https://files.pythonhosted.org/packages/4f/21/46fdd4806fcf036124c7636e4b8d735fdf55c6dfd44808b1ffda99cb757b/PyTgCrypto-1.2.7-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec10efe6eb2fb08cca83ad6a1fa3cc005ba72fff31dd2e95934f5d6b740dd772",
                "md5": "6f6855edf414e229d3611edf1aae70b9",
                "sha256": "346fd5845e602982f5fd6e0ab36b4c24df549d3752ede7db298385fc34bb603f"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6f6855edf414e229d3611edf1aae70b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 50538,
            "upload_time": "2024-05-11T13:56:06",
            "upload_time_iso_8601": "2024-05-11T13:56:06.457758Z",
            "url": "https://files.pythonhosted.org/packages/ec/10/efe6eb2fb08cca83ad6a1fa3cc005ba72fff31dd2e95934f5d6b740dd772/PyTgCrypto-1.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f39b6353ae0ee2a59b12ea5d1b2659759d0940a9e4da67c048393590201c56ae",
                "md5": "f7b80009a441072997ed2211fe1f1d84",
                "sha256": "f7fef84f9a7ac64dacef82ef770d9a201690fd300600f878ab7d6ba7f8ec8c29"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f7b80009a441072997ed2211fe1f1d84",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 50339,
            "upload_time": "2024-05-11T13:56:07",
            "upload_time_iso_8601": "2024-05-11T13:56:07.439979Z",
            "url": "https://files.pythonhosted.org/packages/f3/9b/6353ae0ee2a59b12ea5d1b2659759d0940a9e4da67c048393590201c56ae/PyTgCrypto-1.2.7-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": "f0733266b2203ae1c770a38dbb6beb1583905a97b6fe80d663f57c33f4e69da2",
                "md5": "d29c37399a2eeba9d8706571a5310a5a",
                "sha256": "c01928dde7f42345355011085aedd0f6095aeb6610e941f49853398d70fd8cba"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "d29c37399a2eeba9d8706571a5310a5a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 54202,
            "upload_time": "2024-05-11T13:56:08",
            "upload_time_iso_8601": "2024-05-11T13:56:08.473697Z",
            "url": "https://files.pythonhosted.org/packages/f0/73/3266b2203ae1c770a38dbb6beb1583905a97b6fe80d663f57c33f4e69da2/PyTgCrypto-1.2.7-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e61d03f2f2c0d17eebf9859a7df6e84dcd88748e31297d5e692d37ea60c144ad",
                "md5": "8bbbf72b3013e2515a4ad314a0a89e7a",
                "sha256": "2d9a3002a72ddb02f90a4c2982a631da696a74fc640d40ed28e70079a1ff3554"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8bbbf72b3013e2515a4ad314a0a89e7a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 54266,
            "upload_time": "2024-05-11T13:56:10",
            "upload_time_iso_8601": "2024-05-11T13:56:10.463113Z",
            "url": "https://files.pythonhosted.org/packages/e6/1d/03f2f2c0d17eebf9859a7df6e84dcd88748e31297d5e692d37ea60c144ad/PyTgCrypto-1.2.7-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09997415703d8de4998b5623a0fa6b115f67898bb7884a372dd6aab68f921e5c",
                "md5": "7b9105c3848c8311c7471a6f683a64bc",
                "sha256": "e7dccb82ac3859bc8b47cf84781415e2d2a5efcdd27ce8fd733870c59d7cbc33"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "7b9105c3848c8311c7471a6f683a64bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 35800,
            "upload_time": "2024-05-11T13:56:11",
            "upload_time_iso_8601": "2024-05-11T13:56:11.474785Z",
            "url": "https://files.pythonhosted.org/packages/09/99/7415703d8de4998b5623a0fa6b115f67898bb7884a372dd6aab68f921e5c/PyTgCrypto-1.2.7-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b761ceeec0457529543232069d3e3080aa10da4789e58752e1937140e596263f",
                "md5": "94493f41507e0f3a586dce17fc370fe1",
                "sha256": "34eb7c8f3f9dfe1867d3a2247bc8dc3e86a6ca4d9e93ecde6125e02d56a6fa0f"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "94493f41507e0f3a586dce17fc370fe1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 36535,
            "upload_time": "2024-05-11T13:56:12",
            "upload_time_iso_8601": "2024-05-11T13:56:12.471793Z",
            "url": "https://files.pythonhosted.org/packages/b7/61/ceeec0457529543232069d3e3080aa10da4789e58752e1937140e596263f/PyTgCrypto-1.2.7-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c992545d80550ebe8ee262b81ec804763023375e47d528c099062cffd86287df",
                "md5": "40c20bf076164cfd8fd92ca921c94bdf",
                "sha256": "f7e32b58a11d1c5ef645ce2e5556ea6e4dc32c8392986cea033fb2a331783fda"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "40c20bf076164cfd8fd92ca921c94bdf",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 34246,
            "upload_time": "2024-05-11T13:56:13",
            "upload_time_iso_8601": "2024-05-11T13:56:13.468940Z",
            "url": "https://files.pythonhosted.org/packages/c9/92/545d80550ebe8ee262b81ec804763023375e47d528c099062cffd86287df/PyTgCrypto-1.2.7-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03d01c4548f118222a673fad92f04d44297d9d60436a880969439da13cad9fbe",
                "md5": "1d114d89869d93e8f6f9f5ec49be357a",
                "sha256": "31525fd902a821af31096fd404707f18dd806dfac946148a2ea49cc5bafa6829"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1d114d89869d93e8f6f9f5ec49be357a",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 34116,
            "upload_time": "2024-05-11T13:56:14",
            "upload_time_iso_8601": "2024-05-11T13:56:14.381129Z",
            "url": "https://files.pythonhosted.org/packages/03/d0/1c4548f118222a673fad92f04d44297d9d60436a880969439da13cad9fbe/PyTgCrypto-1.2.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1d8f047e252a37632410390047a81d2804e12bb311d9eac629626ce0044e6627",
                "md5": "8acd460ea40b50ddf37147943a42f397",
                "sha256": "219a33b3009f564bf98ec24741d317d003fb3d7827d78efb5afbdc3d56b2dc49"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8acd460ea40b50ddf37147943a42f397",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 34737,
            "upload_time": "2024-05-11T13:56:15",
            "upload_time_iso_8601": "2024-05-11T13:56:15.531176Z",
            "url": "https://files.pythonhosted.org/packages/1d/8f/047e252a37632410390047a81d2804e12bb311d9eac629626ce0044e6627/PyTgCrypto-1.2.7-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": "965678f05d14cebe9d27b274be59c9f56575eeb0acce9a3805d06b4c65b6c5be",
                "md5": "09dbc541b18322792f9223d95ba3ca32",
                "sha256": "994ecad989265025ff3de7ba734865ec5a1cdda5cac824b3c6a6a75e58c14a49"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "09dbc541b18322792f9223d95ba3ca32",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.7",
            "size": 36669,
            "upload_time": "2024-05-11T13:56:17",
            "upload_time_iso_8601": "2024-05-11T13:56:17.048124Z",
            "url": "https://files.pythonhosted.org/packages/96/56/78f05d14cebe9d27b274be59c9f56575eeb0acce9a3805d06b4c65b6c5be/PyTgCrypto-1.2.7-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "110d5bf4302179ad85cdb52e9b40e842e2202bb0ed0eb58f820225cc3105e7f1",
                "md5": "2bd4ab464a4f5fddd9a368792a8f5ce1",
                "sha256": "3a2db8b44b0c7bdbfa4382f4f3ad69d20f736ac6c948393d81bce0b3d92a6a92"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2bd4ab464a4f5fddd9a368792a8f5ce1",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 34239,
            "upload_time": "2024-05-11T13:56:18",
            "upload_time_iso_8601": "2024-05-11T13:56:18.561196Z",
            "url": "https://files.pythonhosted.org/packages/11/0d/5bf4302179ad85cdb52e9b40e842e2202bb0ed0eb58f820225cc3105e7f1/PyTgCrypto-1.2.7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6dca32fe3aeb938c07b3104f78274efdb4fee4f12e3b341f24e33715c0eaa0a",
                "md5": "76cf0353c4924b343c95909b85eb5ea8",
                "sha256": "cec95f8f7d84c46ab82540e9fb7bfcbf7baf6bc6ad2ff198335f3e6fb98d3928"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "76cf0353c4924b343c95909b85eb5ea8",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 34252,
            "upload_time": "2024-05-11T13:56:19",
            "upload_time_iso_8601": "2024-05-11T13:56:19.492680Z",
            "url": "https://files.pythonhosted.org/packages/f6/dc/a32fe3aeb938c07b3104f78274efdb4fee4f12e3b341f24e33715c0eaa0a/PyTgCrypto-1.2.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "930725c70bbf7887ec5da4012759ea212a095e908b3daa617819f0e36f648671",
                "md5": "8ded534eeddd17f58b6ef63d3c4c16fb",
                "sha256": "94484de68236242cbbd6760d5806d34ebbaee581a35128b10e2f849d70abfc80"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8ded534eeddd17f58b6ef63d3c4c16fb",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 34870,
            "upload_time": "2024-05-11T13:56:20",
            "upload_time_iso_8601": "2024-05-11T13:56:20.605654Z",
            "url": "https://files.pythonhosted.org/packages/93/07/25c70bbf7887ec5da4012759ea212a095e908b3daa617819f0e36f648671/PyTgCrypto-1.2.7-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": "1aaeaf12251bb76647cc7b1d3040ad371394da5bfe25be7cab0f72e3b8395535",
                "md5": "7504a32771f17f3f00b1bd87754b57db",
                "sha256": "63e447ab0c477f6d28dd40a5558f505ca5beb726f9dbeb5160a88cfe898cdeb0"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp37-pypy37_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7504a32771f17f3f00b1bd87754b57db",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 36663,
            "upload_time": "2024-05-11T13:56:21",
            "upload_time_iso_8601": "2024-05-11T13:56:21.563937Z",
            "url": "https://files.pythonhosted.org/packages/1a/ae/af12251bb76647cc7b1d3040ad371394da5bfe25be7cab0f72e3b8395535/PyTgCrypto-1.2.7-pp37-pypy37_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f43ed094bbb5461fbf2cd311583cc8f54132a2c9fa8d7debde7790dffdccc83d",
                "md5": "bb8e107e6be8a9e103400b63070f1dcb",
                "sha256": "33696113352d4348b2996fb7bdfca5b5412d81ac3e9fbe97b5e3873a7d673f35"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bb8e107e6be8a9e103400b63070f1dcb",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 34239,
            "upload_time": "2024-05-11T13:56:22",
            "upload_time_iso_8601": "2024-05-11T13:56:22.593929Z",
            "url": "https://files.pythonhosted.org/packages/f4/3e/d094bbb5461fbf2cd311583cc8f54132a2c9fa8d7debde7790dffdccc83d/PyTgCrypto-1.2.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd3d303d51066956def742a2a8904cbdba84452dacc2b445f8002f917f6f3a17",
                "md5": "4b05f01821a56abe7394505d61458695",
                "sha256": "e90fdbbe58c54e51bf885a4cbb15ca3ff66514fb0465bdb9c0514155f2502eb9"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4b05f01821a56abe7394505d61458695",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 34114,
            "upload_time": "2024-05-11T13:56:23",
            "upload_time_iso_8601": "2024-05-11T13:56:23.531796Z",
            "url": "https://files.pythonhosted.org/packages/dd/3d/303d51066956def742a2a8904cbdba84452dacc2b445f8002f917f6f3a17/PyTgCrypto-1.2.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2640bb97c7670a57d28b80515345cacc4726c8d3064896bf71bc37e39853e931",
                "md5": "013c890a983720b5f57c4c32e8c94ff5",
                "sha256": "9bd0dec6d366e5e85351999b68e91f25eb50fa7efd0774219611f1215b80e014"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "013c890a983720b5f57c4c32e8c94ff5",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 34730,
            "upload_time": "2024-05-11T13:56:24",
            "upload_time_iso_8601": "2024-05-11T13:56:24.729319Z",
            "url": "https://files.pythonhosted.org/packages/26/40/bb97c7670a57d28b80515345cacc4726c8d3064896bf71bc37e39853e931/PyTgCrypto-1.2.7-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": "c18b8cb2cd47dfff1ea2efd8ebe6ce0a8b7cb0bf2cbe63fbed7d7a766440c966",
                "md5": "3bcc1accc8c5f16f485553f97b4f173f",
                "sha256": "3bc73ac7728abaaf74b04065ad0e999f0dddb08b29e13d08e0906b95667f3c70"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3bcc1accc8c5f16f485553f97b4f173f",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 36667,
            "upload_time": "2024-05-11T13:56:25",
            "upload_time_iso_8601": "2024-05-11T13:56:25.725448Z",
            "url": "https://files.pythonhosted.org/packages/c1/8b/8cb2cd47dfff1ea2efd8ebe6ce0a8b7cb0bf2cbe63fbed7d7a766440c966/PyTgCrypto-1.2.7-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a569ded8c8aba28d33cad10239dd087a900ef3d52fe3a5ce339a9af80c33dad9",
                "md5": "b89f16581e0045755a2fa272ad17456e",
                "sha256": "835a47b2ee99b9d651b238a9af2d0759626bda42678de6d8f9e39d18c802b096"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b89f16581e0045755a2fa272ad17456e",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 34240,
            "upload_time": "2024-05-11T13:56:26",
            "upload_time_iso_8601": "2024-05-11T13:56:26.879825Z",
            "url": "https://files.pythonhosted.org/packages/a5/69/ded8c8aba28d33cad10239dd087a900ef3d52fe3a5ce339a9af80c33dad9/PyTgCrypto-1.2.7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "74e5347c7ded39f16458ad2b07172ad9d9257ed5bbcafff7fef1558a98c6bfa2",
                "md5": "e47da9b49b22ffe1c3c4949594320bfd",
                "sha256": "3da1a462ee6bb365637d755c791aafc53f76dec6f00e3f084a92f71057c3f654"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e47da9b49b22ffe1c3c4949594320bfd",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 34116,
            "upload_time": "2024-05-11T13:56:27",
            "upload_time_iso_8601": "2024-05-11T13:56:27.888400Z",
            "url": "https://files.pythonhosted.org/packages/74/e5/347c7ded39f16458ad2b07172ad9d9257ed5bbcafff7fef1558a98c6bfa2/PyTgCrypto-1.2.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6c77f270f6f1c994d46a3476cba6914201769e49df816780bf4f4206e1a29d63",
                "md5": "20ec6cb6b0a228081186a47bd2b09d03",
                "sha256": "da5d21704664438655258fbe32afa5aaa9c77a2b5b852d3f3d615336ad66330e"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "20ec6cb6b0a228081186a47bd2b09d03",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 34731,
            "upload_time": "2024-05-11T13:56:29",
            "upload_time_iso_8601": "2024-05-11T13:56:29.452799Z",
            "url": "https://files.pythonhosted.org/packages/6c/77/f270f6f1c994d46a3476cba6914201769e49df816780bf4f4206e1a29d63/PyTgCrypto-1.2.7-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": "1b89fee35058f09eadc21daf33881905155f63e990482efc815ae957f2a30f4c",
                "md5": "e54542d55bac0788456a9a6523d67443",
                "sha256": "0ba69e0cb74bb33cb85c9523ce6014088bb6ba1cd85bfdbd697d270fca43e2d8"
            },
            "downloads": -1,
            "filename": "PyTgCrypto-1.2.7-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e54542d55bac0788456a9a6523d67443",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 36668,
            "upload_time": "2024-05-11T13:56:30",
            "upload_time_iso_8601": "2024-05-11T13:56:30.572604Z",
            "url": "https://files.pythonhosted.org/packages/1b/89/fee35058f09eadc21daf33881905155f63e990482efc815ae957f2a30f4c/PyTgCrypto-1.2.7-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-11 13:55:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "TelegramPlayGround",
    "github_project": "pyrogram",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pytgcrypto"
}
        
Elapsed time: 0.23026s