Skip to main content

Advanced Python source code obfuscator and compiler protection.

Project description

Cryptolith: High-Performance Python Compiler & Military-Grade Protection 🛡️🚀

The Fastest Python Compiler that also makes your code impossible to reverse engineer.

Cryptolith is the high-performance alternative to Nuitka and PyArmor. While others focus only on hiding code, Cryptolith focuses on Speed and Defense-in-Depth.

🏎️ Why Cryptolith?

  • Fastest Execution: Native C compilation + GIL-Unlock (Turbo mode) allows Python to run up to 25x faster than CPython by bypassing the Global Interpreter Lock.
  • Strongest Protection: Polymorphic VM virtualization + Control Flow Flattening (CFF) defeats standard decompilers (pycdc, uncompyle6) and professional reverse engineers.
  • Zero Configuration: One-click protected builds for complex libraries like numpy, pandas, and tensorflow.

🏎️ Benchmark Results (Head-to-Head)

Workload: Multi-threaded CPU-bound mathematical loop (4 threads, 20M iterations total)

Engine Execution Time Binary Size Protection
Python (Raw) 4.59s < 1 KB None
Nuitka (Standalone) 2.69s 18.3 MB Native
PyArmor (Standard) 7.74s 0.6 MB Bytecode
Cryptolith (Turbo) 0.18s 11.5 MB Military Grade

Unlike Nuitka or PyArmor, which are still bound by the Global Interpreter Lock (GIL), Cryptolith's Turbo Mode identifies performance-critical kernels and compiles them to native C with explicit GIL release, achieving a 25.5x speedup on modern architecture.

  • True Parallelism: While Nuitka threads fight for a single core, Cryptolith utilizes all available CPU cores simultaneously.
  • Micro-Optimization: Our BCC compiler performs aggressive loop unrolling and SIMD-friendly math transpilation that exceeds standard CPython efficiency.

🛡️ Active Defense: Beyond Obfuscation

Standard tools offer Passive Protection (hiding code). Cryptolith offers Active Defense (detecting and misdirecting attackers).

  • Silent Corruption: If a debugger or unauthorized environment is detected, Cryptolith doesn't just crash. It enters a "Hostile State" where VM calculations are subtly corrupted. Attackers waste weeks debugging "ghost bugs" while the actual logic remains safe.
  • Polymorphic Opcode Mapping: Every single build of your project uses a unique, randomized instruction set. Dissecting one binary provides zero help in dissecting the next.

💎 Feature Matrix

Feature PyArmor Nuitka Cryptolith
Bytecode Hiding Strong (VM) Strong (Native) Strongest (Native + VM)
Logic Obfuscation Yes (CFF) Weak/None Yes (Polymorphic CFF)
Performance Slower (Overhead) Faster (Native) 25x Faster (Turbo/No-GIL)
Competitive Advantage Security only Compilation only Ultimate IP Performance

💠 Tiered Licensing Model

Cryptolith follows an Open Core strategy. We believe free users are our best evangelists.

[Community Edition] (Free Forever)

No watermarks. Build professional, protected tools for small projects and open-source use.

  • Native Compilation: Compiles Python to standalone machine code (Assembly).
  • Symbol Renaming: Deep recursive renaming of functions, classes, and variables.
  • Full Scoping: Fine-grained project control with --include and --exclude.
  • One-Click Bundling: Produces clean, professional standalone binaries.

[Pro Edition] (Professional)

The ultimate performance and security suite for enterprise-grade IP.

  • 🚀 Turbo Mode (GIL Unlock): Release the Global Interpreter Lock for true multi-threaded parallel performance.
  • ⚛️ Polymorphic VM: Randomized instruction sets per build—unique signature every time.
  • 🔐 Control Flow Flattening (CFF): Logic spaghetti injection to defeat symbolic execution and human analysis.
  • 💎 String & Constant Encryption: Automated encryption with stack-only decryption.
  • 🛡️ Hardware Binding: Lock binaries to specific MAC, IP, or HWID.
  • 📦 Asset VFS: Securely bundle AI models and data files with zero-footprint memory loading.

