TgCrypto C
TgCrypto
The PyPI distribution is tgcrypto-c; the Python import remains tgcrypto.
Linux only: this release supports Linux x86_64 and ARM64. Windows and macOS wheels are not provided or supported.
Fast and Portable Cryptography Extension Library for Pyrogram
TgCrypto C is a cryptography library written in C as a Python extension. It is designed to be portable, fast, and easy to install and use with Pyrogram and Kurigram. It implements the cryptographic algorithms Telegram requires, namely:
AES-256-IGE- used in MTProto v2.0.AES-256-CTR- used for CDN encrypted files.AES-256-CBC- used for encrypted passport credentials.
Requirements
- Python 3.9 or higher.
- A Linux C compiler (the extension is compiled from source when a wheel is unavailable).
Installation
$ python -m pip install -U tgcrypto-c
The distribution is named tgcrypto-c; existing code continues to use the
tgcrypto import:
import tgcrypto
To install directly from source:
$ pip3 install -U git+https://github.com/bisug/tgcrypto-c
Performance
On x86/x86-64 CPUs with AES-NI support, the library automatically uses hardware-accelerated AES instructions, detected once at runtime. On every other platform (or CPU without AES-NI) it falls back to the portable software implementation. Both paths produce bit-for-bit identical output.
Run the local benchmark with:
$ python benchmarks/bench_modes.py
To build without the hardware acceleration path, define TGCRYPTO_NO_AESNI:
$ CFLAGS="-DTGCRYPTO_NO_AESNI" pip3 install git+https://github.com/bisug/tgcrypto-c
For a maximum-speed local build (GCC/Clang only), opt in to heavier optimization — kept out of the default build:
$ CFLAGS="-O3 -flto" pip3 install git+https://github.com/bisug/tgcrypto-c
Note the portable table-based AES implementation is functionally correct but not hardened against cache-timing side channels; the AES-NI path (constant-time instructions, used automatically when available) is preferred.
Per-call overhead matters as much as bulk throughput: MTProto encrypts many small messages (a 16-byte payload is a single AES block), so the fixed cost of every call — argument handling, key schedule and the key-material wipe — dominates at that size. Two further optimizations target that fixed cost:
- Key-material wipe (expanded key plus loaded round keys, ~500 bytes per call) is cleared with word-wide stores instead of a byte-wise volatile loop, which is ~8x cheaper while giving exactly the same guarantee.
- Key schedule — on the AES-NI path the 60-word expanded key is generated
with
aeskeygenassist/aesimcinstructions instead of the table-based scalar routine, and the round keys are consumed directly from it. The scalar schedule cost ~445 ns per call (encrypt) and ~630 ns (decrypt) on the reference machine; the instruction-based one is a small fraction of that. - No redundant copy — the AES-NI paths read the input buffer directly instead of first copying it into the output buffer, so large payloads are touched once rather than twice.
For repeated CTR chunks with the same key, use CTRContext to expand the key
once and retain the counter state between calls. On a Python 3.15 x86-64
build, this reduced 16-byte call time by about 3.4x and 1 KiB call time by
about 1.75x in local measurements. Results depend on the CPU and compiler.
Indicative, on a low-power Celeron N4120 with the AES-NI path active (best of 5, one C call, so no Python overhead included):
| Operation | Before | After |
|---|---|---|
| AES-256-IGE encrypt, 16 B | 1742 ns | 984 ns |
| AES-256-IGE decrypt, 16 B | 1407 ns | 559 ns |
| AES-256-CTR encrypt, 16 B | 1401 ns | 713 ns |
| AES-256-IGE encrypt, 1 KiB | 4692 ns | 3510 ns |
The gain is per call, so it is largest for small messages (1.8–3x at a single block) and tapers off for large buffers (about 1.3–1.5x at 1 KiB), where AES throughput dominates instead.
Measured throughput of the Python API before/after the key-schedule and copy changes (same machine, alternating runs, best of 2 rounds, MB/s):
| Operation | Size | Before | After | Change |
|---|---|---|---|---|
| IGE encrypt | 16 B | 10 | 14 | +30% |
| IGE decrypt | 16 B | 8 | 13 | +60% |
| CBC decrypt | 16 B | 6 | 10 | +48% |
| CBC encrypt | 16 B | 8 | 10 | +20% |
| CTR encrypt | 16 B | 7 | 8 | +21% |
| CBC decrypt | 1 KiB | 233 | 294 | +26% |
| CTR encrypt | 1 KiB | 228 | 252 | +11% |
| CBC decrypt | 1 MiB | 598 | 736 | +23% |
| CTR encrypt | 1 MiB | 500 | 606 | +21% |
| CBC encrypt | 1 MiB | 338 | 382 | +13% |
| IGE encrypt/decrypt | 64 KiB – 1 MiB | 374–379 | 373–379 | ~0% |
IGE on large buffers is deliberately unchanged: with a serial feedback chain
each block depends on the previous one, so the mode is bound by AES round
latency rather than throughput and no amount of key-schedule tuning helps.
Because MTProto 2.0 derives a new AES key from the auth key and per-message
msg_key, the legacy one-shot functions pay the key schedule cost on every
call. For a logical stream with one key, the reusable context APIs avoid that
cost.
Comparison with the original
| Original (pyrogram/tgcrypto) | This fork | |
|---|---|---|
| Status | Unmaintained | Actively maintained |
| Python support | 3.7 – 3.11 | 3.9 – 3.15 |
| Packaging | setup.py |
pyproject.toml (PEP 621) |
| AES acceleration | Portable software implementation only | AES-NI hardware acceleration (runtime-detected) with software fallback |
| Speed on AES-NI CPUs | Baseline | ~4–6× faster for IGE/CTR on large buffers |
| Speed without AES-NI / non-x86 | — | Identical (same software code path, bit-for-bit) |
| Output compatibility | — | Cryptographic output is bit-for-bit identical to the original |
| API | Six functions | Unchanged — drop-in compatible with Pyrogram and Kurigram |
| CI | — | Test matrix 3.9–3.15; Linux wheels built for x86_64 and ARM64 |
| License | LGPLv3+ | LGPLv3+ |
Indicative benchmark (AES-NI, 16 MB buffers, best of 5):
| Operation | Original | This fork |
|---|---|---|
| AES-256-IGE encrypt | 59 MB/s | 247 MB/s |
| AES-256-CTR encrypt | 46 MB/s | 284 MB/s |
Actual gains scale with CPU speed. On CPUs without AES-NI (or when built with
TGCRYPTO_NO_AESNI), performance matches the original exactly, since the same
software code path is used.
API
The legacy TgCrypto API consists of these six methods. Reusable context APIs are also available for stateful workloads:
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: bytearray, state: bytearray) -> bytes: ...
def ctr256_decrypt(data: bytes, key: bytes, iv: bytearray, state: bytearray) -> bytes: ...
def cbc256_encrypt(data: bytes, key: bytes, iv: bytearray) -> bytes: ...
def cbc256_decrypt(data: bytes, key: bytes, iv: bytearray) -> bytes: ...
class CTRContext:
def __init__(self, key: bytes, iv: bytes, state: int = 0) -> None: ...
def update(self, data: bytes) -> bytes: ...
class IGEContext:
def __init__(self, key: bytes, iv: bytes, decrypt: bool = False) -> None: ...
def update(self, data: bytes) -> bytes: ...
class CBCContext:
def __init__(self, key: bytes, iv: bytes, decrypt: bool = False) -> None: ...
def update(self, data: bytes) -> bytes: ...
Buffer semantics (MTProto streaming):
ige256_*copies the 32-byte IV into local state, so read-onlybytesare fine.ctr256_*mutates the 16-byte counterivand the 1-bytestatein place, andcbc256_*mutates the 16-byteivto the last block — so those must be writable (bytearray/memoryview). Immutablebytesthere raisesBufferErrorinstead of corrupting memory. Don't share oneiv/stateacross threads.
CTRContext.update() is equivalent to repeated ctr256_encrypt() calls and
retains the counter internally. It can also decrypt, because CTR encryption
and decryption are the same XOR operation. A context is stateful and should
not be used concurrently from multiple threads.
IGEContext and CBCContext retain their mode feedback between updates. Their
input chunks must be non-empty and aligned to the 16-byte AES block size. Set
decrypt=True when constructing a context for decryption.
Usage
IGE Mode
Note: Data must be padded to match a multiple of the block size (16 bytes).
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)
Prefer chunk sizes up to ~1 MiB for large inputs: peak transient memory is
about 1x the chunk size (the output buffer), and chunking keeps streaming
state (iv, state) moving as documented above.
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, bytearray(1))
ctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytearray(1))
print(data == ctr_decrypted) # True
CTR Mode (stream)
For the lowest per-chunk overhead, use a reusable context:
import os
import tgcrypto
key = os.urandom(32)
chunks = [os.urandom(1024), os.urandom(1024)]
context = tgcrypto.CTRContext(key, os.urandom(16))
encrypted_chunks = [context.update(chunk) for chunk in chunks]
import os
from io import BytesIO
import tgcrypto
data = BytesIO(os.urandom(10 * 1024 * 1024)) # 10 MB of random data
key = os.urandom(32) # Random Key
enc_iv = bytearray(os.urandom(16)) # Random IV
dec_iv = enc_iv.copy() # Keep a copy for decryption
enc_state = bytearray(1) # Encryption state, starts from 0
dec_state = bytearray(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).
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
MTProto 2.0 boundary
tgcrypto implements only the raw AES primitives MTProto 2.0 needs
(AES-256-IGE for cloud chats, AES-256-CTR for CDN files, AES-256-CBC
for Passport). The surrounding protocol — msg_key derivation
(SHA256(authKey[88+x:88+x+32] || plaintext)[8:24], x=0/x=8), KDF into
aes_key/aes_iv, padding 12..1024 bytes, msg_id/seqno checks,
RSA/DH handshake, SRP 2FA — belongs in the client layer (e.g. Pyrogram or Kurigram),
not here. ige256_decrypt does not verify msg_key; callers must.
Testing
- Clone this repository:
git clone https://github.com/bisug/tgcrypto-c. - Enter the directory:
cd tgcrypto-c. - Install the test dependencies:
pip3 install pytest pycryptodome cryptography(pycryptodome/cryptographyare used as independent reference primitives by the known-answer tests; without them those tests skip silently.) - Run tests:
pytest.
License
Modifications in this fork are released under the same license.
Metadata
Release files for tgcrypto-c 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tgcrypto_c-1.3.0.tar.gz | 52.3 kB | With provenance | Details for tgcrypto_c-1.3.0.tar.gz |
Built distributions (wheels)
Total release size: 3.4 MB
Release files / tgcrypto_c-1.3.0.tar.gz
| Download URL | tgcrypto_c-1.3.0.tar.gz |
|---|---|
| Size | 52.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
098ab215169f3a8c10f54f1c7a30afa6e06b0defaa938f8eeeab9aa0c0a0c802
|
|
BLAKE2b-256 checksum How to use checksums |
63ec9b2a0194a73218ff536e8b2c6b0b3f63a1a23e0b7adbf67e29cf01a4bb35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 112.2 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
9387bb887f0f37fd9c6f12b490067d6b5e818dcafdfdb96c91793948e5e965aa
|
|
BLAKE2b-256 checksum How to use checksums |
37780d5a1a83258e53daadc1d0170f88ef26ba687e9fec6939cdab43f2397924
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 75.5 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
ae252b98b8f80fb36eadf697a47507da1e0148deaa5e6bf6f8a2a705a5a35a15
|
|
BLAKE2b-256 checksum How to use checksums |
f6a6c4d4d51e4771db6e25793dae7da9f0d934bd303aef50778d4a141fb04e23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 115.4 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
be3fdad8e43e50fc469c293dd13511e1de8addbcc21cf9d225434abfa65fd997
|
|
BLAKE2b-256 checksum How to use checksums |
70da747e4939da90976d71fc8de107f9892fa9e9439748fcd7f0552419e3cba6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 76.5 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
c7e573714cb73329dc0a208190a9932f41036f7756ecae333cd9f3902a244309
|
|
BLAKE2b-256 checksum How to use checksums |
eec80e4c91dc6b3ad41c9bfafd3ab86bfa292b985868e2073ced6cb0ca7e2b62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 110.3 kB |
| Tags | CPython 3.15 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
688b86af31833c10db44159fbd4bb4d9966d9f5494f4aa83bdfb5cebf0f13063
|
|
BLAKE2b-256 checksum How to use checksums |
c27069d34e2839479c8f91c1a4bd0167c601b36e596a32f5bd4bea3fa90702e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 73.5 kB |
| Tags | CPython 3.15 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
aa7190ce50a51735cc57d47774cdeb04fa51235611b55fcd3a0d6767decd6b1c
|
|
BLAKE2b-256 checksum How to use checksums |
291f84cca798aed8e5e173110b608c100148814cac1ea87d27e926c20869e779
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 113.5 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1b803a9726ca63bf3b23aec2357f301a3e703611a8885822730895bd7c72a6a7
|
|
BLAKE2b-256 checksum How to use checksums |
0b37b4b1a38506cf84c494e63b7d7c983bf0291865867beba1c848eccd124b34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 74.3 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
9467538c02d523b285c8c49fcaed8475d60dbdcc9b9da55f891341a1a3b3b9bf
|
|
BLAKE2b-256 checksum How to use checksums |
fdb94baa28f59cb217ccc74c2d661fd14936331a087fa1d8def288daebe3b2a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 110.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ce6108440e04c0acd973fee917f1eb86523023c3220bacd5d3ef1983fa7e1ec7
|
|
BLAKE2b-256 checksum How to use checksums |
b9308b849cfdad450a6ef4279792db4be5698a49f4a020d02300ed7c9b9e4155
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 75.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
f6bd91186e21d4d4e954c8d85551331dddeeee585dd0632df742051e0a12c29d
|
|
BLAKE2b-256 checksum How to use checksums |
51f4bf7eb9f39ec2f2e8e1b6c9c61b2c1ccc9f8aa2f1b05c563c5fdaa86e58ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 113.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
004669d939e78d3d5b000826a32832f5d8daa4a9c6cadb79029799d030654d96
|
|
BLAKE2b-256 checksum How to use checksums |
836b3d03d4412c6314cd1a88bb2201bfcfb59389db07ced225a0e445493228f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 75.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
ae3391bc19b8df72c6fa9ba232451d0640a3ebdcb85622b0fca71ac1276ff3c3
|
|
BLAKE2b-256 checksum How to use checksums |
6c6ad38fbca66074cb8f76c357111263c7b597030f773885d39ec842e2a3da06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 109.0 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
673f6854bae60463d04ddcb518d36ac20b072218ddf8d63e8b6a222ea136e975
|
|
BLAKE2b-256 checksum How to use checksums |
2deb6a4159a8a18bd0a60247d72c70d3c3cd8defdefb3ff95b689de823bbbcfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 73.0 kB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
9614d28c463655b5030548325839e47a6bef566609891079b38a146030fffe4f
|
|
BLAKE2b-256 checksum How to use checksums |
20993cc9db758e6c4861cdc16b8cf6c056ee9a90092df83730d9f9a5144a3113
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 111.8 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e1ea3c380d5fee3489882d16ca87c43237b101c78b45b74ea19075cf39c31ec6
|
|
BLAKE2b-256 checksum How to use checksums |
34f7cf2081144179ea2f6dfb20ee1818e2bbbe9615d9d578f2f4b9209bdc10f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 73.8 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
40f1c9acce4f55597def198efb35430af77b08ff58b4a6cb13e516b583e3b608
|
|
BLAKE2b-256 checksum How to use checksums |
89adca662b97f15d42c6e2656f456fe1ee4502004dd07ff2f7ef559d9ccafc32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
739bcaa5613551ddc650ce9aa505fdbd9b118a0c945275942efef6d2a6966705
|
|
BLAKE2b-256 checksum How to use checksums |
d247d8be6f1f0c0d60621ff2ed1df566505308eb4dc463c9d555e59fdd97e80e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 72.9 kB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c7d249a692a0556372b00bb1a3db5ff46995215ccb185b6a20b8b1974cb13c52
|
|
BLAKE2b-256 checksum How to use checksums |
b3cbdf95ab8d43ec29840ca1d5fd92f3b73d93b1924d38a82fe0532a7b59d7ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 111.7 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b4f431102e17bdc54de8f59148f4df2c7347a57a56ed35b2a1043ea755798344
|
|
BLAKE2b-256 checksum How to use checksums |
b378a4736681b4affd66fe9739cb78e62a6cbe89d996f819ea7f4925636dcddf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 73.7 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8664b99c8b41c79c1e64f75be356f9126b89c91a2f1b184142f851f2ac62182f
|
|
BLAKE2b-256 checksum How to use checksums |
5e7956b38e75dad3cb07acebdd8c8182dd5551ab2443219f09d90d8aeabdec5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8332be388f038635badd85e6dc189875cfc4768946df2c94960d158ba94b3d39
|
|
BLAKE2b-256 checksum How to use checksums |
302e5c6c6c1d63df5716003b7a13db9ed643c767452bbd4f323f9d9b243300ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 72.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
74a6b512895926603b60d6caf07dc0978b69bd267f7585d4688bffae3f9e25bc
|
|
BLAKE2b-256 checksum How to use checksums |
7bc82e8b747a94e233f33c0d5ec3833898be3f31dded3143c40afe52912378e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 111.7 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ba20cbc38763f031441db65d3e3d5a5afe5c582e6358e5830cf8a6a7d17d8692
|
|
BLAKE2b-256 checksum How to use checksums |
ae2174c2efa1781c78fde63e2799606680a78264030bc515f429f0cb2a535466
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 73.7 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2362f9bb4c8142a044070549f83362f035ce4a7272ee4df7fd0f1ff97cf76ae9
|
|
BLAKE2b-256 checksum How to use checksums |
fb926ab5c2746980e36c23a5e441e3752d5acabfd3dea22a88acaca3d5f84e86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1cc133358812f5ee2fa10a33f8ba6d761ae8c1841fd21f6ccbd85cc59edf8c6e
|
|
BLAKE2b-256 checksum How to use checksums |
8a25ee7646a0891400cbe5957f80a096b61e7e716c88ea8e665eb6b462f9b93f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 73.0 kB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
5b879b927be59f85c0cbe2d932869b5ea677ca7a54de433d2d51f3192e6e95cc
|
|
BLAKE2b-256 checksum How to use checksums |
2848f58bdb1ea8b3bfbe690027c6a8b86c4abef930a39a52adca374afd63fd03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 111.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7d4286721949e2f654252a4035e7cec4d812e103f4ccf2d8d2fef5f784cfd77
|
|
BLAKE2b-256 checksum How to use checksums |
705be839070d6b4b35f4d760d819b24160852470ecc688bcb5c92b34fa8b2a47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 73.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d6e0378923344277f701b1dcd474445f5a9e4a4528354547759f1be1e23fe028
|
|
BLAKE2b-256 checksum How to use checksums |
cc432d28d55c55083d45cd2dd776c31fd4708545777c4b1217063399716f9464
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 107.6 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0e8a7a4163f9367aee5272bf64e937c393afafc65bac1dd5fcde5f0e1964d7a
|
|
BLAKE2b-256 checksum How to use checksums |
eacfe1ec14c84d7bd0f7a160552d6c515715305a84ba87b236814da052869b19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 71.8 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
27b090a32d81fa8cdf0425aa52acc36cebfc3154a1fbaa0ebcb851d0101c8b6e
|
|
BLAKE2b-256 checksum How to use checksums |
8c4abd92b17a8a326b1e86208a7494c7220643759d367b1a2fb393e9b7e32289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 110.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b3ff098cf60c5e74f4c851bea36ed085f1cc1ab0d9595cd2b0153f34e2dc00f5
|
|
BLAKE2b-256 checksum How to use checksums |
4b5821dece2320d71b06f2c2e43cc7f198cc1ee62511fd974eae51df101a13bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 72.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
e071bcd1b79565a8fd8fb8aaaf47a82d4517ce0ef0ac792da5c6ba57786cd2e6
|
|
BLAKE2b-256 checksum How to use checksums |
4a2942eaef6637f9612fa710a9712588f8bc906e7f18a06746fb9dce31dc734b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 107.4 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
330781d10bbe996bc4a7669f517ef92e76c93f6848d8c5c03bf4d21bac07d760
|
|
BLAKE2b-256 checksum How to use checksums |
8c608e0ebe1e049830bd5b67b9cbcab0675a5c99f3982868b08c9972f4e92a41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 71.6 kB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
cfe439bbf4cc5d2818c885dabd54673ba2dfff661bf9234a3f57ac0716ba40cb
|
|
BLAKE2b-256 checksum How to use checksums |
93eb62c2a0f961ed8d40ff8005745578fcc37a6b8e3005a9b9a2878b3dae5378
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tgcrypto_c-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 110.2 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
08429ddd0f1c6c82a80798c335d5abcb60094ba0ea5ee71b46ae04a369ad6ef7
|
|
BLAKE2b-256 checksum How to use checksums |
c47eb71748ed37a216df8ab5affd54d9a76ad17191615b92ca77c10085da75a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / tgcrypto_c-1.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tgcrypto_c-1.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 72.4 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
9fa97f9c85272b29c7945ed416cc724695bb72f7455cb6f490e65126ad8ee6ad
|
|
BLAKE2b-256 checksum How to use checksums |
ea9d80a68777ab2a91c51e04b164cd94de5de16aab34dd6586fd1f56150788bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logSecurity for tgcrypto-c 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 37 files in this release have been uploaded with provenance metadata.
Attestation for tgcrypto_c-1.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.