TgCryptos


NameTgCryptos JSON
Version 0.0.6 PyPI version JSON
download
home_pagehttps://github.com/Clinton-Abraham
SummaryFast and Portable Cryptography Extension Library for Pyrofork
upload_time2025-07-26 03:36:44
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


<details>
  <summary>....</summary>

- **`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).  

</details>

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

<details>

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

</details>


| CBC MODE |
|---------------------------------------------------------------|

<details>

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

</details>


| CTR MODE (stream) |
|---------------------------------------------------------------|

<details>

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


| CTR MODE (single chunk) |
|---------------------------------------------------------------|

<details>

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


## 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\n<details>\n  <summary>....</summary>\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</details>\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\n<details>\n\nNote : 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</details>\n\n\n| CBC MODE |\n|---------------------------------------------------------------|\n\n<details>\n\nNote : 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</details>\n\n\n| CTR MODE (stream) |\n|---------------------------------------------------------------|\n\n<details>\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</details>\n\n\n| CTR MODE (single chunk) |\n|---------------------------------------------------------------|\n\n<details>\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</details>\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.6",
    "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": "f8687f6f10f23ffe71d5ccd11d7eb54b248830a5797b89e9ac6879d832b0310d",
                "md5": "62cf26325eae8299364683f4e5bddb6e",
                "sha256": "ef31f776fea85d1453f94de790660d49b5fc6c762bbc3270906471deb1e93b74"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "62cf26325eae8299364683f4e5bddb6e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34459,
            "upload_time": "2025-07-26T03:36:44",
            "upload_time_iso_8601": "2025-07-26T03:36:44.922000Z",
            "url": "https://files.pythonhosted.org/packages/f8/68/7f6f10f23ffe71d5ccd11d7eb54b248830a5797b89e9ac6879d832b0310d/tgcryptos-0.0.6-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f357b9ec7cd0e133862222363541e502c446ed449dfd218dda641bc429db1cc2",
                "md5": "cb78e854f383d8001b6107b5366dcf64",
                "sha256": "a536b2b495dadb612d5a829620a46b998b3bb21fb6614b363b7993c8269c9b1f"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cb78e854f383d8001b6107b5366dcf64",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 18859,
            "upload_time": "2025-07-26T03:36:46",
            "upload_time_iso_8601": "2025-07-26T03:36:46.188415Z",
            "url": "https://files.pythonhosted.org/packages/f3/57/b9ec7cd0e133862222363541e502c446ed449dfd218dda641bc429db1cc2/tgcryptos-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "41f5a740c2a9add0e04527bb500d5c3c7c862c114decd8e94b35a512de97e09d",
                "md5": "940c5c951ffd4baee79aaedd57705b80",
                "sha256": "ad7131bec5de91f993cf9f8cd1f41fd3417c1ae73d2c8946b9e6cb271f093171"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "940c5c951ffd4baee79aaedd57705b80",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 18793,
            "upload_time": "2025-07-26T03:36:47",
            "upload_time_iso_8601": "2025-07-26T03:36:47.215130Z",
            "url": "https://files.pythonhosted.org/packages/41/f5/a740c2a9add0e04527bb500d5c3c7c862c114decd8e94b35a512de97e09d/tgcryptos-0.0.6-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c42230b078c48bd5d4da35c79aca7255a134b42559c0f1ff9c130ad27ece303f",
                "md5": "a36f4c3fed07e0e003d318c9e065630a",
                "sha256": "1b672808c312a7c20362c5aefe6d74de157ffa3c32702f77c080f9cdfafddb35"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a36f4c3fed07e0e003d318c9e065630a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34932,
            "upload_time": "2025-07-26T03:36:47",
            "upload_time_iso_8601": "2025-07-26T03:36:47.914362Z",
            "url": "https://files.pythonhosted.org/packages/c4/22/30b078c48bd5d4da35c79aca7255a134b42559c0f1ff9c130ad27ece303f/tgcryptos-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fdf7e20e0b1a1a5b8e65d0157a9b4ac4ca740780eaf6a9fe01a586f31e80274a",
                "md5": "f02d824956b2212f883c201cdf974800",
                "sha256": "79f8efc50a34e1eff551c1de10fa39498eadc302a4e49452cbe7d34b2048af17"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f02d824956b2212f883c201cdf974800",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34717,
            "upload_time": "2025-07-26T03:36:48",
            "upload_time_iso_8601": "2025-07-26T03:36:48.645385Z",
            "url": "https://files.pythonhosted.org/packages/fd/f7/e20e0b1a1a5b8e65d0157a9b4ac4ca740780eaf6a9fe01a586f31e80274a/tgcryptos-0.0.6-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": "c23614e63aa8faee60bc72d1d5b28a440028258fb9f44e1a3080262aa7536edb",
                "md5": "0c14489bb70bf8887d7ff67e9c822587",
                "sha256": "93282a36a08938bd9dd1289216ef765bd2a463950a5bce41d2557ec48afcf604"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "0c14489bb70bf8887d7ff67e9c822587",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 32982,
            "upload_time": "2025-07-26T03:36:49",
            "upload_time_iso_8601": "2025-07-26T03:36:49.697678Z",
            "url": "https://files.pythonhosted.org/packages/c2/36/14e63aa8faee60bc72d1d5b28a440028258fb9f44e1a3080262aa7536edb/tgcryptos-0.0.6-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6c66296c0e1d2a20e5010794494ef31d1b29208916c9304fc7b7aae82fc0f09",
                "md5": "b1d9324ce2274ad24bc98c80e402f4d3",
                "sha256": "5a0083fce45a8bb4ea4ff3ab85d4f7e3461c0a83cef06408823dbe8f5256dd1d"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b1d9324ce2274ad24bc98c80e402f4d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 34598,
            "upload_time": "2025-07-26T03:36:50",
            "upload_time_iso_8601": "2025-07-26T03:36:50.695212Z",
            "url": "https://files.pythonhosted.org/packages/b6/c6/6296c0e1d2a20e5010794494ef31d1b29208916c9304fc7b7aae82fc0f09/tgcryptos-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e1b26f6691773a5b1717c14cd9438da36f7aa438c6842c36340f0085be8bb756",
                "md5": "a9cfa6f82c996ff17de4498563a5cf7e",
                "sha256": "d60b6b4e62dfe0c2da112d34d38c305b9884fe3733b53ed5ade8ab60f5a47615"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "a9cfa6f82c996ff17de4498563a5cf7e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 20108,
            "upload_time": "2025-07-26T03:36:51",
            "upload_time_iso_8601": "2025-07-26T03:36:51.737838Z",
            "url": "https://files.pythonhosted.org/packages/e1/b2/6f6691773a5b1717c14cd9438da36f7aa438c6842c36340f0085be8bb756/tgcryptos-0.0.6-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "807e7177b79ecd8638e5c42940ed2028ded5bf0d89b9007b89a3219709e2289a",
                "md5": "e618d9dd6f97183498f4a76c7dfe577d",
                "sha256": "17b2a63de8e513466efa919f797e81bf3846e9846bdabc8b9cd6881c2d0e5385"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e618d9dd6f97183498f4a76c7dfe577d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.10",
            "size": 20864,
            "upload_time": "2025-07-26T03:36:52",
            "upload_time_iso_8601": "2025-07-26T03:36:52.804778Z",
            "url": "https://files.pythonhosted.org/packages/80/7e/7177b79ecd8638e5c42940ed2028ded5bf0d89b9007b89a3219709e2289a/tgcryptos-0.0.6-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b045a9f8f15de7ea218643ed73d9298a0253fd1467777c3089883ad76893a35",
                "md5": "e43a3317ea5b1cabce1e5572e9213861",
                "sha256": "17ecd1a1ab8423d3fcc54b3d1d88a897353085395892363409a34819a401863a"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "e43a3317ea5b1cabce1e5572e9213861",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 34457,
            "upload_time": "2025-07-26T03:36:53",
            "upload_time_iso_8601": "2025-07-26T03:36:53.451582Z",
            "url": "https://files.pythonhosted.org/packages/0b/04/5a9f8f15de7ea218643ed73d9298a0253fd1467777c3089883ad76893a35/tgcryptos-0.0.6-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8e67f833b73cbfb60d7b51ec831930f22e1ff2e42448e40b09b6af232e1995f4",
                "md5": "41cde2e96b05751a520e5454180a8fdf",
                "sha256": "e602427a0ecba9e68a4bf8a56ae145610cb9ea0fd6ae6075ebce6f0b639383f8"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41cde2e96b05751a520e5454180a8fdf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 18857,
            "upload_time": "2025-07-26T03:36:54",
            "upload_time_iso_8601": "2025-07-26T03:36:54.506800Z",
            "url": "https://files.pythonhosted.org/packages/8e/67/f833b73cbfb60d7b51ec831930f22e1ff2e42448e40b09b6af232e1995f4/tgcryptos-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1829431b1b69062636a06dbcd9247ceccc636c4c4b43518e166e66d971462951",
                "md5": "f838670dff58885d56a5b3f003a2c5aa",
                "sha256": "8be24b856512d64dd784a90f704cd7da11155c69a58e35b82f921c63cf2ab81f"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f838670dff58885d56a5b3f003a2c5aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 18793,
            "upload_time": "2025-07-26T03:36:55",
            "upload_time_iso_8601": "2025-07-26T03:36:55.292888Z",
            "url": "https://files.pythonhosted.org/packages/18/29/431b1b69062636a06dbcd9247ceccc636c4c4b43518e166e66d971462951/tgcryptos-0.0.6-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "37f1dc9a25fcc929d62d81c30c50142b1a8c9244e4701ec8ce09a99530a8eeeb",
                "md5": "007bdb2ece58128793844117f2296b3b",
                "sha256": "307a77b0696bb1270678e207234da2baa21c5a4e80842a65fac230b637b75f81"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "007bdb2ece58128793844117f2296b3b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35743,
            "upload_time": "2025-07-26T03:36:55",
            "upload_time_iso_8601": "2025-07-26T03:36:55.979868Z",
            "url": "https://files.pythonhosted.org/packages/37/f1/dc9a25fcc929d62d81c30c50142b1a8c9244e4701ec8ce09a99530a8eeeb/tgcryptos-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc73579be64713153de50190e145910131193c149b63799f69094412712ef5cd",
                "md5": "c74d213bbb65b4edf822fd81b6faa4db",
                "sha256": "5067c72c2a6e0445b2347f368e19fb1676b82ba1f97c8e2bb3308d1e1cb89fcb"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "c74d213bbb65b4edf822fd81b6faa4db",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35445,
            "upload_time": "2025-07-26T03:36:56",
            "upload_time_iso_8601": "2025-07-26T03:36:56.980887Z",
            "url": "https://files.pythonhosted.org/packages/cc/73/579be64713153de50190e145910131193c149b63799f69094412712ef5cd/tgcryptos-0.0.6-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": "aa22e962110ddf857c816cc59155aefaa26b51f8a23261c0a0a571a21e919a97",
                "md5": "23ac6e84394a0917453d2e99257d3c72",
                "sha256": "2a219afb605ae2bcee9f5cdfaba748830536ae07b7a92eef121046a542eb8539"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "23ac6e84394a0917453d2e99257d3c72",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 33744,
            "upload_time": "2025-07-26T03:36:58",
            "upload_time_iso_8601": "2025-07-26T03:36:58.040944Z",
            "url": "https://files.pythonhosted.org/packages/aa/22/e962110ddf857c816cc59155aefaa26b51f8a23261c0a0a571a21e919a97/tgcryptos-0.0.6-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8741cf220af0afd69f9e0acf78deb5c52387d526c90609cdf61e434fc3e371a4",
                "md5": "837e909d7c47b8ef13dd72874b8ca885",
                "sha256": "4f8c0b765a4c4521aca29b20119043e388ec6c5d5f1482cbc1556ff0f70dacdc"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "837e909d7c47b8ef13dd72874b8ca885",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 35393,
            "upload_time": "2025-07-26T03:36:59",
            "upload_time_iso_8601": "2025-07-26T03:36:59.081316Z",
            "url": "https://files.pythonhosted.org/packages/87/41/cf220af0afd69f9e0acf78deb5c52387d526c90609cdf61e434fc3e371a4/tgcryptos-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f2f73de33eb47669008b208ee526090bae58029c4ef5d54a9d2b28041ad8001",
                "md5": "292fd925b3b0843814bccd0319fe8ef9",
                "sha256": "c631b158e0c335dd741a8175f3279d294d16275d81ca55a1c7134cbd3f920689"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "292fd925b3b0843814bccd0319fe8ef9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 20109,
            "upload_time": "2025-07-26T03:37:00",
            "upload_time_iso_8601": "2025-07-26T03:37:00.130226Z",
            "url": "https://files.pythonhosted.org/packages/0f/2f/73de33eb47669008b208ee526090bae58029c4ef5d54a9d2b28041ad8001/tgcryptos-0.0.6-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "86904783b1f26556e2bf142dc1d92838303b8824647d75031f63957c9918c45a",
                "md5": "63db29b4b7602b9a47fe2a4449c9aaa2",
                "sha256": "1e86c53ca8f304ad6d0d1e096f6d71d20df373bf9dbc4b804596adfdf4641215"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "63db29b4b7602b9a47fe2a4449c9aaa2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.10",
            "size": 20863,
            "upload_time": "2025-07-26T03:37:01",
            "upload_time_iso_8601": "2025-07-26T03:37:01.160638Z",
            "url": "https://files.pythonhosted.org/packages/86/90/4783b1f26556e2bf142dc1d92838303b8824647d75031f63957c9918c45a/tgcryptos-0.0.6-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "767cc1a237c9ccce6070e8a4f8a3c50ae10287bd9d36050c6224fb8adae0959b",
                "md5": "fb8c677771af972dac4396d21895735f",
                "sha256": "f437a2ffe36bc62b61e16303540adc488b5ed1f4aa6916c5e0ddfa2e99f7e86e"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "fb8c677771af972dac4396d21895735f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 34471,
            "upload_time": "2025-07-26T03:37:01",
            "upload_time_iso_8601": "2025-07-26T03:37:01.856333Z",
            "url": "https://files.pythonhosted.org/packages/76/7c/c1a237c9ccce6070e8a4f8a3c50ae10287bd9d36050c6224fb8adae0959b/tgcryptos-0.0.6-cp312-cp312-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e61c9e3bcdf9803f6c841462b37bd48b858108dcb4d541a2b4586f38f8569036",
                "md5": "b7f5449b1b04e26158f1409c9670559e",
                "sha256": "f3dd4b03d18cf0a19ff03d97c2f0f353d5b79a4fdc47723847b994dbcd12c76f"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b7f5449b1b04e26158f1409c9670559e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 18861,
            "upload_time": "2025-07-26T03:37:02",
            "upload_time_iso_8601": "2025-07-26T03:37:02.503162Z",
            "url": "https://files.pythonhosted.org/packages/e6/1c/9e3bcdf9803f6c841462b37bd48b858108dcb4d541a2b4586f38f8569036/tgcryptos-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "75ce4c9607dd03773a76992cbe8c6ebd3134e64d0c70ac08ae1673e33034ef62",
                "md5": "449f97dc089a2a12e18b64aa279bce0f",
                "sha256": "4c4c68828c4faea383548ce59dda934b9c22ee5a54679ea4181918e6851c6f4a"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "449f97dc089a2a12e18b64aa279bce0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 18792,
            "upload_time": "2025-07-26T03:37:03",
            "upload_time_iso_8601": "2025-07-26T03:37:03.194098Z",
            "url": "https://files.pythonhosted.org/packages/75/ce/4c9607dd03773a76992cbe8c6ebd3134e64d0c70ac08ae1673e33034ef62/tgcryptos-0.0.6-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3eec2f6777c9be27a81f3eb1631c9c30277ca56162d3a799bbba5df99b91417e",
                "md5": "a67514d913e081e0cf2e85425c39bf99",
                "sha256": "03813fd56e5771e638cd3e1cffc6a35a7be280493e04ccbd28df46fbdbdfa22a"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a67514d913e081e0cf2e85425c39bf99",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 35359,
            "upload_time": "2025-07-26T03:37:03",
            "upload_time_iso_8601": "2025-07-26T03:37:03.855906Z",
            "url": "https://files.pythonhosted.org/packages/3e/ec/2f6777c9be27a81f3eb1631c9c30277ca56162d3a799bbba5df99b91417e/tgcryptos-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6bfaa04b6502bdd9b866d2275f90d60f58e442956b06589731f4c245d454fa83",
                "md5": "b8604243c1a6616bc2652475100bd019",
                "sha256": "cf9f52b7080fc70e844900e692252999c8c3e15ad1c72250aa54b530f0489785"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b8604243c1a6616bc2652475100bd019",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 35097,
            "upload_time": "2025-07-26T03:37:04",
            "upload_time_iso_8601": "2025-07-26T03:37:04.842946Z",
            "url": "https://files.pythonhosted.org/packages/6b/fa/a04b6502bdd9b866d2275f90d60f58e442956b06589731f4c245d454fa83/tgcryptos-0.0.6-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": "54149c0d108bf99c7bb4178216deefb34b1d78ce598027ee3bfbae4bb599c01a",
                "md5": "44f2f95189ca66a168dbefd1e93e0e65",
                "sha256": "2e4c0230dc32f9bba90e17557cace5e29a47522900c2bbb0f359f75d0d861993"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "44f2f95189ca66a168dbefd1e93e0e65",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 33354,
            "upload_time": "2025-07-26T03:37:05",
            "upload_time_iso_8601": "2025-07-26T03:37:05.550907Z",
            "url": "https://files.pythonhosted.org/packages/54/14/9c0d108bf99c7bb4178216deefb34b1d78ce598027ee3bfbae4bb599c01a/tgcryptos-0.0.6-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "28d286346a671e20fb34a3d94068c2b985a7f955da890c357cb2cbcaa3ffee58",
                "md5": "b96a552ecdb663a55f89be4cd84059c7",
                "sha256": "f52a5336aa46ebe44d9b368d0ad0423c5d9eb6f4c7a9a5b2af4389189a5e5174"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b96a552ecdb663a55f89be4cd84059c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 35049,
            "upload_time": "2025-07-26T03:37:06",
            "upload_time_iso_8601": "2025-07-26T03:37:06.598880Z",
            "url": "https://files.pythonhosted.org/packages/28/d2/86346a671e20fb34a3d94068c2b985a7f955da890c357cb2cbcaa3ffee58/tgcryptos-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "33287ed42288024d564814be2b1fd3c6ca3fa321661a7871d7c218dafc9f084a",
                "md5": "bcf0f57a329582bc9beebcdd770af2b4",
                "sha256": "69167567f7e6560bc0ec215fee75c765218ef717d00fadd443860cfdf252e56b"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "bcf0f57a329582bc9beebcdd770af2b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 20109,
            "upload_time": "2025-07-26T03:37:07",
            "upload_time_iso_8601": "2025-07-26T03:37:07.328156Z",
            "url": "https://files.pythonhosted.org/packages/33/28/7ed42288024d564814be2b1fd3c6ca3fa321661a7871d7c218dafc9f084a/tgcryptos-0.0.6-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67478abfebeeb52f0252b856976eea5a351407fde6d0f004c46bc2a8a9a4317d",
                "md5": "ef3f9f7e0283038dae9307ec674bb576",
                "sha256": "2ac81b045c7892d97f0fbbf807d9cbf448e103273cf948160fb68ef097dee7fd"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ef3f9f7e0283038dae9307ec674bb576",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.10",
            "size": 20865,
            "upload_time": "2025-07-26T03:37:08",
            "upload_time_iso_8601": "2025-07-26T03:37:08.024936Z",
            "url": "https://files.pythonhosted.org/packages/67/47/8abfebeeb52f0252b856976eea5a351407fde6d0f004c46bc2a8a9a4317d/tgcryptos-0.0.6-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bbf6f836cb846b017081c59974c39ee58c517268bdef51ab1b6d87a355cc305c",
                "md5": "9e052929096ddf7e785aacaeda4921a3",
                "sha256": "7104ae57b116b73d7cb0030a5836c5b4f691ac3c2a04af9df0f6616ad85d930f"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "9e052929096ddf7e785aacaeda4921a3",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 34473,
            "upload_time": "2025-07-26T03:37:09",
            "upload_time_iso_8601": "2025-07-26T03:37:09.040848Z",
            "url": "https://files.pythonhosted.org/packages/bb/f6/f836cb846b017081c59974c39ee58c517268bdef51ab1b6d87a355cc305c/tgcryptos-0.0.6-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81ab499ab9942d10344f226bd5de42cab937d604bc67a1d0819e2fdc227cff11",
                "md5": "9de8d080ccd066f4703e825234196d90",
                "sha256": "5d380c37897593c84d509575d9c0752dc956e1671d73e9f3fccdb893b1c9df0d"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9de8d080ccd066f4703e825234196d90",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 18869,
            "upload_time": "2025-07-26T03:37:09",
            "upload_time_iso_8601": "2025-07-26T03:37:09.799296Z",
            "url": "https://files.pythonhosted.org/packages/81/ab/499ab9942d10344f226bd5de42cab937d604bc67a1d0819e2fdc227cff11/tgcryptos-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f122160f7e2a1b1b1a0b1b4e2400f0d7b5fa8cf2e27b8e67e4eb4a8f8feca5ff",
                "md5": "647ded02aaa12e91e46356ebbe37517e",
                "sha256": "45b229db6d9b1af1ceaaf6d20eec71679bf55b2822aa557794ffd1a9f86d73f9"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "647ded02aaa12e91e46356ebbe37517e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 18789,
            "upload_time": "2025-07-26T03:37:10",
            "upload_time_iso_8601": "2025-07-26T03:37:10.853328Z",
            "url": "https://files.pythonhosted.org/packages/f1/22/160f7e2a1b1b1a0b1b4e2400f0d7b5fa8cf2e27b8e67e4eb4a8f8feca5ff/tgcryptos-0.0.6-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4a0540b7a866a283739e67a0b272ae7ce9967eef8a9fc7b81bf24a2601e40e59",
                "md5": "57d35461d2bde3aec1a5a4b8625bea8d",
                "sha256": "b7ae6f0fbadbddc27a727f95f7cd215857554cd980f6829c7a7d90204b2dad1c"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "57d35461d2bde3aec1a5a4b8625bea8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 35272,
            "upload_time": "2025-07-26T03:37:11",
            "upload_time_iso_8601": "2025-07-26T03:37:11.544235Z",
            "url": "https://files.pythonhosted.org/packages/4a/05/40b7a866a283739e67a0b272ae7ce9967eef8a9fc7b81bf24a2601e40e59/tgcryptos-0.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8891b69a51f0db4844f0695f370108ce13dabadcd3134e846a2dc93b4abb9ed1",
                "md5": "3b6e8a08154ceba35875238adbe7e3a5",
                "sha256": "2bc67e8d06bf6b928f78529b6ecb77b03d578e6628007c437f88e8dca6e31e33"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "3b6e8a08154ceba35875238adbe7e3a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 35022,
            "upload_time": "2025-07-26T03:37:12",
            "upload_time_iso_8601": "2025-07-26T03:37:12.428640Z",
            "url": "https://files.pythonhosted.org/packages/88/91/b69a51f0db4844f0695f370108ce13dabadcd3134e846a2dc93b4abb9ed1/tgcryptos-0.0.6-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": "03c1896e5c782053379a7b3348ab0c052177a4637ba0d9cd6452b101ff64a693",
                "md5": "34a456f42b4b107803ff6d38c5c269ad",
                "sha256": "e3ad033022ac4b2656b3ebd563a2a65b4fdabbadcf3d0ca34739fb6154ee356b"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "34a456f42b4b107803ff6d38c5c269ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 33411,
            "upload_time": "2025-07-26T03:37:13",
            "upload_time_iso_8601": "2025-07-26T03:37:13.533508Z",
            "url": "https://files.pythonhosted.org/packages/03/c1/896e5c782053379a7b3348ab0c052177a4637ba0d9cd6452b101ff64a693/tgcryptos-0.0.6-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14e871bed37a81d5c5f6bae3c7cd48ead8d781ef7e9cb1e2b88a75bb3dc96049",
                "md5": "88d86fc845d03715977910184443014e",
                "sha256": "bda2fbd6267c5667ae04aa6c53baab6c8a2d7baba7496c9ef6e11a50fd65d7ef"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "88d86fc845d03715977910184443014e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 35108,
            "upload_time": "2025-07-26T03:37:14",
            "upload_time_iso_8601": "2025-07-26T03:37:14.190926Z",
            "url": "https://files.pythonhosted.org/packages/14/e8/71bed37a81d5c5f6bae3c7cd48ead8d781ef7e9cb1e2b88a75bb3dc96049/tgcryptos-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "13da76d42c45ced2500cc7f8545c49560d0b350d38a534c52de97269dc88f375",
                "md5": "52fb1eadef2e9c8b8066dccc044496d1",
                "sha256": "6cdee1aef29fffc9d8f2834e8807c9f1082bc98b535c2a8945b67f12d32d329d"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "52fb1eadef2e9c8b8066dccc044496d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 20108,
            "upload_time": "2025-07-26T03:37:14",
            "upload_time_iso_8601": "2025-07-26T03:37:14.847201Z",
            "url": "https://files.pythonhosted.org/packages/13/da/76d42c45ced2500cc7f8545c49560d0b350d38a534c52de97269dc88f375/tgcryptos-0.0.6-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "845f49021fd4ad090acdaadb7b9ed0ae45e8f4a053bca61a5f360cf18798e268",
                "md5": "fe3301cbab7f7385a93d5a7679cb607e",
                "sha256": "477f9529a33b5e53a81252b30801eb2608e80c11c0af6cdba4181ea8ee2f326e"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fe3301cbab7f7385a93d5a7679cb607e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "~=3.10",
            "size": 20865,
            "upload_time": "2025-07-26T03:37:15",
            "upload_time_iso_8601": "2025-07-26T03:37:15.524236Z",
            "url": "https://files.pythonhosted.org/packages/84/5f/49021fd4ad090acdaadb7b9ed0ae45e8f4a053bca61a5f360cf18798e268/tgcryptos-0.0.6-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "99864e1a89c886e48a54b74c9d2a85e3e6ad49cb37124caf5860245d36b06297",
                "md5": "3b419e5769699e716567bae2ad3b7307",
                "sha256": "96242059bff1f0cadd70804f2bc50b895724155921a14e8f33c7f7360dc78b6d"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3b419e5769699e716567bae2ad3b7307",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18489,
            "upload_time": "2025-07-26T03:37:16",
            "upload_time_iso_8601": "2025-07-26T03:37:16.214496Z",
            "url": "https://files.pythonhosted.org/packages/99/86/4e1a89c886e48a54b74c9d2a85e3e6ad49cb37124caf5860245d36b06297/tgcryptos-0.0.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b945c399e7d3d4482f26a8c65ea684a1977e2d1afed0c6f1ef5ae426d43af09",
                "md5": "7ca505f680cc5f24fe554ebefaf69254",
                "sha256": "580c739c50e417be3cd0acdb017a6b4ab4a55d36170bbfc7bf05ee647cb492fa"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7ca505f680cc5f24fe554ebefaf69254",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18338,
            "upload_time": "2025-07-26T03:37:16",
            "upload_time_iso_8601": "2025-07-26T03:37:16.929584Z",
            "url": "https://files.pythonhosted.org/packages/4b/94/5c399e7d3d4482f26a8c65ea684a1977e2d1afed0c6f1ef5ae426d43af09/tgcryptos-0.0.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c4d70478b8ad541cd484229c1d0463288f72a60dbec882ed3b720271e874475b",
                "md5": "3872b161df4f7b001862e54c1f722549",
                "sha256": "178625188d6d4119d88ca9264c4d8f49a030f215e7f1430a1c444f5332fdf2ff"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3872b161df4f7b001862e54c1f722549",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18324,
            "upload_time": "2025-07-26T03:37:17",
            "upload_time_iso_8601": "2025-07-26T03:37:17.647301Z",
            "url": "https://files.pythonhosted.org/packages/c4/d7/0478b8ad541cd484229c1d0463288f72a60dbec882ed3b720271e874475b/tgcryptos-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b9fc8fa00dd1152e371a2cb06d890ad47a7684dcdce079059c0d470a664d44d7",
                "md5": "ddd5a701ea38047bdef2f4c17236c864",
                "sha256": "ece97f1e37935b90d739e559195b1ee7f5e972110a2a13907e27d4e59759acbf"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "ddd5a701ea38047bdef2f4c17236c864",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 18944,
            "upload_time": "2025-07-26T03:37:18",
            "upload_time_iso_8601": "2025-07-26T03:37:18.321783Z",
            "url": "https://files.pythonhosted.org/packages/b9/fc/8fa00dd1152e371a2cb06d890ad47a7684dcdce079059c0d470a664d44d7/tgcryptos-0.0.6-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": "9b902371bade901b22f818fd9f0bb264535441f6e1a2680bdb55a2e0f310bcbd",
                "md5": "f43873ed4cb9915ad18e206da8da1a08",
                "sha256": "9d7ac7e6fa2f2dea122722730dfc442801e6c0099066ea44437115459bc8d16e"
            },
            "downloads": -1,
            "filename": "tgcryptos-0.0.6-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f43873ed4cb9915ad18e206da8da1a08",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.10",
            "size": 20994,
            "upload_time": "2025-07-26T03:37:19",
            "upload_time_iso_8601": "2025-07-26T03:37:19.318163Z",
            "url": "https://files.pythonhosted.org/packages/9b/90/2371bade901b22f818fd9f0bb264535441f6e1a2680bdb55a2e0f310bcbd/tgcryptos-0.0.6-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-26 03:36:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "tgcryptos"
}
        
Elapsed time: 1.53394s