TgCryptos


NameTgCryptos JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/Clinton-Abraham
SummaryFast and Portable Cryptography Extension Library for Pyrofork
upload_time2025-01-31 07:16:19
maintainerNone
docs_urlNone
authorClinton-Abraham
requires_python~=3.10
licenseLGPLv3+
keywords pyrogram pyrofork telegram
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    📦 <a href="https://pypi.org/project/TgCryptos/" style="text-decoration:none;">Tgcrypto</a>
</p>

<p align="center">
   <a href="https://telegram.me/Space_x_bots"><img src="https://img.shields.io/badge/Sᴘᴀᴄᴇ 𝕩 ʙᴏᴛꜱ-30302f?style=flat&logo=telegram" alt="telegram badge"/></a>
   <a href="https://telegram.me/clinton_abraham"><img src="https://img.shields.io/badge/Cʟɪɴᴛᴏɴ Aʙʀᴀʜᴀᴍ-30302f?style=flat&logo=telegram" alt="telegram badge"/></a>
   <a href="https://telegram.me/sources_codes"><img src="https://img.shields.io/badge/Sᴏᴜʀᴄᴇ ᴄᴏᴅᴇꜱ-30302f?style=flat&logo=telegram" alt="telegram badge"/></a>
</p>

| Fast and Portable Cryptography Extension Library for Pyrofork |
|---------------------------------------------------------------|

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 [Pyrofork](https://github.com/Mayuri-Chan/pyrofork) 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.10 or higher.

## Installation

``` bash
$ pip3 install -U tgcryptos
```

## 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
import tgcrypto
from io import BytesIO


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
```


## License

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Clinton-Abraham",
    "name": "TgCryptos",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.10",
    "maintainer_email": null,
    "keywords": "pyrogram pyrofork telegram",
    "author": "Clinton-Abraham",
    "author_email": "clintonabrahamc@gmail.com",
    "download_url": null,
    "platform": null,
    "description": "<p align=\"center\">\n    \ud83d\udce6 <a href=\"https://pypi.org/project/TgCryptos/\" style=\"text-decoration:none;\">Tgcrypto</a>\n</p>\n\n<p align=\"center\">\n   <a href=\"https://telegram.me/Space_x_bots\"><img src=\"https://img.shields.io/badge/S\u1d18\u1d00\u1d04\u1d07 \ud835\udd69 \u0299\u1d0f\u1d1b\ua731-30302f?style=flat&logo=telegram\" alt=\"telegram badge\"/></a>\n   <a href=\"https://telegram.me/clinton_abraham\"><img src=\"https://img.shields.io/badge/C\u029f\u026a\u0274\u1d1b\u1d0f\u0274 A\u0299\u0280\u1d00\u029c\u1d00\u1d0d-30302f?style=flat&logo=telegram\" alt=\"telegram badge\"/></a>\n   <a href=\"https://telegram.me/sources_codes\"><img src=\"https://img.shields.io/badge/S\u1d0f\u1d1c\u0280\u1d04\u1d07 \u1d04\u1d0f\u1d05\u1d07\ua731-30302f?style=flat&logo=telegram\" alt=\"telegram badge\"/></a>\n</p>\n\n| Fast and Portable Cryptography Extension Library for Pyrofork |\n|---------------------------------------------------------------|\n\nTgCrypto 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 [Pyrofork](https://github.com/Mayuri-Chan/pyrofork) 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.10 or higher.\n\n## Installation\n\n``` bash\n$ pip3 install -U tgcryptos\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\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\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\nimport tgcrypto\nfrom io import BytesIO\n\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\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\n## License\n\n[LGPLv3+](COPYING.lesser) \u00a9 2017 - 2024 [Dan](https://github.com/delivrance)  \n[LGPLv3+](COPYING.lesser) \u00a9 2025 - present [Clinton-Abraham](https://github.com/Clinton-Abraham)\n",
    "bugtrack_url": null,
    "license": "LGPLv3+",
    "summary": "Fast and Portable Cryptography Extension Library for Pyrofork",
    "version": "0.0.4",
    "project_urls": {
        "Community": "https://telegram.me/sources_codes",
        "Documentation": "https://telegram.me/Clinton_Abraham",
        "Homepage": "https://github.com/Clinton-Abraham",
        "Source": "https://github.com/Clinton-Abraham"
    },
    "split_keywords": [
        "pyrogram",
        "pyrofork",
        "telegram"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "314666d7a20784530df131e58244863700a0917cfae17ffdcba387eb87082f83",
                "md5": "3bfac3c1e83f28495b09102223fbd819",
                "sha256": "7cd40ee5753e37e11f59cd9f93371e51ed2080b3eaf0bf1275bc071af7db3575"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "3bfac3c1e83f28495b09102223fbd819",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34398,
            "upload_time": "2025-01-31T07:16:19",
            "upload_time_iso_8601": "2025-01-31T07:16:19.890100Z",
            "url": "https://files.pythonhosted.org/packages/31/46/66d7a20784530df131e58244863700a0917cfae17ffdcba387eb87082f83/TgCryptos-0.0.4-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aca14a999338d8987d9c1c07e75cac60981b3c925fa87404b341a4f49c65a217",
                "md5": "ed5c36631e4e66fc8c60cec652d37668",
                "sha256": "5ff8fa08e60fdc5f370a96b34026ad81e2f071dd276b096488b3a3b2a47754fe"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed5c36631e4e66fc8c60cec652d37668",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 18800,
            "upload_time": "2025-01-31T07:16:21",
            "upload_time_iso_8601": "2025-01-31T07:16:21.728164Z",
            "url": "https://files.pythonhosted.org/packages/ac/a1/4a999338d8987d9c1c07e75cac60981b3c925fa87404b341a4f49c65a217/TgCryptos-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71ee518f18cf7fd5dccfb1338b0ee3bab36c5192e831ec37e9671981755c4911",
                "md5": "00dda05236e165730a0c285eef3dc582",
                "sha256": "3f6a4c4440a0750aad6fe2a772f31fd46bbf6564aac344717ff6fa00baf3b7d1"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "00dda05236e165730a0c285eef3dc582",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 18734,
            "upload_time": "2025-01-31T07:16:23",
            "upload_time_iso_8601": "2025-01-31T07:16:23.294400Z",
            "url": "https://files.pythonhosted.org/packages/71/ee/518f18cf7fd5dccfb1338b0ee3bab36c5192e831ec37e9671981755c4911/TgCryptos-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee6ce72423115f353a1366d0435c39e8fc48cbb7d6f94c1f9135e244144a95f1",
                "md5": "fc3c6b2d489fa69380c55c2ef64731f4",
                "sha256": "fce762f01d7107f9a2e64f9a02567c846f1375bf86ee8f0abbdb363a57bef61e"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fc3c6b2d489fa69380c55c2ef64731f4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34871,
            "upload_time": "2025-01-31T07:16:24",
            "upload_time_iso_8601": "2025-01-31T07:16:24.908110Z",
            "url": "https://files.pythonhosted.org/packages/ee/6c/e72423115f353a1366d0435c39e8fc48cbb7d6f94c1f9135e244144a95f1/TgCryptos-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6fe162e0ace6a2efd4268a5d976221aae7d15c2192fa2c51d0627072a42b1244",
                "md5": "a35c43a16e2f45a7ae99df386ab24d26",
                "sha256": "6f97ef03cc088b7febbf8d2ddc3bf717e7fdf7fc5d4ec17f330be909012d78f4"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a35c43a16e2f45a7ae99df386ab24d26",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34657,
            "upload_time": "2025-01-31T07:16:26",
            "upload_time_iso_8601": "2025-01-31T07:16:26.503945Z",
            "url": "https://files.pythonhosted.org/packages/6f/e1/62e0ace6a2efd4268a5d976221aae7d15c2192fa2c51d0627072a42b1244/TgCryptos-0.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab56e2da56a624442061c1b26837f0061112fa9239d2c4cf70e5fad8ca3cccc6",
                "md5": "2be994d502350788d19bc3c0c750dbb4",
                "sha256": "53f60be87e98dce8e452776b042766ea60b44ebcf0242ee6f062df1c07d38aa4"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "2be994d502350788d19bc3c0c750dbb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 32920,
            "upload_time": "2025-01-31T07:16:28",
            "upload_time_iso_8601": "2025-01-31T07:16:28.166174Z",
            "url": "https://files.pythonhosted.org/packages/ab/56/e2da56a624442061c1b26837f0061112fa9239d2c4cf70e5fad8ca3cccc6/TgCryptos-0.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ade1f8ad80d6b78fd74e7f4b655ba1ce14de6f8f7988c43ba04651af2cdd5cb",
                "md5": "dec679b958ba7ceca282a2ae6e57f85b",
                "sha256": "b232d06b093dd391f9eea79069e58f36f4e2f768086d71aa45d9319b865a392a"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dec679b958ba7ceca282a2ae6e57f85b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34537,
            "upload_time": "2025-01-31T07:16:29",
            "upload_time_iso_8601": "2025-01-31T07:16:29.127242Z",
            "url": "https://files.pythonhosted.org/packages/0a/de/1f8ad80d6b78fd74e7f4b655ba1ce14de6f8f7988c43ba04651af2cdd5cb/TgCryptos-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "344ef5544adaae2eed7fc274afb077a7ba3f3d30ede757488cde1c84009e5f9a",
                "md5": "4803a2712bafbc322ba74e5b02567ef1",
                "sha256": "2cf2649ec0e8efcd2fa7680287bf3011584929d8fe2863f32900aab1b8f6cdbf"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "4803a2712bafbc322ba74e5b02567ef1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 20087,
            "upload_time": "2025-01-31T07:16:29",
            "upload_time_iso_8601": "2025-01-31T07:16:29.967700Z",
            "url": "https://files.pythonhosted.org/packages/34/4e/f5544adaae2eed7fc274afb077a7ba3f3d30ede757488cde1c84009e5f9a/TgCryptos-0.0.4-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b36e25c768d0e62bab81792ad8ac7744ba0e067a95c8d12ddc45693bb33ed46",
                "md5": "03e5823630bfe4a2116f376540c7ade3",
                "sha256": "d3a63158fc4e66133fb773f9e5592d337cc114d9ab1455b40797a001f748747b"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "03e5823630bfe4a2116f376540c7ade3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 20700,
            "upload_time": "2025-01-31T07:16:30",
            "upload_time_iso_8601": "2025-01-31T07:16:30.827550Z",
            "url": "https://files.pythonhosted.org/packages/5b/36/e25c768d0e62bab81792ad8ac7744ba0e067a95c8d12ddc45693bb33ed46/TgCryptos-0.0.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e58cc08475faf85767882f22f74f74e87742ea6322acfae8d984df1965e0227",
                "md5": "19617592796b25956a2222a9c4d0ff0d",
                "sha256": "22484722ee36323ceb34ea7ae13bee6785d2f0f40e81ccf82fdc8eb16d143d03"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "19617592796b25956a2222a9c4d0ff0d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 34399,
            "upload_time": "2025-01-31T07:16:32",
            "upload_time_iso_8601": "2025-01-31T07:16:32.559770Z",
            "url": "https://files.pythonhosted.org/packages/4e/58/cc08475faf85767882f22f74f74e87742ea6322acfae8d984df1965e0227/TgCryptos-0.0.4-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "efa9d28c28a5a854b9644ba41874c03db2a6a04a502f0b8f09d3b1d36f6f3b06",
                "md5": "892ec759e174e49150cb85e658025591",
                "sha256": "1636b71c6b589548f3fcc3de11dda6cce5dc74db65913922f6d9dbef6bbfe3b4"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "892ec759e174e49150cb85e658025591",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 18795,
            "upload_time": "2025-01-31T07:16:34",
            "upload_time_iso_8601": "2025-01-31T07:16:34.181427Z",
            "url": "https://files.pythonhosted.org/packages/ef/a9/d28c28a5a854b9644ba41874c03db2a6a04a502f0b8f09d3b1d36f6f3b06/TgCryptos-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bba5373332d013e00aa0dcea83b7acd2011b22e83ad0672f2b536216165b8a55",
                "md5": "6ea54ca4f56a6296d4e18a6f55ad29d1",
                "sha256": "ce830f5e9fa90e5a1dd3fea2334f9e56150af46699e3b29fd98a6d2837bbe92f"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6ea54ca4f56a6296d4e18a6f55ad29d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 18730,
            "upload_time": "2025-01-31T07:16:35",
            "upload_time_iso_8601": "2025-01-31T07:16:35.164499Z",
            "url": "https://files.pythonhosted.org/packages/bb/a5/373332d013e00aa0dcea83b7acd2011b22e83ad0672f2b536216165b8a55/TgCryptos-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "89aadc2274f9d9db73a0fa8b4e4857a3dfe5ad1a9415f39e37ffbb056141c14c",
                "md5": "2c5c0c35d1403008616243673299ed67",
                "sha256": "5b1d7bb79894e2f358e63748675c0fc6603e5a4852a93b3944ffdcfc617762d4"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2c5c0c35d1403008616243673299ed67",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35683,
            "upload_time": "2025-01-31T07:16:36",
            "upload_time_iso_8601": "2025-01-31T07:16:36.848631Z",
            "url": "https://files.pythonhosted.org/packages/89/aa/dc2274f9d9db73a0fa8b4e4857a3dfe5ad1a9415f39e37ffbb056141c14c/TgCryptos-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7db45bd7e321f134d5f86e2d9c708624fa95d8bdda62d5e3fe6ea4a5338f6362",
                "md5": "9f8043b5bfd5030a374f779ca2342d9b",
                "sha256": "74d2a79f6d42bb0e7a6762003d89961b4b6f577d206491f1f6368905f2435e7f"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "9f8043b5bfd5030a374f779ca2342d9b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35385,
            "upload_time": "2025-01-31T07:16:37",
            "upload_time_iso_8601": "2025-01-31T07:16:37.739546Z",
            "url": "https://files.pythonhosted.org/packages/7d/b4/5bd7e321f134d5f86e2d9c708624fa95d8bdda62d5e3fe6ea4a5338f6362/TgCryptos-0.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c50c0191b93039d4bcd2fd07dccc8077faf1290860cf063ed75f36f72aa381a7",
                "md5": "58036573dd548d60d5d54f34fbdc8354",
                "sha256": "b08eb3ba8c27d538c3450d7e83a83640d5df2348dc6cea04162f4af6035b73f8"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "58036573dd548d60d5d54f34fbdc8354",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 33687,
            "upload_time": "2025-01-31T07:16:39",
            "upload_time_iso_8601": "2025-01-31T07:16:39.738238Z",
            "url": "https://files.pythonhosted.org/packages/c5/0c/0191b93039d4bcd2fd07dccc8077faf1290860cf063ed75f36f72aa381a7/TgCryptos-0.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b03d2830f9bcd8e5543056777a6d5e79d1e395c313ff1e2fc4786cf907d30369",
                "md5": "616a90c3feca9c160b166c55de99e723",
                "sha256": "32b6d108398653bf8f6c6c9e4b99b4f6b6b2f9d3e164439481ee3502c3b3ee22"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "616a90c3feca9c160b166c55de99e723",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35332,
            "upload_time": "2025-01-31T07:16:40",
            "upload_time_iso_8601": "2025-01-31T07:16:40.564279Z",
            "url": "https://files.pythonhosted.org/packages/b0/3d/2830f9bcd8e5543056777a6d5e79d1e395c313ff1e2fc4786cf907d30369/TgCryptos-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd1f6ef0f348f82e77e75f14733e35643049172fe17988cf3966e11ecd275259",
                "md5": "c6852a87116590f7415205aecaf04c01",
                "sha256": "5d4c5b11fb2c3e8fd2d8b62f227cdcb8f965b420d53f0ec642521ad8a2b924ef"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "c6852a87116590f7415205aecaf04c01",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 20089,
            "upload_time": "2025-01-31T07:16:41",
            "upload_time_iso_8601": "2025-01-31T07:16:41.414103Z",
            "url": "https://files.pythonhosted.org/packages/dd/1f/6ef0f348f82e77e75f14733e35643049172fe17988cf3966e11ecd275259/TgCryptos-0.0.4-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "31ffbacf42a6e6be851252b103b7b8e46741bb4e0b3276246d34606dfac72011",
                "md5": "aeee4594f30debcd1cb0e7173b30a940",
                "sha256": "42f5fa9f3d6996989dfd537695e3c238199981892ecf49b576ff1022bd2079df"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aeee4594f30debcd1cb0e7173b30a940",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 20699,
            "upload_time": "2025-01-31T07:16:42",
            "upload_time_iso_8601": "2025-01-31T07:16:42.986241Z",
            "url": "https://files.pythonhosted.org/packages/31/ff/bacf42a6e6be851252b103b7b8e46741bb4e0b3276246d34606dfac72011/TgCryptos-0.0.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb408916b84769153073bbc4d79b408d05781ac0a5a4bc8d57aca07f1468fe7e",
                "md5": "df22b897e6817aa897b37e5381b1819b",
                "sha256": "400e96f498ecc94b092b3700448951f45f05ad309bb91ae8b30504c001f399a1"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "df22b897e6817aa897b37e5381b1819b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 34413,
            "upload_time": "2025-01-31T07:16:43",
            "upload_time_iso_8601": "2025-01-31T07:16:43.870285Z",
            "url": "https://files.pythonhosted.org/packages/cb/40/8916b84769153073bbc4d79b408d05781ac0a5a4bc8d57aca07f1468fe7e/TgCryptos-0.0.4-cp312-cp312-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8c104b076bfc0502a06520e0c94cb791a74359094d12cb4f235670af9f1a676",
                "md5": "41869a5fcd91e16ff163565dd3f15ddc",
                "sha256": "de786e37115eef4c00f47af48c12fd35cf2fd7fcc5468df32edc09b69151d929"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41869a5fcd91e16ff163565dd3f15ddc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 18803,
            "upload_time": "2025-01-31T07:16:44",
            "upload_time_iso_8601": "2025-01-31T07:16:44.774163Z",
            "url": "https://files.pythonhosted.org/packages/e8/c1/04b076bfc0502a06520e0c94cb791a74359094d12cb4f235670af9f1a676/TgCryptos-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7476d4dce81535d57136b5f901fd3681624dfde3afa1e2f86b590867eb56c307",
                "md5": "12171734b150cf347bfebd198298051b",
                "sha256": "82e24dd1d6b2407f3c064f65f84230790782eb54746b9d31fdc9cbf6b6694ef3"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "12171734b150cf347bfebd198298051b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 18733,
            "upload_time": "2025-01-31T07:16:45",
            "upload_time_iso_8601": "2025-01-31T07:16:45.638794Z",
            "url": "https://files.pythonhosted.org/packages/74/76/d4dce81535d57136b5f901fd3681624dfde3afa1e2f86b590867eb56c307/TgCryptos-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f7e11d8ffaddc8d3f9dbcbd359d663b1334e22c40ae1b0e4d65ea300e697387",
                "md5": "fb2e98cc62eb287df0832f91edfde7ac",
                "sha256": "3213f38f118f2a7af4e924e391faceaf3c39f1feb6fe739c053c2498ce40179b"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fb2e98cc62eb287df0832f91edfde7ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 35300,
            "upload_time": "2025-01-31T07:16:46",
            "upload_time_iso_8601": "2025-01-31T07:16:46.515848Z",
            "url": "https://files.pythonhosted.org/packages/7f/7e/11d8ffaddc8d3f9dbcbd359d663b1334e22c40ae1b0e4d65ea300e697387/TgCryptos-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d801dd0ed5c63502211a70fe21b68089e4e1c0fa2b40ac120fc35a5de0f0e402",
                "md5": "a849be2d778aece663535abf5e658944",
                "sha256": "e0d635f8c798c53050c2ba84e6a584a7f370595daa2c0d92d0cca1af746031a2"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a849be2d778aece663535abf5e658944",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 35036,
            "upload_time": "2025-01-31T07:16:47",
            "upload_time_iso_8601": "2025-01-31T07:16:47.913451Z",
            "url": "https://files.pythonhosted.org/packages/d8/01/dd0ed5c63502211a70fe21b68089e4e1c0fa2b40ac120fc35a5de0f0e402/TgCryptos-0.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1742ae3c2640492f058609f54a9c1a92add2bfa69dfcd59bf8ca8d3b57b44781",
                "md5": "765394b968bd19d38585259a0a0ba15e",
                "sha256": "507f902975efc99ab51cec221844d590b1119f9423e78710a5745bf9ead61da4"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "765394b968bd19d38585259a0a0ba15e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 33292,
            "upload_time": "2025-01-31T07:16:49",
            "upload_time_iso_8601": "2025-01-31T07:16:49.676012Z",
            "url": "https://files.pythonhosted.org/packages/17/42/ae3c2640492f058609f54a9c1a92add2bfa69dfcd59bf8ca8d3b57b44781/TgCryptos-0.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f76ad21211c2b115a4f5e36554e5e41c325521833667fcc7906501ce0ed829ea",
                "md5": "42a35857ccda5fbd41b8b016c5d67475",
                "sha256": "4f5f7895adb0c679b9150af91e47e861480f5754d8028087cfc512080539d5b5"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "42a35857ccda5fbd41b8b016c5d67475",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 34987,
            "upload_time": "2025-01-31T07:16:51",
            "upload_time_iso_8601": "2025-01-31T07:16:51.324078Z",
            "url": "https://files.pythonhosted.org/packages/f7/6a/d21211c2b115a4f5e36554e5e41c325521833667fcc7906501ce0ed829ea/TgCryptos-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7b9a455e1ab03145e9760e4b8cd6a8567215178813af9c0cf55ee23fc9a1376d",
                "md5": "5e9b66738d64017da12561dd870f7499",
                "sha256": "175e07fb0463a32727caa5adf5c604f9a1b51d4428e423188dcb397fa36d7b84"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "5e9b66738d64017da12561dd870f7499",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 20086,
            "upload_time": "2025-01-31T07:16:52",
            "upload_time_iso_8601": "2025-01-31T07:16:52.197307Z",
            "url": "https://files.pythonhosted.org/packages/7b/9a/455e1ab03145e9760e4b8cd6a8567215178813af9c0cf55ee23fc9a1376d/TgCryptos-0.0.4-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5017483125eae894bbc0df8768bacb057f36c5bc3117f4bd53a4288882796f4d",
                "md5": "baaf460da5c26b8ce7062c677f1b71d1",
                "sha256": "cc6e3ee73c79f109cc005d073519157d05a7bdd2c9f080ef99b97ebdb8cf15de"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "baaf460da5c26b8ce7062c677f1b71d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 20702,
            "upload_time": "2025-01-31T07:16:53",
            "upload_time_iso_8601": "2025-01-31T07:16:53.053794Z",
            "url": "https://files.pythonhosted.org/packages/50/17/483125eae894bbc0df8768bacb057f36c5bc3117f4bd53a4288882796f4d/TgCryptos-0.0.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e0e02a2c650798be6fbb31c1c5f2112980f92a1baf2db456eb45d743f0c34b00",
                "md5": "fa5367c119c0dd33d654d7c593774217",
                "sha256": "f140f6c68e594991e857717a15746bead6f2c0e5d04f626235acaa9750ab0a2a"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "fa5367c119c0dd33d654d7c593774217",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 34412,
            "upload_time": "2025-01-31T07:16:54",
            "upload_time_iso_8601": "2025-01-31T07:16:54.724171Z",
            "url": "https://files.pythonhosted.org/packages/e0/e0/2a2c650798be6fbb31c1c5f2112980f92a1baf2db456eb45d743f0c34b00/TgCryptos-0.0.4-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7017849bac563cdde0ba163bff1e511aeb8614a4ea557ae1cc65bc840d2ae8a1",
                "md5": "ae8cc81bd0be98daf731cb9a928f9140",
                "sha256": "c3f33eca7e66739299003255f6c38a5aff5cff501611a3854e6e014b7a18bef1"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ae8cc81bd0be98daf731cb9a928f9140",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 18808,
            "upload_time": "2025-01-31T07:16:55",
            "upload_time_iso_8601": "2025-01-31T07:16:55.558694Z",
            "url": "https://files.pythonhosted.org/packages/70/17/849bac563cdde0ba163bff1e511aeb8614a4ea557ae1cc65bc840d2ae8a1/TgCryptos-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f0fc57ee2423790b0da58e14cff490b40a481aef5cc8ec4f1ab0f8652735ad9",
                "md5": "2e789ba3b0f2477ba194faf3a7dd0a96",
                "sha256": "09856dce551bf7d4e899a07387be0e70d1d882bcad21abf769a3cdfdb929b4a5"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2e789ba3b0f2477ba194faf3a7dd0a96",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 18731,
            "upload_time": "2025-01-31T07:16:57",
            "upload_time_iso_8601": "2025-01-31T07:16:57.178172Z",
            "url": "https://files.pythonhosted.org/packages/8f/0f/c57ee2423790b0da58e14cff490b40a481aef5cc8ec4f1ab0f8652735ad9/TgCryptos-0.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c2766f1177f0edc1c3ba967510ed1d30569253f45dbf081ac6426434f3706be6",
                "md5": "361229e21e8678deae40989cbf6fae43",
                "sha256": "ffff40eb94b668e912c0efa51fa4c7c94d4e3c279321b4997c8b26e824443a13"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "361229e21e8678deae40989cbf6fae43",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 35212,
            "upload_time": "2025-01-31T07:16:58",
            "upload_time_iso_8601": "2025-01-31T07:16:58.349486Z",
            "url": "https://files.pythonhosted.org/packages/c2/76/6f1177f0edc1c3ba967510ed1d30569253f45dbf081ac6426434f3706be6/TgCryptos-0.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63cca8820435f33574f3f5a6a246959d7baf8f1ef23d7fc4634f21d97604bd03",
                "md5": "c438a7ddb178c439782e8f419285f900",
                "sha256": "25a06e280e02b95d146760e233e1d4f753923f514d2ae6f25b416663be5cfa12"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "c438a7ddb178c439782e8f419285f900",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 34961,
            "upload_time": "2025-01-31T07:16:59",
            "upload_time_iso_8601": "2025-01-31T07:16:59.230724Z",
            "url": "https://files.pythonhosted.org/packages/63/cc/a8820435f33574f3f5a6a246959d7baf8f1ef23d7fc4634f21d97604bd03/TgCryptos-0.0.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1effe3386f11cce0060f894644eecc4e3c977254863ad3db66f5c892a28109f4",
                "md5": "11b05cc94af52b182285135e12be73a9",
                "sha256": "a5ac015a2591edc938f269e024ea9086c17842dd3484484a3298b45a60dcc014"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "11b05cc94af52b182285135e12be73a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 33351,
            "upload_time": "2025-01-31T07:17:00",
            "upload_time_iso_8601": "2025-01-31T07:17:00.150548Z",
            "url": "https://files.pythonhosted.org/packages/1e/ff/e3386f11cce0060f894644eecc4e3c977254863ad3db66f5c892a28109f4/TgCryptos-0.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fdf2965f1c68eef9f95cae37a28ada7ba406d25418813b75a1b6257a83b75d60",
                "md5": "81c6f107942248d711f176b0ef1248e1",
                "sha256": "d6d26acfec255138d3e453bc8e80e2621725f8cc368ce238640698bd131b843e"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "81c6f107942248d711f176b0ef1248e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 35046,
            "upload_time": "2025-01-31T07:17:01",
            "upload_time_iso_8601": "2025-01-31T07:17:01.068409Z",
            "url": "https://files.pythonhosted.org/packages/fd/f2/965f1c68eef9f95cae37a28ada7ba406d25418813b75a1b6257a83b75d60/TgCryptos-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4e91485fcb0c825ef570b59e151cb6695354bef4e5ab46c20b3dfc7fa61c937",
                "md5": "74c128c9bc1f62cb316e5ba48cee85c8",
                "sha256": "50f005342bc2af6ca2c31b17736c3735d9465d45d764c0e017544a0a8b02491a"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "74c128c9bc1f62cb316e5ba48cee85c8",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 20083,
            "upload_time": "2025-01-31T07:17:02",
            "upload_time_iso_8601": "2025-01-31T07:17:02.075404Z",
            "url": "https://files.pythonhosted.org/packages/f4/e9/1485fcb0c825ef570b59e151cb6695354bef4e5ab46c20b3dfc7fa61c937/TgCryptos-0.0.4-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6d62fe35383ca0e07e6699c4956a918bab337f10b46f15f5046d799e36125b6",
                "md5": "5997e6531a194a8d0733e1d21c35e507",
                "sha256": "2aca0dbd1c214e9db5063cfc6f3c948782d11f219867ff42010c073039cc103f"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5997e6531a194a8d0733e1d21c35e507",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 20699,
            "upload_time": "2025-01-31T07:17:04",
            "upload_time_iso_8601": "2025-01-31T07:17:04.468717Z",
            "url": "https://files.pythonhosted.org/packages/d6/d6/2fe35383ca0e07e6699c4956a918bab337f10b46f15f5046d799e36125b6/TgCryptos-0.0.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e635f8dc37ee0036307d42abd31407d52d1d95774dbea5cacfde19feaab6ac9c",
                "md5": "654d4cf5519665da175f2b92773c11c7",
                "sha256": "8186e944529b2bf43ef337926ae0480e96e642cad377617fdc763badb3a7386e"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "654d4cf5519665da175f2b92773c11c7",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18429,
            "upload_time": "2025-01-31T07:17:05",
            "upload_time_iso_8601": "2025-01-31T07:17:05.342134Z",
            "url": "https://files.pythonhosted.org/packages/e6/35/f8dc37ee0036307d42abd31407d52d1d95774dbea5cacfde19feaab6ac9c/TgCryptos-0.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a4c9147ae0549cd25237169eedf0ce886d81292f0cfe977e2593947f65622ae",
                "md5": "febce915ed48fb5bf784d1a5f6d5a9a1",
                "sha256": "10c9bfbb2d39127f4678c92111c14720a2ab729f420c9608501940d348a1ad72"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "febce915ed48fb5bf784d1a5f6d5a9a1",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18276,
            "upload_time": "2025-01-31T07:17:07",
            "upload_time_iso_8601": "2025-01-31T07:17:07.418008Z",
            "url": "https://files.pythonhosted.org/packages/0a/4c/9147ae0549cd25237169eedf0ce886d81292f0cfe977e2593947f65622ae/TgCryptos-0.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "59cbae47c400eae40f8f31263d852cf5967854d484d455205950fe22209ed638",
                "md5": "ff1f8b1e923ad696e16155568446185c",
                "sha256": "1127aaddb772f7604e0ecfe3c729d123478b3dd7c9fa3cce15e9b58edde277fb"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ff1f8b1e923ad696e16155568446185c",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18261,
            "upload_time": "2025-01-31T07:17:09",
            "upload_time_iso_8601": "2025-01-31T07:17:09.114597Z",
            "url": "https://files.pythonhosted.org/packages/59/cb/ae47c400eae40f8f31263d852cf5967854d484d455205950fe22209ed638/TgCryptos-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "009dea0285882d2fdeffb8a89bec962571b4594060497e6668281f6b6ec69e62",
                "md5": "81bf257ef2c4bb5b4cec84b5623441c5",
                "sha256": "cf080ee5fe674fbe15bbb2b064cb8961ec9b47e333a8e726654203f3787e681b"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "81bf257ef2c4bb5b4cec84b5623441c5",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18883,
            "upload_time": "2025-01-31T07:17:10",
            "upload_time_iso_8601": "2025-01-31T07:17:10.082387Z",
            "url": "https://files.pythonhosted.org/packages/00/9d/ea0285882d2fdeffb8a89bec962571b4594060497e6668281f6b6ec69e62/TgCryptos-0.0.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "807a5e41d24b6c38a8e391e7ea54514b989fd2a76611a003873ecdf9664d3e90",
                "md5": "9bc2629a82db63f682eea477a1a890ea",
                "sha256": "eebd23c9e078b338ee3a24ecfa71f384feebddd3618fa5ee438dc9cbda71a321"
            },
            "downloads": -1,
            "filename": "TgCryptos-0.0.4-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9bc2629a82db63f682eea477a1a890ea",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 20830,
            "upload_time": "2025-01-31T07:17:10",
            "upload_time_iso_8601": "2025-01-31T07:17:10.912626Z",
            "url": "https://files.pythonhosted.org/packages/80/7a/5e41d24b6c38a8e391e7ea54514b989fd2a76611a003873ecdf9664d3e90/TgCryptos-0.0.4-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-31 07:16:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "tgcryptos"
}
        
Elapsed time: 0.93861s