Skip to main content

MagicLock — Python Source Code Encryption & AI Model Protection

Encrypt Python source code and AI models — ship them freely, or lock them to the devices you authorize, fully offline.

Website · Documentation · Pricing · GitHub

🌍 Languages: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français

Python 3.9–3.14 Platforms Runtime network Free trial 6 languages

MagicLock is a commercial tool for Python source code protection, AI model encryption, and software licensing. One command turns your .py files and model weights into encrypted artifacts that still import and run like ordinary Python. By default they are freely distributable — any machine with magiclock installed runs them; one flag (--bind-machine) locks them to the machines you authorize instead. Verification and decryption happen fully offline: no dongle, no license server for you to run, no network calls at run time.

Why MagicLock

  • One command, zero code changes. magiclock protect app.py encrypts your source. No decorators, no annotations, no build-system surgery — every protected module passes the runtime gate before a single line executes.
  • AI models decrypt in memory, nowhere else. Weights are encrypted once — portable by default, or sealed per authorized device with --bind-machine. They unlock only at the moment of inference — never written to disk in plaintext; a machine-bound model's decryption secret never leaves the device (no server can hand it over, including MagicLock's).
  • Five protection levels, one flag apart. The default artifact is keyless and portable — ship it anywhere, it runs on any machine with magiclock installed (a convenience/obfuscation level). Add --passphrase or --emit-key for a shared secret, or --bind-machine to node-lock: every run then passes a five-step gate locally — authenticity, validity, device fingerprint, entitlement, freshness — with zero network connections. --bind-machine --passphrase combines both factors.
  • Two protection tiers. The convenience tier (.pya encrypted artifacts) needs no compiler. The compiled tier (magiclock build) compiles to native machine code — no plaintext Python ships — and with --bind-machine weaves a license gate into every module, so there's no single check to find and patch out.
  • Two delivery promises, per artifact. Default artifacts are forever offline — nothing can remotely stop them, ever. Opt-in --web-gate artifacts carry a cloud kill switch: flip a toggle in your portal and the app stops everywhere it is deployed, flip it back and it resumes — nothing to re-ship.
  • What you ship keeps working. Your subscription gates packaging new artifacts, not decryption. Apps already delivered to your users keep running even after your subscription ends.
  • Agent-ready. magiclock skill teaches any AI coding agent in your project — Claude Code included — to protect your code and models by itself.
  • Speaks your language. CLI and portal in English, 简体中文, 繁體中文, 日本語, 한국어, Français.

Quick start — encrypt Python code in two commands

pip install magiclock

# First run signs you in and activates this machine, then encrypts.
magiclock protect app.py     # -> app.pya  (encrypted artifact)
magiclock run app.pya        # runs exactly like `python app.py`

# Protect a whole project tree recursively:
magiclock protect src/

That's the entire workflow. .pya files are ordinary files — commit them, copy them, ship them however you already distribute your app. By default they run on any machine with magiclock installed — no account, no key, no lock (source-hiding convenience, not access control). Encrypt with --bind-machine and they decrypt to nothing on any machine you haven't authorized.

Encrypt AI models

magiclock protect-model models/face.onnx    # -> models/face.onnx.enc
import magiclock
import onnxruntime

magiclock.bootstrap()                                        # gate up — needed for --bind-machine envelopes; portable ones decrypt without it
model_bytes = magiclock.open_model("models/face.onnx.enc")   # plaintext exists in memory only
session = onnxruntime.InferenceSession(model_bytes)

open_model() doesn't care what's in the envelope — ONNX, PyTorch state dicts, raw weights, datasets, config bundles. Bytes in, bytes out, never on disk.

Compile Python to a native binary — the strongest tier

pip install "magiclock[build]"

magiclock build app.py                       # single native module (.so / .pyd)
magiclock build app.py --standalone          # self-contained app directory
magiclock build app.py --model weights.onnx  # bundle encrypted models into the build

magiclock build walks every .py module reachable from your entry point and compiles the result to native code — portable by default (runs on any machine), or with --bind-machine it also inserts a license-gate check into each module and locks the binary to this authorized machine. Either way the output needs no MagicLock install, no account, and no network on the machine that runs it.

Expiry, trials, and stronger locks

magiclock protect app.py --expires-in 30d       # artifact stops decrypting in 30 days
magiclock protect app.py --expires-at 2026-12-31
magiclock protect app.py --trial                # 48-hour self-destruct — for demos
magiclock protect app.py --passphrase           # portable, unlocked by a passphrase
magiclock protect app.py --emit-key             # portable, unlocked by a generated key
magiclock protect app.py --bind-machine         # node-locked: only this authorized machine decrypts
magiclock protect app.py --bind-machine --passphrase   # machine + passphrase two-factor lock

