TgCrypto


NameTgCrypto JSON
Version 1.2.5 PyPI version JSON
download
home_pagehttps://github.com/pyrogram
SummaryFast and Portable Cryptography Extension Library for Pyrogram
upload_time2022-11-11 19:55:11
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.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/pyrogram",
    "name": "TgCrypto",
    "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://files.pythonhosted.org/packages/33/59/7cf5ced989e3139a791d5452d58cb8994de589576b80f9267ba76d794f6c/TgCrypto-1.2.5.tar.gz",
    "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.5",
    "split_keywords": [
        "pyrogram",
        "telegram",
        "crypto",
        "cryptography",
        "encryption",
        "mtproto",
        "extension",
        "library",
        "aes"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc1e6e33a82e6f8bbb261c762ab18da67396b05920e4cf0232ca9a8afc933a67",
                "md5": "c062bc011c6bf87800e345112e6aab54",
                "sha256": "4507102377002966f35f2481830b7529e00c9bbff8c7d1e09634f984af801675"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "c062bc011c6bf87800e345112e6aab54",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 58986,
            "upload_time": "2022-11-11T19:51:20",
            "upload_time_iso_8601": "2022-11-11T19:51:20.084760Z",
            "url": "https://files.pythonhosted.org/packages/bc/1e/6e33a82e6f8bbb261c762ab18da67396b05920e4cf0232ca9a8afc933a67/TgCrypto-1.2.5-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "748290b8eedd225e66f96ce87936505ea56e289944e022476976601923b74c4b",
                "md5": "1de21394bd48d888eeaa8bf2d74f57e2",
                "sha256": "38fe25c0d79b41d7a89caba2a78dea0358e17ca73b033cefd16abed680685829"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1de21394bd48d888eeaa8bf2d74f57e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 43349,
            "upload_time": "2022-11-11T19:51:23",
            "upload_time_iso_8601": "2022-11-11T19:51:23.151523Z",
            "url": "https://files.pythonhosted.org/packages/74/82/90b8eedd225e66f96ce87936505ea56e289944e022476976601923b74c4b/TgCrypto-1.2.5-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76c1057ff6b2a022e82bf958b9b936647cca452f155ad27f5d3ceb0a6c04520c",
                "md5": "486eb35bc70ab35afe758d5f6cc8c059",
                "sha256": "c035bf8ef89846f67e77e82ea85c089b6ea30631b32e8ac1a6511b9be52ab065"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "486eb35bc70ab35afe758d5f6cc8c059",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 43125,
            "upload_time": "2022-11-11T19:51:25",
            "upload_time_iso_8601": "2022-11-11T19:51:25.213805Z",
            "url": "https://files.pythonhosted.org/packages/76/c1/057ff6b2a022e82bf958b9b936647cca452f155ad27f5d3ceb0a6c04520c/TgCrypto-1.2.5-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9902b48d2e2ef16cad958138e2c48a11f6fce802bb9b42a66b28509cd530fe12",
                "md5": "65f65063dc8213c1e57c811cb33b37d0",
                "sha256": "f594e2680daf20dbac6bf56862f567ddc3cc8d6a19757ed07faa8320ff7acee4"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "65f65063dc8213c1e57c811cb33b37d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 59895,
            "upload_time": "2022-11-11T19:51:28",
            "upload_time_iso_8601": "2022-11-11T19:51:28.068815Z",
            "url": "https://files.pythonhosted.org/packages/99/02/b48d2e2ef16cad958138e2c48a11f6fce802bb9b42a66b28509cd530fe12/TgCrypto-1.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f04da29fb5a8bcad988f01662445f42231afd9c7518141dc8f745b4358a9c5e9",
                "md5": "ef02d65d2027b7cd4bca8053f87cbe87",
                "sha256": "8723a16076e229ffdf537fdb5e638227d10f44ca43e6939db1eab524de6eaed7"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "ef02d65d2027b7cd4bca8053f87cbe87",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 59682,
            "upload_time": "2022-11-11T19:51:30",
            "upload_time_iso_8601": "2022-11-11T19:51:30.367430Z",
            "url": "https://files.pythonhosted.org/packages/f0/4d/a29fb5a8bcad988f01662445f42231afd9c7518141dc8f745b4358a9c5e9/TgCrypto-1.2.5-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": "3e95aa3f59e01cd7f9feae058c9b3d0379315e3102f23ac5fd9a8050bb5d7a07",
                "md5": "9b1e47a9daf979a6f55b2671c4389c1b",
                "sha256": "c1c8d974b8b2d7132364b6f0f6712b92bfe47ab9c5dcee25c70327ff68d22d95"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "9b1e47a9daf979a6f55b2671c4389c1b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 63566,
            "upload_time": "2022-11-11T19:51:32",
            "upload_time_iso_8601": "2022-11-11T19:51:32.627373Z",
            "url": "https://files.pythonhosted.org/packages/3e/95/aa3f59e01cd7f9feae058c9b3d0379315e3102f23ac5fd9a8050bb5d7a07/TgCrypto-1.2.5-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d121a47a04a22953fb5d48c6b6c70ffc37b84e9a9553e606863a4e5c56478f4",
                "md5": "6a22359f1223ce75564a85047b0289bd",
                "sha256": "89d9c143a1fcdb2562a4aa887152abbe9253e1979d7bebef2b489148e0bbe086"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6a22359f1223ce75564a85047b0289bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 63617,
            "upload_time": "2022-11-11T19:51:35",
            "upload_time_iso_8601": "2022-11-11T19:51:35.306051Z",
            "url": "https://files.pythonhosted.org/packages/9d/12/1a47a04a22953fb5d48c6b6c70ffc37b84e9a9553e606863a4e5c56478f4/TgCrypto-1.2.5-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a2f7e336feec07fe8b1716498158d7b876354fb68d8ddd17ad81354adf7f7112",
                "md5": "04b1f37a89819962285c973a747bd597",
                "sha256": "aa4bc1d11d4a90811c162abd45a5981f171679d1b5bd0322cd7ccd16447366a2"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "04b1f37a89819962285c973a747bd597",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 44719,
            "upload_time": "2022-11-11T19:51:37",
            "upload_time_iso_8601": "2022-11-11T19:51:37.373565Z",
            "url": "https://files.pythonhosted.org/packages/a2/f7/e336feec07fe8b1716498158d7b876354fb68d8ddd17ad81354adf7f7112/TgCrypto-1.2.5-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29e0c81f525860e00d0ec188a2114cebcce2912048d3a82bfdd125b295aa6e92",
                "md5": "81ef68c242fd8c9179cd77dd0c7e4106",
                "sha256": "39145103614c5e38fe938549742d355920f4a0778fa8259eb69c0c85ba4b1d28"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "81ef68c242fd8c9179cd77dd0c7e4106",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 45072,
            "upload_time": "2022-11-11T19:51:40",
            "upload_time_iso_8601": "2022-11-11T19:51:40.043559Z",
            "url": "https://files.pythonhosted.org/packages/29/e0/c81f525860e00d0ec188a2114cebcce2912048d3a82bfdd125b295aa6e92/TgCrypto-1.2.5-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48e607dc413e57f3677e0b887975b174d9cbc8170e92651dd35a784da9571d5f",
                "md5": "34ea6b5fc788e10d4080164ecbdce395",
                "sha256": "59597cdb1c87eb1184088563d20b42a8f2e431e9334fed64926079044ad2a4af"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "34ea6b5fc788e10d4080164ecbdce395",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 58988,
            "upload_time": "2022-11-11T19:51:41",
            "upload_time_iso_8601": "2022-11-11T19:51:41.686729Z",
            "url": "https://files.pythonhosted.org/packages/48/e6/07dc413e57f3677e0b887975b174d9cbc8170e92651dd35a784da9571d5f/TgCrypto-1.2.5-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1fea418223ff6079184f50f5ad8c2dac37ec40adbb42b886c3ee44fdba2a540",
                "md5": "c0d84b73e3a7d65254170794d67a2d60",
                "sha256": "1283337ae75b02406dd700377b8b783e70033b548492517df6e6c4156b0ed69c"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c0d84b73e3a7d65254170794d67a2d60",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 43347,
            "upload_time": "2022-11-11T19:51:43",
            "upload_time_iso_8601": "2022-11-11T19:51:43.662366Z",
            "url": "https://files.pythonhosted.org/packages/c1/fe/a418223ff6079184f50f5ad8c2dac37ec40adbb42b886c3ee44fdba2a540/TgCrypto-1.2.5-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "390ee861a9987c6d9d3ae04d156732311e018558f862490c466c369d73094807",
                "md5": "ec442067f64a3e9e72e531fb7d90efef",
                "sha256": "1735437df0023a40e5fdd95e6b09ce806ec8f2cd2f8879023818840dfae60cab"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ec442067f64a3e9e72e531fb7d90efef",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 43123,
            "upload_time": "2022-11-11T19:51:45",
            "upload_time_iso_8601": "2022-11-11T19:51:45.094692Z",
            "url": "https://files.pythonhosted.org/packages/39/0e/e861a9987c6d9d3ae04d156732311e018558f862490c466c369d73094807/TgCrypto-1.2.5-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0dced60e249ac4d31d591f4c8ca76e7bd537f4c54f1947b400a14ac3a1678b09",
                "md5": "5271efd329772147f5bac7eefc91f3d5",
                "sha256": "cfa17a20206532c6d2442c9d7a7f6434120bd75896ad9a3e9b9277477afa084f"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5271efd329772147f5bac7eefc91f3d5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 60713,
            "upload_time": "2022-11-11T19:51:46",
            "upload_time_iso_8601": "2022-11-11T19:51:46.411626Z",
            "url": "https://files.pythonhosted.org/packages/0d/ce/d60e249ac4d31d591f4c8ca76e7bd537f4c54f1947b400a14ac3a1678b09/TgCrypto-1.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "275550f81b1a557bd8f9b73f7fcda2381f8826665858750968394ceec0b01282",
                "md5": "aaffdf5dadafe8c6973e894e444f5d10",
                "sha256": "48da3674474839e5619e7430ff1f98aed9f55369f3cfaef7f65511852869572e"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "aaffdf5dadafe8c6973e894e444f5d10",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 60418,
            "upload_time": "2022-11-11T19:51:47",
            "upload_time_iso_8601": "2022-11-11T19:51:47.872035Z",
            "url": "https://files.pythonhosted.org/packages/27/55/50f81b1a557bd8f9b73f7fcda2381f8826665858750968394ceec0b01282/TgCrypto-1.2.5-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": "f3557f5f5a024b71ef81b07c3fe15e79d03b634eb349b04bc79a62c8c3ed3376",
                "md5": "6aefab6c947eee2df907b02d300caa6f",
                "sha256": "b49e982e5b156be821a5235bd9102c00dc506a58607e2c8bd50ac872724a951f"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "6aefab6c947eee2df907b02d300caa6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 64397,
            "upload_time": "2022-11-11T19:51:49",
            "upload_time_iso_8601": "2022-11-11T19:51:49.609661Z",
            "url": "https://files.pythonhosted.org/packages/f3/55/7f5f5a024b71ef81b07c3fe15e79d03b634eb349b04bc79a62c8c3ed3376/TgCrypto-1.2.5-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "763e8f059edce82de8ebbc1e513076c0f65a86fac95887fae21ae087440ef23a",
                "md5": "086833930f4d4296d24598170c271d01",
                "sha256": "9d9f13586065a6d86d05c16409054033a84be208acee29b49f6f194e27b08642"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "086833930f4d4296d24598170c271d01",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 64436,
            "upload_time": "2022-11-11T19:51:51",
            "upload_time_iso_8601": "2022-11-11T19:51:51.414527Z",
            "url": "https://files.pythonhosted.org/packages/76/3e/8f059edce82de8ebbc1e513076c0f65a86fac95887fae21ae087440ef23a/TgCrypto-1.2.5-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eb87fe894eb7c4cce4b6f710223c24e0ca22f4107fe46f3f56091ceabd482de7",
                "md5": "2e08c8bf3e41b7bbb05790a25c796434",
                "sha256": "10dd3870aecb1a783c6eafd3b164b2149dbc93a9ee13feb7e6f5c58f87c24cd0"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "2e08c8bf3e41b7bbb05790a25c796434",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 44723,
            "upload_time": "2022-11-11T19:51:52",
            "upload_time_iso_8601": "2022-11-11T19:51:52.982712Z",
            "url": "https://files.pythonhosted.org/packages/eb/87/fe894eb7c4cce4b6f710223c24e0ca22f4107fe46f3f56091ceabd482de7/TgCrypto-1.2.5-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1fcb918235b19b70a45f4a596c773fad2c379d941d2ac5005293e2ee18bdc63",
                "md5": "2899d159ae0a6bc79487d0f41b684ec3",
                "sha256": "a1beec47d6af8b509af7cf266e30f7703208076076594714005b42d2c25225b3"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2899d159ae0a6bc79487d0f41b684ec3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 45073,
            "upload_time": "2022-11-11T19:51:54",
            "upload_time_iso_8601": "2022-11-11T19:51:54.724222Z",
            "url": "https://files.pythonhosted.org/packages/c1/fc/b918235b19b70a45f4a596c773fad2c379d941d2ac5005293e2ee18bdc63/TgCrypto-1.2.5-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0eb1ffa36252c151c90d1f4598b3136c367e3d7a262853decaf6b742a0b4316a",
                "md5": "fd08965c5c113563610a8118ddbf0cc6",
                "sha256": "c133ddc95ae9c6cd6ad742c4b8c30191214db8dc724268bee59a339e22b2028b"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fd08965c5c113563610a8118ddbf0cc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 43356,
            "upload_time": "2022-11-11T19:51:56",
            "upload_time_iso_8601": "2022-11-11T19:51:56.159493Z",
            "url": "https://files.pythonhosted.org/packages/0e/b1/ffa36252c151c90d1f4598b3136c367e3d7a262853decaf6b742a0b4316a/TgCrypto-1.2.5-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "057e3bc4f0570e1763b82c1d4026ee2a16fc0b1ff309aa82576c304180277de8",
                "md5": "65602c53a71822da1db4794a37a1765d",
                "sha256": "7f6537f6af3d80be67bd2625a0990ee88c6ae58d33bdb88d99591bd6e97ee7a0"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "65602c53a71822da1db4794a37a1765d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 61435,
            "upload_time": "2022-11-11T19:51:57",
            "upload_time_iso_8601": "2022-11-11T19:51:57.902653Z",
            "url": "https://files.pythonhosted.org/packages/05/7e/3bc4f0570e1763b82c1d4026ee2a16fc0b1ff309aa82576c304180277de8/TgCrypto-1.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c554446d6597af3547fe913e13a9a58eb644a2ea491c55d8deb10781ac850da",
                "md5": "e8d1631fa05d7f33fe8c0fb42eebf19c",
                "sha256": "bdebbd9cffd10c42a2f60886dcab0272ddd38330d0cf7ccf026230b826573f59"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "e8d1631fa05d7f33fe8c0fb42eebf19c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 61178,
            "upload_time": "2022-11-11T19:52:01",
            "upload_time_iso_8601": "2022-11-11T19:52:01.800107Z",
            "url": "https://files.pythonhosted.org/packages/2c/55/4446d6597af3547fe913e13a9a58eb644a2ea491c55d8deb10781ac850da/TgCrypto-1.2.5-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": "91383c8df336d1e01d3df84833005c20ae41abc4ac083659aed4a721d65246c6",
                "md5": "e7ef8bdae93df50c7af105205055d72a",
                "sha256": "45683659ec6475ee8ff60e12167ec19aacfd7527decafe446434fa1a7e6760a7"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "e7ef8bdae93df50c7af105205055d72a",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 64655,
            "upload_time": "2022-11-11T19:52:03",
            "upload_time_iso_8601": "2022-11-11T19:52:03.251023Z",
            "url": "https://files.pythonhosted.org/packages/91/38/3c8df336d1e01d3df84833005c20ae41abc4ac083659aed4a721d65246c6/TgCrypto-1.2.5-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a194e1400fe4de1f1143c19dd35e39e91409b36822274a6f77a37eca7e144d9",
                "md5": "c7c194bbec2b0437620296e834b911f5",
                "sha256": "eafad246fd9aa63ff709a6e8c905c24fd7520ef96e33a2c3e1ccdb4fb2b2f331"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c7c194bbec2b0437620296e834b911f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 64668,
            "upload_time": "2022-11-11T19:52:04",
            "upload_time_iso_8601": "2022-11-11T19:52:04.801570Z",
            "url": "https://files.pythonhosted.org/packages/2a/19/4e1400fe4de1f1143c19dd35e39e91409b36822274a6f77a37eca7e144d9/TgCrypto-1.2.5-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c75d9305e9782c14c75bc11d79eff01b163e60c336f0d6325582e48d0957a99",
                "md5": "63336d88d2a9a01704bb583d65dc357a",
                "sha256": "1445217d22101946d38ee7d628cdb3de92db4eb130183a22030c07d7888f21b0"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "63336d88d2a9a01704bb583d65dc357a",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 44742,
            "upload_time": "2022-11-11T19:52:06",
            "upload_time_iso_8601": "2022-11-11T19:52:06.698883Z",
            "url": "https://files.pythonhosted.org/packages/3c/75/d9305e9782c14c75bc11d79eff01b163e60c336f0d6325582e48d0957a99/TgCrypto-1.2.5-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b6f33e8609eecefdd8509a58d6b230fa87c85596cfc078b3f5b09c96e12f5f4",
                "md5": "fc0449b4c4f69e4fa8687385f39f6bab",
                "sha256": "b7e8402fe4023dc9666c0bc1b30fcf0d98a294e48d35f311a3eadfe105af04d4"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fc0449b4c4f69e4fa8687385f39f6bab",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 45073,
            "upload_time": "2022-11-11T19:52:08",
            "upload_time_iso_8601": "2022-11-11T19:52:08.138224Z",
            "url": "https://files.pythonhosted.org/packages/5b/6f/33e8609eecefdd8509a58d6b230fa87c85596cfc078b3f5b09c96e12f5f4/TgCrypto-1.2.5-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "10e1b981c353773c156c475e23dfc4140d22623ae150b3f0e5bf8825c5661782",
                "md5": "f3050fc1c27093b59ced61137881768e",
                "sha256": "56e1ec34e75fa2e3dcf7f74f1017d8e16c1eb8a8e031eaaa06c57f836e0d3bcc"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f3050fc1c27093b59ced61137881768e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 58984,
            "upload_time": "2022-11-11T19:52:09",
            "upload_time_iso_8601": "2022-11-11T19:52:09.581994Z",
            "url": "https://files.pythonhosted.org/packages/10/e1/b981c353773c156c475e23dfc4140d22623ae150b3f0e5bf8825c5661782/TgCrypto-1.2.5-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8866a3de35fafc5f8b230aea5403d2882ad96bdebee9a90344854f5aec0e9261",
                "md5": "eeb6dcf80f59bc1a32c3f959fe0510ba",
                "sha256": "ca8814d6cc412775a43a021fce2d23e83a5336e9e9f38d0998d821cdf55c1d50"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eeb6dcf80f59bc1a32c3f959fe0510ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 43346,
            "upload_time": "2022-11-11T19:52:11",
            "upload_time_iso_8601": "2022-11-11T19:52:11.718421Z",
            "url": "https://files.pythonhosted.org/packages/88/66/a3de35fafc5f8b230aea5403d2882ad96bdebee9a90344854f5aec0e9261/TgCrypto-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57110cbcc61c9072971d8d9ec33526b12b1889c2d7f041d480e26c26851c4b1d",
                "md5": "e64cbc221f3753abb9cc5e62014dc4d7",
                "sha256": "bb82e53f20ce5653573832f3c05fa525cc1769bdd685408b19f26d82d5e9001b"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e64cbc221f3753abb9cc5e62014dc4d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 43120,
            "upload_time": "2022-11-11T19:52:14",
            "upload_time_iso_8601": "2022-11-11T19:52:14.346937Z",
            "url": "https://files.pythonhosted.org/packages/57/11/0cbcc61c9072971d8d9ec33526b12b1889c2d7f041d480e26c26851c4b1d/TgCrypto-1.2.5-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51b53b8fd7c78024491fefc0afdbad375cc82e3b641ba18f05c9fcf81cc162ce",
                "md5": "34eff5c38099b32a26d5fb6c707b6342",
                "sha256": "0133936eac63cc9529b497d759b7d0ca21e491bb42481b40b603ee63bb8c10b7"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "34eff5c38099b32a26d5fb6c707b6342",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 60240,
            "upload_time": "2022-11-11T19:52:16",
            "upload_time_iso_8601": "2022-11-11T19:52:16.947699Z",
            "url": "https://files.pythonhosted.org/packages/51/b5/3b8fd7c78024491fefc0afdbad375cc82e3b641ba18f05c9fcf81cc162ce/TgCrypto-1.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba779f80bebad95ed096411289033fb44f3d5cd0ad9a74fafdcd8dfae341997d",
                "md5": "b1208ab1cbebb02d82bff357f5c2485c",
                "sha256": "76fe0a3ad838dcf300ac88233cbffc2ad63478eb0ae9fa671694e184d88ec1cd"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b1208ab1cbebb02d82bff357f5c2485c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 60027,
            "upload_time": "2022-11-11T19:52:19",
            "upload_time_iso_8601": "2022-11-11T19:52:19.064745Z",
            "url": "https://files.pythonhosted.org/packages/ba/77/9f80bebad95ed096411289033fb44f3d5cd0ad9a74fafdcd8dfae341997d/TgCrypto-1.2.5-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": "af2767c885a639257bc15f0e450c059f9ac7a84d77683ca5a3839eb7c95e82c8",
                "md5": "222b533ee6963af265cfa7c21db7cbf1",
                "sha256": "7070c6e063befb6d04eab46e8b1ffbee47a497971be11496d23837fc007e7685"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "222b533ee6963af265cfa7c21db7cbf1",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 63586,
            "upload_time": "2022-11-11T19:52:20",
            "upload_time_iso_8601": "2022-11-11T19:52:20.374443Z",
            "url": "https://files.pythonhosted.org/packages/af/27/67c885a639257bc15f0e450c059f9ac7a84d77683ca5a3839eb7c95e82c8/TgCrypto-1.2.5-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d96ca7ba309769f3543f68df0b3e25d3e390d9a864ab25678898559fa9da866",
                "md5": "4abb4b4e2331b0a000da9e3c78540e95",
                "sha256": "ed53d0c4a5e6f75d4b1cab17535afe210cd3120fb88f44a8c4562d43c2a3bb16"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4abb4b4e2331b0a000da9e3c78540e95",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 63655,
            "upload_time": "2022-11-11T19:52:21",
            "upload_time_iso_8601": "2022-11-11T19:52:21.765204Z",
            "url": "https://files.pythonhosted.org/packages/2d/96/ca7ba309769f3543f68df0b3e25d3e390d9a864ab25678898559fa9da866/TgCrypto-1.2.5-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a49b44af0083d713d11ad0fcbface305cedb3a71058cdbd256d990f0374f883a",
                "md5": "4146ab589673a55eced0139058a492d9",
                "sha256": "f7ec9f0a571fcc38fbee224943ed9918123f752ac19bae5c195d8322f5b20fab"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "4146ab589673a55eced0139058a492d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 44715,
            "upload_time": "2022-11-11T19:52:23",
            "upload_time_iso_8601": "2022-11-11T19:52:23.486445Z",
            "url": "https://files.pythonhosted.org/packages/a4/9b/44af0083d713d11ad0fcbface305cedb3a71058cdbd256d990f0374f883a/TgCrypto-1.2.5-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eed94a1f1d4ab605d4d84146cef739f01699056603d7fe88df9d6d396121c0af",
                "md5": "cecce522ebe3eb6f8858ba6d24692907",
                "sha256": "362ab28fc75e6b066e5bb15fb5296f75f4238d6c1cbcaaa1e5756cd5c168b74b"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cecce522ebe3eb6f8858ba6d24692907",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 45067,
            "upload_time": "2022-11-11T19:52:24",
            "upload_time_iso_8601": "2022-11-11T19:52:24.926800Z",
            "url": "https://files.pythonhosted.org/packages/ee/d9/4a1f1d4ab605d4d84146cef739f01699056603d7fe88df9d6d396121c0af/TgCrypto-1.2.5-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e98e0a0b14d40af57dd2c9a18af56714d7afc53d64e072de5474ea62e5b6fdb9",
                "md5": "437cdef629e79e380e74dc6559bdbaf5",
                "sha256": "7885a75db09ce8bdba42d2c332085bfe314f232541a729808c7507ffa261ff9a"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "437cdef629e79e380e74dc6559bdbaf5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 58984,
            "upload_time": "2022-11-11T19:52:26",
            "upload_time_iso_8601": "2022-11-11T19:52:26.320646Z",
            "url": "https://files.pythonhosted.org/packages/e9/8e/0a0b14d40af57dd2c9a18af56714d7afc53d64e072de5474ea62e5b6fdb9/TgCrypto-1.2.5-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5491306f6c1fdc51769fd29706f13b2aab71f8b616bf24799bc50009e7276af",
                "md5": "a4ea1e524f74de5300b1801040d746aa",
                "sha256": "0d28aa317364a5c27317fe97a48267aa1c65c9aaf589909e97489ebe82a714e3"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a4ea1e524f74de5300b1801040d746aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 43348,
            "upload_time": "2022-11-11T19:52:27",
            "upload_time_iso_8601": "2022-11-11T19:52:27.694623Z",
            "url": "https://files.pythonhosted.org/packages/a5/49/1306f6c1fdc51769fd29706f13b2aab71f8b616bf24799bc50009e7276af/TgCrypto-1.2.5-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c26ab5311038ff1ddacb1f40d35f8b69b1d8c7c5ec9bf874655ae8e6dd8b2214",
                "md5": "97c1ca150423f2ab29785e57aebdd52e",
                "sha256": "940974e19044dc65bcf7b9c5255173b896dff010142f3833047dc55d59cde21c"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "97c1ca150423f2ab29785e57aebdd52e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 43118,
            "upload_time": "2022-11-11T19:52:29",
            "upload_time_iso_8601": "2022-11-11T19:52:29.849031Z",
            "url": "https://files.pythonhosted.org/packages/c2/6a/b5311038ff1ddacb1f40d35f8b69b1d8c7c5ec9bf874655ae8e6dd8b2214/TgCrypto-1.2.5-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a07e48a6a93da084727d2929ed0b162bdf5cf42f746b511523fae111f6f24edd",
                "md5": "46853437a0eae38b7d7615a201f070fd",
                "sha256": "457c657dd10ffb4bbbb007132a0f6a7bee5080176a98c51f285fedf636b624cb"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "46853437a0eae38b7d7615a201f070fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 59687,
            "upload_time": "2022-11-11T19:52:31",
            "upload_time_iso_8601": "2022-11-11T19:52:31.468575Z",
            "url": "https://files.pythonhosted.org/packages/a0/7e/48a6a93da084727d2929ed0b162bdf5cf42f746b511523fae111f6f24edd/TgCrypto-1.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5b1458f6ea8be37beb46600adc568c297edab09e87c1bd881cc5aa1a316074c",
                "md5": "3e44221653e822ce9dc64e647d860ed9",
                "sha256": "539bdc6b9239fb6a6b134591a998dc7f50d4dcc4fed861f80540682acc0c3802"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "3e44221653e822ce9dc64e647d860ed9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 59489,
            "upload_time": "2022-11-11T19:52:32",
            "upload_time_iso_8601": "2022-11-11T19:52:32.926783Z",
            "url": "https://files.pythonhosted.org/packages/b5/b1/458f6ea8be37beb46600adc568c297edab09e87c1bd881cc5aa1a316074c/TgCrypto-1.2.5-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": "67768478b9a4d243d93bd1e25649229e8e891d3dd86b6753f36d442cd5fd8549",
                "md5": "21aeb58912f4356df334076a592eab03",
                "sha256": "4d70d5517d64ca952896b726d22c8a66594e6f6259ee2cb4fa134c02d0e8c3e0"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "21aeb58912f4356df334076a592eab03",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 63357,
            "upload_time": "2022-11-11T19:52:35",
            "upload_time_iso_8601": "2022-11-11T19:52:35.359312Z",
            "url": "https://files.pythonhosted.org/packages/67/76/8478b9a4d243d93bd1e25649229e8e891d3dd86b6753f36d442cd5fd8549/TgCrypto-1.2.5-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa2481f3062d5f1989210e5bdf03f5725fdc92551e73f7136b9f6f2ddbc2d2d5",
                "md5": "b665980f6b3c5f1764882152b1d21dd9",
                "sha256": "90b6337d3ae4348ed14f89dd2ebf7011fa63d67a48c8a98d955a1e392176c60a"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b665980f6b3c5f1764882152b1d21dd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 63416,
            "upload_time": "2022-11-11T19:52:36",
            "upload_time_iso_8601": "2022-11-11T19:52:36.974099Z",
            "url": "https://files.pythonhosted.org/packages/fa/24/81f3062d5f1989210e5bdf03f5725fdc92551e73f7136b9f6f2ddbc2d2d5/TgCrypto-1.2.5-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47584d42aadaca4422e7ca69cd2ec24033165dc67be08267a5b3f425f5728d1d",
                "md5": "1ac3ff7f20058083f10aae95c44a178b",
                "sha256": "37c4b9be82716fbc6d2b123caef448eee28683888803db075d842327766f7624"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "1ac3ff7f20058083f10aae95c44a178b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 44719,
            "upload_time": "2022-11-11T19:52:38",
            "upload_time_iso_8601": "2022-11-11T19:52:38.501945Z",
            "url": "https://files.pythonhosted.org/packages/47/58/4d42aadaca4422e7ca69cd2ec24033165dc67be08267a5b3f425f5728d1d/TgCrypto-1.2.5-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f459fd84e8d904f2dd294980543c6f046d64ad9d44bb9f7e83670bb903298abb",
                "md5": "dbf35f3dca5fc5d89f84bb9d999583c9",
                "sha256": "6e96b3a478fae977228c5750194c20a18cde402bbbea6593de424f84d4a8893b"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "dbf35f3dca5fc5d89f84bb9d999583c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 45068,
            "upload_time": "2022-11-11T19:52:40",
            "upload_time_iso_8601": "2022-11-11T19:52:40.703228Z",
            "url": "https://files.pythonhosted.org/packages/f4/59/fd84e8d904f2dd294980543c6f046d64ad9d44bb9f7e83670bb903298abb/TgCrypto-1.2.5-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f79248dd434d8cbefe831d253c58b362f8f90a55ed2ad2439b2e5182efd1092",
                "md5": "2556b2c278528214c839a98ff037235d",
                "sha256": "4d93686e6254eb0a32a0a60e849b41a867a2770b27b48f978fd391dce2b83aeb"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2556b2c278528214c839a98ff037235d",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 42849,
            "upload_time": "2022-11-11T19:52:42",
            "upload_time_iso_8601": "2022-11-11T19:52:42.138394Z",
            "url": "https://files.pythonhosted.org/packages/3f/79/248dd434d8cbefe831d253c58b362f8f90a55ed2ad2439b2e5182efd1092/TgCrypto-1.2.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a44d8528df0666c26195142da9f51e4aaa1a841e5020c488a430b7a1f73958b7",
                "md5": "faa303ffa585178ab32b2ce7b471d91a",
                "sha256": "7b7fe81fad7c64479c83f31fc10e79fb20a114bca414e5e17f5e0c8b363153f8"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "faa303ffa585178ab32b2ce7b471d91a",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 43403,
            "upload_time": "2022-11-11T19:52:43",
            "upload_time_iso_8601": "2022-11-11T19:52:43.678977Z",
            "url": "https://files.pythonhosted.org/packages/a4/4d/8528df0666c26195142da9f51e4aaa1a841e5020c488a430b7a1f73958b7/TgCrypto-1.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ed5410e63cd1d3a14c0e8bb83a7a94f518ef4a1b41429b7e498eb6c39243450",
                "md5": "400b4c03c0ddfbb95a34ffd518cfbf96",
                "sha256": "ace308f5842a0d6c04fc1ae92cb4320b4b13bfc711031c1c18d9124697685ba0"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "400b4c03c0ddfbb95a34ffd518cfbf96",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 44023,
            "upload_time": "2022-11-11T19:52:45",
            "upload_time_iso_8601": "2022-11-11T19:52:45.107470Z",
            "url": "https://files.pythonhosted.org/packages/6e/d5/410e63cd1d3a14c0e8bb83a7a94f518ef4a1b41429b7e498eb6c39243450/TgCrypto-1.2.5-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": "b4fd6485df95e6ba492b5615ea4688a16239651c90258589b5de742a022ac5c5",
                "md5": "3bcb971d2a7e536df68d02ef11e681cb",
                "sha256": "36a570ecd12a428222b10ea8b5a8e0d83ea8750e4de1d5ea53d068b84341b450"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp37-pypy37_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3bcb971d2a7e536df68d02ef11e681cb",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": "~=3.7",
            "size": 45217,
            "upload_time": "2022-11-11T19:52:46",
            "upload_time_iso_8601": "2022-11-11T19:52:46.948678Z",
            "url": "https://files.pythonhosted.org/packages/b4/fd/6485df95e6ba492b5615ea4688a16239651c90258589b5de742a022ac5c5/TgCrypto-1.2.5-pp37-pypy37_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1a5449adb190df16a41b4a17a2cb8fdfccc79cc2a167b4fc7ec077c74b5468a",
                "md5": "b574e9f4a6c568f3fa93836475a942c3",
                "sha256": "ba9e067fd9751b3bbd7c979210431000e44f70001d921237e9c4672bf30f07bc"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b574e9f4a6c568f3fa93836475a942c3",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 42848,
            "upload_time": "2022-11-11T19:52:48",
            "upload_time_iso_8601": "2022-11-11T19:52:48.277185Z",
            "url": "https://files.pythonhosted.org/packages/a1/a5/449adb190df16a41b4a17a2cb8fdfccc79cc2a167b4fc7ec077c74b5468a/TgCrypto-1.2.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7e4c49a43262d41a1183d24525303c3bc61677038182a8c7481493267c15841",
                "md5": "80d2cce51b72455f687952cccf18f746",
                "sha256": "80e2414f1a95087d7e46fb54cb387df66424c4ec156fb1a8d8e1d4aa38eb65cf"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "80d2cce51b72455f687952cccf18f746",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 43266,
            "upload_time": "2022-11-11T19:52:49",
            "upload_time_iso_8601": "2022-11-11T19:52:49.613414Z",
            "url": "https://files.pythonhosted.org/packages/b7/e4/c49a43262d41a1183d24525303c3bc61677038182a8c7481493267c15841/TgCrypto-1.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ae3baa0e1c8d1a8ef1f71b5b75a7d370f813901d9173c9d7a977a35454d50fd",
                "md5": "4127716d9e6016c330764ee6aca6def8",
                "sha256": "66c5b5bf701b5efc3e4c5d83439d767a3dd48f17a1d840eda6b4d1918844a8f9"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "4127716d9e6016c330764ee6aca6def8",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 43886,
            "upload_time": "2022-11-11T19:52:51",
            "upload_time_iso_8601": "2022-11-11T19:52:51.047645Z",
            "url": "https://files.pythonhosted.org/packages/6a/e3/baa0e1c8d1a8ef1f71b5b75a7d370f813901d9173c9d7a977a35454d50fd/TgCrypto-1.2.5-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": "b49a93a61016c2d6d5a1a902ada7e187d511e2c463ed137c1f48efc9d3c21f40",
                "md5": "903fc908a69cd6fcd1f87652941cd0f2",
                "sha256": "5d27d6c414eb4775022b05fdd571090bfd92854115e86184ac1832060fbaa510"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "903fc908a69cd6fcd1f87652941cd0f2",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "~=3.7",
            "size": 45214,
            "upload_time": "2022-11-11T19:52:52",
            "upload_time_iso_8601": "2022-11-11T19:52:52.466646Z",
            "url": "https://files.pythonhosted.org/packages/b4/9a/93a61016c2d6d5a1a902ada7e187d511e2c463ed137c1f48efc9d3c21f40/TgCrypto-1.2.5-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63cd9a34246dc7b864c72703f46ae8c1c469c28abcfba2a8c3bcde14415deab2",
                "md5": "1fdb2099a212b1fe694b591931e502b0",
                "sha256": "9b0a088ff2e05b6bbe891da936f62b99bd85202b2b9f4f57f71a408490dd518c"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1fdb2099a212b1fe694b591931e502b0",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 42850,
            "upload_time": "2022-11-11T19:52:54",
            "upload_time_iso_8601": "2022-11-11T19:52:54.432789Z",
            "url": "https://files.pythonhosted.org/packages/63/cd/9a34246dc7b864c72703f46ae8c1c469c28abcfba2a8c3bcde14415deab2/TgCrypto-1.2.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff54a311f3ae06adbe153f9216e40314ee0ae4f9f9cc33b48a198bc6dd25b2a6",
                "md5": "77283d651f9b2f98c02f4571de52c1ec",
                "sha256": "f245895c7d518342089d15b5dca3cee9ffa5a0f3534db9d5a930f6a27dff4adf"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "77283d651f9b2f98c02f4571de52c1ec",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 43266,
            "upload_time": "2022-11-11T19:52:55",
            "upload_time_iso_8601": "2022-11-11T19:52:55.861307Z",
            "url": "https://files.pythonhosted.org/packages/ff/54/a311f3ae06adbe153f9216e40314ee0ae4f9f9cc33b48a198bc6dd25b2a6/TgCrypto-1.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "517cb21327db01900b1e03688797d247c89a1d0923f9412ee35119ccb5ab3a0a",
                "md5": "a82eaa93991e3932dc2c0f1c8d2508d2",
                "sha256": "7dbf607d645c39a577a0f8571039d11ddd2dcdf9656465be75f9e0f540472444"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a82eaa93991e3932dc2c0f1c8d2508d2",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 43887,
            "upload_time": "2022-11-11T19:52:57",
            "upload_time_iso_8601": "2022-11-11T19:52:57.259285Z",
            "url": "https://files.pythonhosted.org/packages/51/7c/b21327db01900b1e03688797d247c89a1d0923f9412ee35119ccb5ab3a0a/TgCrypto-1.2.5-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": "9a85bbecf5e7794ba23cd44efdc27c4c3fcb0399591fae139e613ff52524fa30",
                "md5": "58dcc8b9f5689f4787cc4a0e86a231c4",
                "sha256": "d6b0c2dc84e632ce7b3d0b767cfe20967e557ad7d71ea5dbd7df2dd544323181"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "58dcc8b9f5689f4787cc4a0e86a231c4",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.7",
            "size": 45216,
            "upload_time": "2022-11-11T19:52:58",
            "upload_time_iso_8601": "2022-11-11T19:52:58.728379Z",
            "url": "https://files.pythonhosted.org/packages/9a/85/bbecf5e7794ba23cd44efdc27c4c3fcb0399591fae139e613ff52524fa30/TgCrypto-1.2.5-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33597cf5ced989e3139a791d5452d58cb8994de589576b80f9267ba76d794f6c",
                "md5": "7d418ae8e72538a2e39cc4a7912715a1",
                "sha256": "9bc2cac6fb9a12ef5b08f3dd500174fe374d89b660cce981f57e3138559cb682"
            },
            "downloads": -1,
            "filename": "TgCrypto-1.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "7d418ae8e72538a2e39cc4a7912715a1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.7",
            "size": 37280,
            "upload_time": "2022-11-11T19:55:11",
            "upload_time_iso_8601": "2022-11-11T19:55:11.436983Z",
            "url": "https://files.pythonhosted.org/packages/33/59/7cf5ced989e3139a791d5452d58cb8994de589576b80f9267ba76d794f6c/TgCrypto-1.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-11-11 19:55:11",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "tgcrypto"
}
        
Dan
Elapsed time: 0.02767s