🔑 For Administrators: Generating Licenses

To generate a license for a customer, use the included helper script:

  1. Generate Keys (One-time):
    python scripts/admin_keygen.py generate-keys
    
  2. Issue License:
    python scripts/admin_keygen.py create-license --user "Customer Name" --tier "Pro" --private-key "YOUR_PRIVATE_KEY"
    
    To lock to hardware, add --hardware-id "USER_HWID".

For full details, see the Licensing Guide.


📚 Reading the Documentation

We have comprehensive, high-quality documentation for both Community and Pro users.

Online/Local Website

To view the full documentation as a beautiful website with search and detailed guides:

  1. Install dependencies: pip install mkdocs-material "mkdocstrings[python]"
  2. Serve locally: mkdocs serve
  3. View: Open http://127.0.0.1:8000 in your browser.

Documentation Chapters


🛠️ Installation

pip install cryptolith

[!NOTE] Requirements: BCC and Turbo modes require a C compiler (MSVC on Windows, GCC/Clang on Linux/macOS).


🚀 Quick Usage

1. Basic Build

The simplest way to protect a script and bundle it into an EXE:

cryptolith build main.py --output dist/protected

2. High-Performance Build (Pro)

Enable native transpilation and release the GIL:

cryptolith build app.py --enable-bcc --enable-turbo

3. Ultimate Security (Pro)

Enable virtualization and private mode to defeat all known decompilers:

cryptolith build app.py --enable-vm --private --license license.dat

4. Professional Licensing

If you have a professional license, specify it during the build:

cryptolith build main.py --license path/to/license.dat

Cryptolith will automatically verify the ED25519 signature and unlock all Pro features.


🧪 Verification Suite

Cryptolith includes a rigorous automated test runner that validates the entire stack:

cryptolith test

🚀 CI/CD & Releases

Automated builds and releases are managed via GitHub Actions. To trigger a new release (which builds wheels for Windows, Linux, and macOS and uploads them to GitHub Releases):

1. Tag the version

git tag -a v1.0.0 -m "Release version 1.0.0"

2. Push the tag

git push origin v1.0.0

The pipeline will automatically:

  1. Build Wheels: Compile cross-platform binaries for all supported Python versions.
  2. Generate Source Dist: Create a .tar.gz for source-based installations.
  3. GitHub Release: Create a new release and attach all binaries as assets.
  4. PyPI Publish: Attempt to publish to PyPI (requires valid token).

⚖️ License

Licensed under the MIT License. See LICENSE for details.

