<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"
}