Remotely disable shipped software — the cloud kill switch (--web-gate)

magiclock protect app.py --web-gate

A cloud-controlled artifact checks for your approval before it runs. Flip the switch off in your portal and it stops at its next check — everywhere it is deployed. Flip it back on and it resumes. Offline it keeps running through a grace window you choose (1 hour to 30 days). Built for rentals, subscriptions, expiring pilots, and unpaid invoices.

Artifacts built without the flag stay forever offline and can never be remotely revoked. The choice is per artifact, not per account — mix both in one product line.

What's in this package

Import package Role
magiclock The CLI + the runtime: node-lock vault, .pya import hook, and the top-level API (magiclock.bootstrap() / magiclock.open_model())
magiclock_host Tier-neutral runtime SDK: the license gate, transport seam, encrypted-envelope codec
magiclock_channel Secure channel: Noise_NK handshake + wire framing
magiclock_build Native-binary build/packaging (strong protection tier) — the compiler dependency is the [build] extra

The full command set: activate / status / deactivate · protect / protect-model / run · build · artifacts · skill · completion. Authentication is folded into activate (device-authorization flow, or --with-token for CI); activate is idempotent — re-run it to refresh. deactivate frees the seat server-side by default. Run magiclock --help for everything.

Using an AI coding agent (Claude Code) to protect your project? Run magiclock skill once — it installs a project skill that teaches the agent how to pick a protection tier and drive protect/build correctly against your codebase.

Enable tab completion (bash/zsh):

magiclock completion bash >> ~/.bashrc    # or: source <(magiclock completion bash)
magiclock completion zsh >> ~/.zshrc      # or: source <(magiclock completion zsh)

Language

CLI messages are available in English, 简体中文, 繁體中文, 日本語, 한국어 and français. The language is picked automatically: set MAGICLOCK_LANG (e.g. zh-Hans, zh-TW, ja, fr) to force one; otherwise the language preference saved on your account is used after magiclock activate, falling back to your system locale, then English. (--help text stays English.)

FAQ

Do I need to be online to run protected apps? No. Packaging checks in online; running never does. Portable artifacts (the default) run on any machine with magiclock installed, and --bind-machine artifacts verify and decrypt fully offline on the authorized machine.

What happens when my subscription ends? Everything you already shipped keeps working — the subscription only gates packaging new artifacts, not decryption. Renew when you want to publish again.

Do my end users need a MagicLock account? No. You ship the protected app any way you like; your users need no account and no install (the compiled tier needs no MagicLock package at all on their machine).

Does my source code or model ever get uploaded? No. protect, protect-model, and build run locally. Models decrypt only in memory on the authorized device, and the decryption secret never leaves it — it is never uploaded or escrowed, and no server can hand it over.

Is the free trial really free? Yes — every capability, free for 48 hours on one device, no card. The clock starts when you first activate a machine, not at sign-up. When it ends, everything you built keeps working; you just can't package new artifacts until you subscribe.

Which Python versions and platforms are supported? Python 3.9–3.14 on macOS (Apple Silicon), Windows, and Linux.

How does MagicLock compare to PyArmor, SOURCEdefender, Nuitka, Cython or PyInstaller? Obfuscators transform code but still hand the whole program to whoever holds the file; compilers and packagers solve performance and distribution, not licensing. MagicLock combines encryption, node-locked licensing, and native compilation in one tool — see the detailed comparisons.


简体中文

MagicLock 是一款商业工具,用于 Python 源码加密AI 模型加密软件授权:一条命令把 .py 文件和模型权重变成加密产物,仍像普通 Python 一样导入运行——默认可自由分发(任何装有 magiclock 的机器都能运行),加 --bind-machine 则只在你授权的设备上运行。校验与解密完全离线:无加密狗、无需自建授权服务器、运行时零联网。订阅只影响打包新产物——已交付给用户的软件永久可用。CLI 与门户支持简体中文(MAGICLOCK_LANG=zh-Hans,或跟随账号语言偏好自动切换)。

pip install magiclock
magiclock protect app.py     # -> app.pya(加密产物)
magiclock run app.pya        # 与 `python app.py` 完全一致地运行

🌐 官网(中文) · 文档 · 定价(48 小时免费试用)

繁體中文