Notes

  • Go to your project on pypi.org.
  • Go to Settings > Publishing > Add a GitHub Publisher.
  • Enter your Repository name (cryptolith), the Workflow name ( publish.yml ), and the Environment name (pypi).
  • Once connected, PyPI will automatically trust the tokens generated by your GitHub Actions runner.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptolith-0.1.12.tar.gz (903.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cryptolith-0.1.12-pp310-pypy310_pp73-win_amd64.whl (428.0 kB view details)

Uploaded PyPyWindows x86-64

cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (515.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (554.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

cryptolith-0.1.12-pp39-pypy39_pp73-win_amd64.whl (428.1 kB view details)

Uploaded PyPyWindows x86-64

cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (516.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (554.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

cryptolith-0.1.12-pp38-pypy38_pp73-win_amd64.whl (432.3 kB view details)

Uploaded PyPyWindows x86-64

cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (571.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

cryptolith-0.1.12-pp37-pypy37_pp73-win_amd64.whl (505.1 kB view details)

Uploaded PyPyWindows x86-64

cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (607.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

cryptolith-0.1.12-cp313-cp313-win_amd64.whl (475.1 kB view details)

Uploaded CPython 3.13Windows x86-64

cryptolith-0.1.12-cp313-cp313-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cryptolith-0.1.12-cp313-cp313-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

cryptolith-0.1.12-cp313-cp313-musllinux_1_2_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

cryptolith-0.1.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cryptolith-0.1.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-cp312-cp312-win_amd64.whl (476.9 kB view details)

Uploaded CPython 3.12Windows x86-64

cryptolith-0.1.12-cp312-cp312-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cryptolith-0.1.12-cp312-cp312-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

cryptolith-0.1.12-cp312-cp312-musllinux_1_2_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

cryptolith-0.1.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cryptolith-0.1.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-cp311-cp311-win_amd64.whl (502.9 kB view details)

Uploaded CPython 3.11Windows x86-64

cryptolith-0.1.12-cp311-cp311-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cryptolith-0.1.12-cp311-cp311-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

cryptolith-0.1.12-cp311-cp311-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

cryptolith-0.1.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cryptolith-0.1.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-cp310-cp310-win_amd64.whl (505.8 kB view details)

Uploaded CPython 3.10Windows x86-64

cryptolith-0.1.12-cp310-cp310-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cryptolith-0.1.12-cp310-cp310-musllinux_1_2_i686.whl (3.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

cryptolith-0.1.12-cp310-cp310-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

cryptolith-0.1.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cryptolith-0.1.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

cryptolith-0.1.12-cp39-cp39-win_amd64.whl (507.8 kB view details)

Uploaded CPython 3.9Windows x86-64

cryptolith-0.1.12-cp39-cp39-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

cryptolith-0.1.12-cp39-cp39-musllinux_1_2_i686.whl (3.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

cryptolith-0.1.12-cp39-cp39-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

cryptolith-0.1.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cryptolith-0.1.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file cryptolith-0.1.12.tar.gz.

File metadata

  • Download URL: cryptolith-0.1.12.tar.gz
  • Upload date:
  • Size: 903.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cryptolith-0.1.12.tar.gz
Algorithm Hash digest
SHA256 cae8a75407e4c60dac04c4b336df3210eb7eb4b36a3966e5f974aabb3f324348
MD5 4701ab65b185f060670c13b8d9f9599f
BLAKE2b-256 ce0804ffc9fee1682948427ca2f083ba6ed7f72688b1110611bd05838072cb2d

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 72aa47cffc7f618e119220c15a4a83dd865b2f1d7e3a36b4ed7a3a7730f609cd
MD5 8027db04c8fd90288257a192c6e8becf
BLAKE2b-256 136e44bad94fb497f257f83e4870c85217f2b702b7f8d46d3a846c86a32fc367

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1db995fcbb0661a5b90792efbfbdf86b1baa43f85080753d193432ebbf780c8
MD5 16c5525f63fe51e69616fe0fb402a668
BLAKE2b-256 9505611aa015bf9c32eaaf8c7e8ed5eb2e1085ecbb9ddc101bfad5296cfb2d54

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 defabc7261875808c64d23270a00bd9bacddc9bce2fae9d42d6a543dc3c00590
MD5 ddc4483c881ef465a0592d5b762b3303
BLAKE2b-256 8c4efa470ed8c8064eb2efd5576f730644356a5435c4afa3cc2d895163c7a952

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 25a748683ede0bacdf8f66f9cf4ee5de6adbb647fd6908036a8afe53414cfd9e
MD5 ab170c4db8558e8960d7292112f60e7c
BLAKE2b-256 5eda6f284625d708922f7620cf34fc576b905c6aa934a26453930a980ab3235e

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66be72d65246260162b5e237a83ecf3543b8f7481c667bb94049821b013d40a8
MD5 dabf274b22f00ef4b3ed866244a9a00f
BLAKE2b-256 ee0e47c84719111191351a7b3a83a69503e1f1a04ecb95e03ad0e5d726710130

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bee383f0e99e678e7a33ea66d88b5a0bae5b4614e957efc79316b76136383dc8
MD5 86ea0448c90dc1ee96db6c495c5fa2d4
BLAKE2b-256 6c9cb250ed463e26700ad60b98f15a2d46ae47a92051de940ca10738255badad

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 20121f1db3cf93a880abf262f576d4c09af03369cb1cd146a62e4d0a5b4bcc5d
MD5 f485a9704ccf181add3ea1df0fd31c9b
BLAKE2b-256 617d4486fc69433a86c671de13dcdc653f1d6e91200d2a63b1e1525fa2df802d

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9f0214755640f76a5749885055a74c8a7bfab6df12a9aafacb32ddd6a3cb065c
MD5 658a73a7ddca1e1a672e9d2446a39d24
BLAKE2b-256 d51cb800ed86ea4899d93a71398ae3cbaabb5879002dce32e4942649ebaec2cc

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33a11e57d0b968e9866041de622054e945692e98acf278a702effd2e8f0c01f1
MD5 144b5d804a171d759a036f1408f2c99d
BLAKE2b-256 0c687ab2a6a3466864de7992042a6c887d0560a4448a8370f06c64bb136c67b8

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 5741b18dd916d9e049c15516753db3189f39951fd323402680772ef79da53b66
MD5 87b0c7ce930f509c2d8daeed176f4ae0
BLAKE2b-256 3af779580f302d95f1ec6a7cbf874b85908a266636c3d7ea13ecac3bd60ac04b

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 31b4ad0075410ec25e8f923c3d332e03c852db369e10c1a6e4d533b069c6ca02
MD5 7c4cfa66518706063d2599a9a14b0385
BLAKE2b-256 d749e9962f577e6571fea4c47354b31c7cabd19e02cfeff0d7f6e00d41e1080b

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2160491f80743c49d8787478beb94c105d4eccaf2ca20fd6db6994d04873992d
MD5 bf65d7608f4f85fa7bcd76971d8c697f
BLAKE2b-256 3c1b488bc2debb041e99181ae2683ad06711ea316cbd43fcf627b61b3cb44ffe

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9bf1f7c18d4456567c9aa0592e0cbd9cf985fb20c34e49df57fd0e4daf3d8f9a
MD5 bf0682885743ea78cbd7c8dd4027f712
BLAKE2b-256 0f3522a1997e9c17c9de42d5f75f9cf050d83396bfbd57b3254dc22ce0674f0a

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 157c3fd3c884833f18f5c5581f8a0752ed1ce2e38ef21015df6ed6abdc4bf689
MD5 ce29ec3b82fe6174fd7599f1656e30e3
BLAKE2b-256 644cb23fa08f1a9af9225b573956684115f69309c96184b82cadd92c2ffc745b

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0417ee27b6736b3ce3bcf862b25a8e396a0abfe82559266523bb259ee64a33d3
MD5 f9ae0c67a919775cd505fc002ea160ff
BLAKE2b-256 40943aef955f9a02a01469722725925b9adb7610cd0e059719c1df395f0d1e80

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ca8f6cb10f7978faee1386bfc05a4e2cf51af3f52faa5e8c6d067011992d7a8a
MD5 1b9e6d7b8e3bd032a3ae9e1ad4354dd5
BLAKE2b-256 32b95c15a3033fb15d528a81ca6b9e5962479b9640d8a64a081c796daed471f4

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 993ac44023c9cfab4249f5ef1dbf27e95631f2375040fca5dfd2a14420b34d22
MD5 75f0c3f9cfeffe98abe8052294ed5873
BLAKE2b-256 787e0f76e8c262e9e3112424f57cbc57361885c71e73e3972a830c9dfe4c253d

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb8bb453baf506227e1ed5289045a58baeecd83ef85997f07ee0f23f91c82522
MD5 d7e76f46b3122cb0f249db6747fe4bd2
BLAKE2b-256 c83387d2b6a013e4e9bfd6570de21955eaf797998b848371d947b32e6b0f6b43

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1ba3e62583b98a85bbb95fee91a118510c0a64c17c890467dfed9d6bee5154dc
MD5 1cc07e8b1de16d7b036433e2bd52ab92
BLAKE2b-256 178d5404ae1b6b2d36c09adc7f21bdfb2044759b72541161c3286f63ecb19759

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e5237789ffd0ecf1480c7feea0420aebd70f8be791fcfee6979a56c3741b21e6
MD5 4b7875741b54c7f8b212b1c863e90ec1
BLAKE2b-256 029f2ed0ec5ce10f838ab04111c082fd8f3d08745df00418149e2493ecb14c8f

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ce13f26631c668ed7b8692794a64c1df4da5cb0325229333deb58c6071de3710
MD5 d868c546ec470d52d1d28b91ccbb592a
BLAKE2b-256 fcd3418780f974dfc201a6b1a4f82fcdee6f73d1e9e22fcae27449bc2f675e11

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e5497d364f9f41dcd5c137613c560e4c9da19822a5021d31ea4f397a0fed7da4
MD5 ef7f873a664516a897dac0c62db2d111
BLAKE2b-256 7fb972972a482726f2e6cd726ff5de8d0c6353067cbda8818cd493de770c9ffa

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1d9db2a416421d9d38266fa9863ffb4812f42d2c48866fce8815f7a334f58a5
MD5 ba60a9f64f8556a717718ca024df3c6a
BLAKE2b-256 4bad17140685754370cc68e148086d4a680a89d0583d1b21c6cbff252218bef9

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cf430008fcf1e67d1840c5a73beab75f7afedcd94296683b0833a9ac44ab74fb
MD5 7dbda37496a6f43c8f80c8c5d972b102
BLAKE2b-256 ee821e3f2b80f14f81225f5c253d335af8e61830561fa6f229f8d3321b984ab3

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 304efac7cf463ca51feb0b80cb921a90937c260e8d9e22fd8b9153d430197608
MD5 95f31e9f793e1d17f84fc9288a78be12
BLAKE2b-256 853d9a53083029155f684e0d76213af8effd074c1be738599218e22ef1c319b6

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 184788ff9fccdc759cb594a2a152f63fad025fa6fcf6e7296a0beb0aaf2c7cdb
MD5 9ed97cf5f42eca108d5f889f0367c7e4
BLAKE2b-256 681daf7be9ac0ec7f2bd705ce6614c3b4d58516d9379b9a55a1258c464abc0c4

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5f159845d4751884de8bc71fa3a648c9c7cbada94e6b5cedf82903ce7cf3833e
MD5 e1bc6d0cc9845d5bc695f66c75f50c78
BLAKE2b-256 d4b3ac55afd68a5638fdff937b5ccbee7faa7fb878deb9a00dff28cb7969e89d

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 28542fff7238b743e413ef17f6092234e3c758e39b877672b345552257fa1604
MD5 0c5aa395f29826a50c7e88e88bc7d3fc
BLAKE2b-256 aef47e310afa6b224fdeb997d0054bbe32b7f4518a599603da3059f254cf55d3

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb9f1b893451221fbc9358c9350fbd8090c0982e6acd567b9a6de71d68a175a4
MD5 74c247e238c5612adb49acc8697bdcfb
BLAKE2b-256 6de3e45027dfb677b7eb333dbff4fe96a15f0074e78108502ec1682f830716fe

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c2ce364327590d2e0fbdf9f55b03f859d0258d47c6cb13a1d6605d3881f28752
MD5 5a90f50a5c70dbb2b7651e09ff141435
BLAKE2b-256 6a198e8058374face6a527b57cca8ed1d02effa936a06b0ed97d1abb2ae7e1d4

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d9f7db7d0c2110966f82c00c931f5e5c6c38d30d26fd8151e0a1828ecc0fc7a3
MD5 52d9e1b67d4ae33d27857cd0b585cdf9
BLAKE2b-256 35dc568e38d8bd7fe0ca80e1843431baf00bcf7dc6d1b97e55b502bab1d6629e

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f6b4ec22d6e928c7921635e363f1fd391415bcdedefbbaf3c89e0a14a1e80af
MD5 45fb73790ec34b728155e78c75dbcb3a
BLAKE2b-256 93743e990a2c4bd5054fb9f7e9369498143caecd882aa7b4d891c97ed369ff26

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7b34ca5f0907d90f1873fa7e6c3b32107089a29892ae2b67559e75477571ea86
MD5 2915da80fe734b8b5091f0c297262817
BLAKE2b-256 c6eca8b6a563ac04be447ce173c6a1a75564302ce960c276f87bcafad8423dc8

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7e5291cdcd18132e91c6c46cceeaef11a8e0fbd9cd0b5d71a166cda1c2942b78
MD5 23881b4957bc712e86550966e193a35f
BLAKE2b-256 022497e12dbf035dacd327d55e6a2f618cffeca5cdc1d08967e6510e140aff32

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06952b058c0a3c66324dbcb50e5d4ead475c7dbd78d8c8953f07b9deeb6d4893
MD5 a73ee4514fa6f2eb3667a9581fc94089
BLAKE2b-256 cce271d05c550c586b626923fb8875f32960ccdf2b4128c113fe0e27302347c3

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d4e7893953e99b139c4880631f0b362b0f4259b2d69eb31f3539aec6b6b1e94
MD5 b312a0733eeeaa6f192d0fa476b86aa9
BLAKE2b-256 1ce3332157dbe87c547b04fb2dd96f7a6bdc886bcc7bd2d1e490e7ecbe19b377

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cryptolith-0.1.12-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 507.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a94e10e478d08ab9ed483616854c764b81aa0fcb3915c661897b3b8c132d6fb5
MD5 8670fda60b9538584bf652e2cf22a323
BLAKE2b-256 3c6384a1e96a00683798d3d7228b4579bc93ec7f26cc84da6c451abee5a34ace

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f783ca290056922498505911394d6b9adaa7659a3cf587e181ba0719024afb50
MD5 5afd30eee943cc75197dc1a7b9d0bf49
BLAKE2b-256 9d4cde87ada24f902ead66b9ef4a6ba2b6e20b3f8ef1d14cad123f5b561c35f3

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d24a57faa616c78c06ee6bd288be35d8cd1798c7b7e8676df2fdb391c2159697
MD5 8996838dead8df286981fe1447c142a3
BLAKE2b-256 d16c41304891fd7e3e4b756ab13300bcd987adf272ebe826e3917f45e9155920

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d127f5e77cb71ad80e100c98ecc35cdbc46c5d37d3a7c6d462821e1923b03b13
MD5 89757a3cc2d9c6d565b6b1fa44c4e7b6
BLAKE2b-256 88142f752532e28975eacb23e7ab8d7b1f7cc9388180615d3c446c8c66210d50

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dda0b948756fb67e4dd87b244868711e01e291b49f6662dd4e2dea5144c7333
MD5 d034c54eb9a188a9ff24cbe15e636c5f
BLAKE2b-256 1de954f6925c59f3d841da98bcaa788b0ee5df0f382cb08d8bfec3c8bb91bf3f

See more details on using hashes here.

File details

Details for the file cryptolith-0.1.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cryptolith-0.1.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8b36cbc4a952027baba0efb7d9f9ddce9ef7bc2bc62e1c1bc0133a255c0ce16
MD5 aa58297d664dd3a92740d028a3549100
BLAKE2b-256 2a76fbb463d34720ff3be7d79fb04f680b3171c497a2b89457831c31a09ce7e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page