MagicLock 是一款商業工具,用於 Python 原始碼加密AI 模型加密軟體授權:一條命令把 .py 檔案與模型權重變成加密產物,仍像普通 Python 一樣匯入執行——預設可自由散佈(任何裝有 magiclock 的機器都能執行),加上 --bind-machine 則只在您授權的裝置上執行。驗證與解密完全離線:無加密狗、無需自建授權伺服器、執行時零連網。訂閱只影響封裝新產物——已交付給使用者的軟體永久可用。CLI 與入口網站支援繁體中文(MAGICLOCK_LANG=zh-Hant,或跟隨帳號語言偏好自動切換)。

pip install magiclock
magiclock protect app.py     # -> app.pya(加密產物)
magiclock run app.pya        # 與 `python app.py` 完全一致地執行

🌐 官網(繁體中文) · 文件 · 定價(48 小時免費試用)

日本語

MagicLock は Python ソースコード暗号化AI モデル暗号化ソフトウェアライセンスのための商用ツールです。コマンド一つで .py ファイルとモデルの重みを暗号化アーティファクトに変換 — 通常の Python と同じようにインポート・実行できます。デフォルトでは自由に配布可能(magiclock がインストールされたどのマシンでも動作)、--bind-machine を付ければ認可したデバイス上でのみ動作します。検証と復号は完全オフライン:ドングル不要、ライセンスサーバーの運用不要、実行時のネットワーク接続ゼロ。サブスクリプションは新規アーティファクトの作成のみに関わり、出荷済みのソフトウェアは永久に動き続けます。CLI とポータルは日本語に対応(MAGICLOCK_LANG=ja、またはアカウントの言語設定に自動追従)。

pip install magiclock
magiclock protect app.py     # -> app.pya(暗号化アーティファクト)
magiclock run app.pya        # `python app.py` と同じように実行

🌐 ウェブサイト(日本語) · ドキュメント · 料金(48 時間無料トライアル)

한국어

MagicLock 은 Python 소스 코드 암호화, AI 모델 암호화, 소프트웨어 라이선스를 위한 상용 도구입니다. 명령 하나로 .py 파일과 모델 가중치를 암호화 아티팩트로 변환 — 일반 Python 처럼 임포트하고 실행됩니다. 기본값은 자유 배포(magiclock 이 설치된 어느 기기에서나 실행)이며, --bind-machine 을 붙이면 승인한 기기에서만 동작합니다. 검증과 복호화는 완전 오프라인: 동글 불필요, 라이선스 서버 운영 불필요, 실행 시 네트워크 연결 없음. 구독은 새 아티팩트 패키징에만 관여하며, 이미 배포한 소프트웨어는 영구히 동작합니다. CLI 와 포털은 한국어를 지원합니다(MAGICLOCK_LANG=ko, 또는 계정 언어 설정 자동 적용).

pip install magiclock
magiclock protect app.py     # -> app.pya(암호화 아티팩트)
magiclock run app.pya        # `python app.py` 와 동일하게 실행

🌐 웹사이트(한국어) · 문서 · 가격(48시간 무료 체험)

Français

MagicLock est un outil commercial de chiffrement de code source Python, de chiffrement de modèles d'IA et de licences logicielles : une seule commande transforme vos fichiers .py et vos poids de modèles en artefacts chiffrés qui s'importent et s'exécutent comme du Python ordinaire — librement distribuables par défaut (toute machine où magiclock est installé les exécute), ou, avec --bind-machine, uniquement sur les appareils que vous autorisez. Vérification et déchiffrement entièrement hors ligne : pas de dongle, pas de serveur de licences à héberger, zéro connexion réseau à l'exécution. L'abonnement ne conditionne que l'empaquetage de nouveaux artefacts — les logiciels déjà livrés fonctionnent pour toujours. CLI et portail disponibles en français (MAGICLOCK_LANG=fr, ou automatiquement selon la préférence de langue du compte).

pip install magiclock
magiclock protect app.py     # -> app.pya (artefact chiffré)
magiclock run app.pya        # s'exécute exactement comme `python app.py`

🌐 Site web (français) · Documentation · Tarifs (essai gratuit de 48 h)


Links

MagicLock is commercial, proprietary software — see magiclock.net/pricing.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

magiclock-0.8.1-cp314-cp314-win_arm64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows ARM64

magiclock-0.8.1-cp314-cp314-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14Windows x86-64

magiclock-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp314-cp314-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

magiclock-0.8.1-cp313-cp313-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows ARM64

magiclock-0.8.1-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

magiclock-0.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

magiclock-0.8.1-cp312-cp312-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows ARM64

magiclock-0.8.1-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

magiclock-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

magiclock-0.8.1-cp311-cp311-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows ARM64

magiclock-0.8.1-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

magiclock-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

magiclock-0.8.1-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

magiclock-0.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

magiclock-0.8.1-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

magiclock-0.8.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

magiclock-0.8.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

magiclock-0.8.1-cp39-cp39-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file magiclock-0.8.1-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 177064ed0070edf3a6cd13f2f10ea2f59fcd52af213ef7a9a61a1b1ce7beeb26
MD5 c8cbf0c17262f738c72eb3a818b167f2
BLAKE2b-256 dac399333b8781e4af462a92fb27a3a2f51cd336e17252f657a98c7dbb73b03d

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a00316ab5b02b5e99567264bea2b2aa138b3781a3f4dd247103df80cffd297a5
MD5 a6dc26f7a61eb87315206ab71da7b5f1
BLAKE2b-256 0ac68e865bf7c4742fbea9332fa68e52a74fb85b0012b4e84d35254805604385

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 179859790df46b49ccd60584ff9c6b79af00d7532995e011f06c5ab185a5376a
MD5 f873f25eb83193d8a1d0f5148479e390
BLAKE2b-256 115810ab2b35b2954f2051d2f0b129a5551bdf75baea06e5c1fd4c457e1774f8

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c7a9a444e810fe895eb3c363205da22f6a5d2d069713b82afa0580ac0bc7154d
MD5 1e9e152e287e205e659840a6b849930e
BLAKE2b-256 0645fc98a1157e0342434f8a8e108ae36f5fd41989405cd70800a4a7974ddb87

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fd0e884709cf9714a536a18167f0622928c4ecee603fd8b3a492697927667c6
MD5 e418ae2b9ca533dd8d34aa75f572fe3e
BLAKE2b-256 b12dfc27f2781abba18f157d39414df31433d8a894bba950da6b69f2338945ba

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 f2d5ff24524ac75621a33f1be89ace28dbd0c5805799c2f4790130d07829533e
MD5 6c994b3d1c7986b254dce8c65e4ae65c
BLAKE2b-256 fb0cfb1effddb5529d3752992efa945b649978bc5e5d19566492ab3c98e5d8a1

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 76b3e500f67f642fe9d8ad6f1c372ddd490b584476dc6afabf2eba6c5bb5667a
MD5 3000faa6be29b5d851e8a6aa66d951b3
BLAKE2b-256 8f59e751a0fad075a7bb1a33b23fc0e7ff4f2ca6c6aae7b1010984e1c3c28fa5

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69976e546fa2eb9824011dbe725c46012a86ac69e4cf72fb190586651042f7bf
MD5 f4a105e0003493e48950281b7371dd89
BLAKE2b-256 359a71502cb83d0f7ee97f3f1cf05000b93f6b05651ee82273433a06b68a948a

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4191548ee2f87e07a18338402394607a7c75e175e1e74a03149c68707afa6944
MD5 f41462ce18b284ed3c4c4439c8be8d75
BLAKE2b-256 6d3b26b82c4d0bb6216fb78bfc045e6e7184d80da3f12ba50b31e8cb2f42503d

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a579125b90ece8649c48541b36835d497a3722affda0878fef765d253fda5418
MD5 e2fc4b19fd082a0a01dee6fc2ce72699
BLAKE2b-256 11ba7a5a2debe9f40e5224033a0ba60ca848ca42803801c6b345c11d1b4fecac

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c2fc8380474ab575199ab76335fee930ea9a74232322d8e42e71db58df0643cf
MD5 47e68c2080952b6d3c8133878a45af55
BLAKE2b-256 007331d3fead5593b25df0eea5784e0be32cfdda7872eb76027bfc5da91a38fa

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e25e344f182f462eaaa07b3bc425ecf0528ce8cb3c46631575a519516d613b05
MD5 7d5acf01ed91f25b80882bb679a5ccb7
BLAKE2b-256 f2aa7245964bf714351c8bf757a43e1463ea6140138a6fe33b3a6723bd3c785e

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2a9a12fa1e87ca39873e18ed84cb58f8e35e5332b4a4c95c41dc53b15af6209
MD5 9be1217dfb921e93f03a5a71a7c62c39
BLAKE2b-256 5a8d167aee37a1b1423a8bfdfa2367f5b793e22315949b42e1a7616447955137

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4235e1fc8f6257633d91d53ed1aad2181dd8f65b0eba774f48d578244d208a5e
MD5 ec20b8c95d963e7acd8620cc262ade62
BLAKE2b-256 a75819c6e7ba0e8506a5bf1d5f8bdecf3350a05ee7eeb47a7833d1594551b251

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e81d1085aa39276b3cb4bb7c034ac43973709c688d21b8e55d738e8ea7b067f
MD5 e2bcd54e001b4dc10c35ee90be12ccf5
BLAKE2b-256 0a3110d77eea3e93c1aefb36e34cedee014b4e1525023d930c71aa625c84d377

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 6556468035240bcda69fe54e924042d20fdb4c4060a3d2020cb832bccdf742ac
MD5 085791bd605f879912866d54436ff529
BLAKE2b-256 45d9d8c44ebac505def9a29f0b28129c699aac606b445becbc0de1a584be2cf2

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc106bbd172f962c474eebc8f5670d2bf64a56ab3eadc1a1d8a246258264ac65
MD5 f7afecc35dd54b37f53fafd2c220feab
BLAKE2b-256 e773c53397205b8c24ce4b17829c5b96f4a1e472d3be0363881de70d12acbf0b

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a81389ea5bd7249aa974ca9e90f4295c3b35c51081ea2b4701f8c8cab266c8a
MD5 52757ab1e8fec071f2ff44bd202cf3ef
BLAKE2b-256 45929e3fd897aade0ac675d21e558ac912f494bcfa2db7a35f118c19171da7e3

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2fd010c5df4b4bb80b4c075823ddbca87b46f03af39e0ce8cd8f90a184dd2d39
MD5 4b81142249ff88d0ea596463033d6c26
BLAKE2b-256 b94807670b09b891f8e045c76b38da7aa7ae245d55fd66c6d58f2f0187310a75

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de3d0765ca14d689a7a4c580c6a2d0c98dcca2a22ed945157056875f1f0575d5
MD5 6df24e3e972bf53cb9d2c14e095d7567
BLAKE2b-256 5021271f68c8c1de255e6b554455a96288e97599a0189bf441ca7e5fe2a5f411

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9be0babfb11dc1bf1698f92b68e659e8f3f0340c87d444655c0025f58f15a67b
MD5 faefb1a246096f78b7f3c7e96a69a90d
BLAKE2b-256 67cf80b7e14d0476a1fdc35280b1c9e178322efea9401f851edbad130d52f895

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2c99923d4bf32eab10436a85fecd51c5c90231aca19eb5597237ff1e28640ea
MD5 9d34d8af7f9e99506ce561e2e6adae87
BLAKE2b-256 6a73a47c1d87d92c4b37da220b677b0f6ef2e8ec5a96b92441d041fa402f783f

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 52b76bcbad091d97edc5004a79a99b591f9d2b7a94887071d2fa5a9207e82a37
MD5 4923370b78f017cfcdd19115b6168e8e
BLAKE2b-256 6d5f18161bf9b3d8d76ed4d14cfc650fea1ad878efae209d1eb9bf518a5a81e4

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c6217ac6b43edd91691d218052093b82c50178c4fa5893c5c7b765c39474bb4
MD5 70aa44c02d8b3654ad3b7453c66ef8a3
BLAKE2b-256 4620264cac55efc08ea17fcc64ab4baeadd1b9e2eb47bc071dde816eb5db6342

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: magiclock-0.8.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for magiclock-0.8.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 efb129419b5b0d4787809ff51e1e736351ef3b8a9fafaa9dcb076d99855aec02
MD5 057d5903dae53b727687e71f5e2b6374
BLAKE2b-256 bb2477f5bd5658609cfb3ba78c9ca3e52e31389e07596b53dc19f419f3a0fcdb

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb0d8f0066b348fa9598b721c1b24f29adc20f87e11cb5d83d7e9892a98b714b
MD5 eb7398c18eb5d8121ad01a2ab4191538
BLAKE2b-256 66442ab4e0fad55511a48b6d14155eb5f31e151856058445ecc53f69b6dd38a9

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e8373bb03a24f98693e769576a839d2fc58333e143f682abb6097383df3f83a8
MD5 c7bb31fc8b0e1348b15151ea4090d2a1
BLAKE2b-256 d53aca431ea4feffc3893165bb89211c28e6820f9a48b717ff5a21c17a117d66

See more details on using hashes here.

File details

Details for the file magiclock-0.8.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for magiclock-0.8.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 965d62f6e2a51a27365ae49047403eab700e8d7f6a1a7c3efb313e6b99c9d545
MD5 58bb48fe851c4256fd499f971c87e035
BLAKE2b-256 40f75ee63f881c31335fc00c3087149c0408b02a7c7eff51af4da0dbb1c1d1b0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.1 This release

28 files

Supported by

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