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
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.pyencrypts 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
magiclockinstalled (a convenience/obfuscation level). Add--passphraseor--emit-keyfor a shared secret, or--bind-machineto node-lock: every run then passes a five-step gate locally — authenticity, validity, device fingerprint, entitlement, freshness — with zero network connections.--bind-machine --passphrasecombines both factors. - Two protection tiers. The convenience tier (
.pyaencrypted artifacts) needs no compiler. The compiled tier (magiclock build) compiles to native machine code — no plaintext Python ships — and with--bind-machineweaves 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-gateartifacts 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 skillteaches 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
- 🌐 Website: magiclock.net
- 📚 Documentation: magiclock.net/docs
- 💰 Pricing (48 h free trial, subscriptions, Lifetime): magiclock.net/pricing
- 🐛 Bugs & questions: github.com/ruisv/magiclock/issues
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
177064ed0070edf3a6cd13f2f10ea2f59fcd52af213ef7a9a61a1b1ce7beeb26
|
|
| MD5 |
c8cbf0c17262f738c72eb3a818b167f2
|
|
| BLAKE2b-256 |
dac399333b8781e4af462a92fb27a3a2f51cd336e17252f657a98c7dbb73b03d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a00316ab5b02b5e99567264bea2b2aa138b3781a3f4dd247103df80cffd297a5
|
|
| MD5 |
a6dc26f7a61eb87315206ab71da7b5f1
|
|
| BLAKE2b-256 |
0ac68e865bf7c4742fbea9332fa68e52a74fb85b0012b4e84d35254805604385
|
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
- Download URL: magiclock-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
179859790df46b49ccd60584ff9c6b79af00d7532995e011f06c5ab185a5376a
|
|
| MD5 |
f873f25eb83193d8a1d0f5148479e390
|
|
| BLAKE2b-256 |
115810ab2b35b2954f2051d2f0b129a5551bdf75baea06e5c1fd4c457e1774f8
|
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
- Download URL: magiclock-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7a9a444e810fe895eb3c363205da22f6a5d2d069713b82afa0580ac0bc7154d
|
|
| MD5 |
1e9e152e287e205e659840a6b849930e
|
|
| BLAKE2b-256 |
0645fc98a1157e0342434f8a8e108ae36f5fd41989405cd70800a4a7974ddb87
|
File details
Details for the file magiclock-0.8.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fd0e884709cf9714a536a18167f0622928c4ecee603fd8b3a492697927667c6
|
|
| MD5 |
e418ae2b9ca533dd8d34aa75f572fe3e
|
|
| BLAKE2b-256 |
b12dfc27f2781abba18f157d39414df31433d8a894bba950da6b69f2338945ba
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2d5ff24524ac75621a33f1be89ace28dbd0c5805799c2f4790130d07829533e
|
|
| MD5 |
6c994b3d1c7986b254dce8c65e4ae65c
|
|
| BLAKE2b-256 |
fb0cfb1effddb5529d3752992efa945b649978bc5e5d19566492ab3c98e5d8a1
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b3e500f67f642fe9d8ad6f1c372ddd490b584476dc6afabf2eba6c5bb5667a
|
|
| MD5 |
3000faa6be29b5d851e8a6aa66d951b3
|
|
| BLAKE2b-256 |
8f59e751a0fad075a7bb1a33b23fc0e7ff4f2ca6c6aae7b1010984e1c3c28fa5
|
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
- Download URL: magiclock-0.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69976e546fa2eb9824011dbe725c46012a86ac69e4cf72fb190586651042f7bf
|
|
| MD5 |
f4a105e0003493e48950281b7371dd89
|
|
| BLAKE2b-256 |
359a71502cb83d0f7ee97f3f1cf05000b93f6b05651ee82273433a06b68a948a
|
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
- Download URL: magiclock-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4191548ee2f87e07a18338402394607a7c75e175e1e74a03149c68707afa6944
|
|
| MD5 |
f41462ce18b284ed3c4c4439c8be8d75
|
|
| BLAKE2b-256 |
6d3b26b82c4d0bb6216fb78bfc045e6e7184d80da3f12ba50b31e8cb2f42503d
|
File details
Details for the file magiclock-0.8.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a579125b90ece8649c48541b36835d497a3722affda0878fef765d253fda5418
|
|
| MD5 |
e2fc4b19fd082a0a01dee6fc2ce72699
|
|
| BLAKE2b-256 |
11ba7a5a2debe9f40e5224033a0ba60ca848ca42803801c6b345c11d1b4fecac
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2fc8380474ab575199ab76335fee930ea9a74232322d8e42e71db58df0643cf
|
|
| MD5 |
47e68c2080952b6d3c8133878a45af55
|
|
| BLAKE2b-256 |
007331d3fead5593b25df0eea5784e0be32cfdda7872eb76027bfc5da91a38fa
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e25e344f182f462eaaa07b3bc425ecf0528ce8cb3c46631575a519516d613b05
|
|
| MD5 |
7d5acf01ed91f25b80882bb679a5ccb7
|
|
| BLAKE2b-256 |
f2aa7245964bf714351c8bf757a43e1463ea6140138a6fe33b3a6723bd3c785e
|
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
- Download URL: magiclock-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2a9a12fa1e87ca39873e18ed84cb58f8e35e5332b4a4c95c41dc53b15af6209
|
|
| MD5 |
9be1217dfb921e93f03a5a71a7c62c39
|
|
| BLAKE2b-256 |
5a8d167aee37a1b1423a8bfdfa2367f5b793e22315949b42e1a7616447955137
|
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
- Download URL: magiclock-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4235e1fc8f6257633d91d53ed1aad2181dd8f65b0eba774f48d578244d208a5e
|
|
| MD5 |
ec20b8c95d963e7acd8620cc262ade62
|
|
| BLAKE2b-256 |
a75819c6e7ba0e8506a5bf1d5f8bdecf3350a05ee7eeb47a7833d1594551b251
|
File details
Details for the file magiclock-0.8.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e81d1085aa39276b3cb4bb7c034ac43973709c688d21b8e55d738e8ea7b067f
|
|
| MD5 |
e2bcd54e001b4dc10c35ee90be12ccf5
|
|
| BLAKE2b-256 |
0a3110d77eea3e93c1aefb36e34cedee014b4e1525023d930c71aa625c84d377
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6556468035240bcda69fe54e924042d20fdb4c4060a3d2020cb832bccdf742ac
|
|
| MD5 |
085791bd605f879912866d54436ff529
|
|
| BLAKE2b-256 |
45d9d8c44ebac505def9a29f0b28129c699aac606b445becbc0de1a584be2cf2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc106bbd172f962c474eebc8f5670d2bf64a56ab3eadc1a1d8a246258264ac65
|
|
| MD5 |
f7afecc35dd54b37f53fafd2c220feab
|
|
| BLAKE2b-256 |
e773c53397205b8c24ce4b17829c5b96f4a1e472d3be0363881de70d12acbf0b
|
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
- Download URL: magiclock-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a81389ea5bd7249aa974ca9e90f4295c3b35c51081ea2b4701f8c8cab266c8a
|
|
| MD5 |
52757ab1e8fec071f2ff44bd202cf3ef
|
|
| BLAKE2b-256 |
45929e3fd897aade0ac675d21e558ac912f494bcfa2db7a35f118c19171da7e3
|
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
- Download URL: magiclock-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fd010c5df4b4bb80b4c075823ddbca87b46f03af39e0ce8cd8f90a184dd2d39
|
|
| MD5 |
4b81142249ff88d0ea596463033d6c26
|
|
| BLAKE2b-256 |
b94807670b09b891f8e045c76b38da7aa7ae245d55fd66c6d58f2f0187310a75
|
File details
Details for the file magiclock-0.8.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3d0765ca14d689a7a4c580c6a2d0c98dcca2a22ed945157056875f1f0575d5
|
|
| MD5 |
6df24e3e972bf53cb9d2c14e095d7567
|
|
| BLAKE2b-256 |
5021271f68c8c1de255e6b554455a96288e97599a0189bf441ca7e5fe2a5f411
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9be0babfb11dc1bf1698f92b68e659e8f3f0340c87d444655c0025f58f15a67b
|
|
| MD5 |
faefb1a246096f78b7f3c7e96a69a90d
|
|
| BLAKE2b-256 |
67cf80b7e14d0476a1fdc35280b1c9e178322efea9401f851edbad130d52f895
|
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
- Download URL: magiclock-0.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2c99923d4bf32eab10436a85fecd51c5c90231aca19eb5597237ff1e28640ea
|
|
| MD5 |
9d34d8af7f9e99506ce561e2e6adae87
|
|
| BLAKE2b-256 |
6a73a47c1d87d92c4b37da220b677b0f6ef2e8ec5a96b92441d041fa402f783f
|
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
- Download URL: magiclock-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52b76bcbad091d97edc5004a79a99b591f9d2b7a94887071d2fa5a9207e82a37
|
|
| MD5 |
4923370b78f017cfcdd19115b6168e8e
|
|
| BLAKE2b-256 |
6d5f18161bf9b3d8d76ed4d14cfc650fea1ad878efae209d1eb9bf518a5a81e4
|
File details
Details for the file magiclock-0.8.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c6217ac6b43edd91691d218052093b82c50178c4fa5893c5c7b765c39474bb4
|
|
| MD5 |
70aa44c02d8b3654ad3b7453c66ef8a3
|
|
| BLAKE2b-256 |
4620264cac55efc08ea17fcc64ab4baeadd1b9e2eb47bc071dde816eb5db6342
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efb129419b5b0d4787809ff51e1e736351ef3b8a9fafaa9dcb076d99855aec02
|
|
| MD5 |
057d5903dae53b727687e71f5e2b6374
|
|
| BLAKE2b-256 |
bb2477f5bd5658609cfb3ba78c9ca3e52e31389e07596b53dc19f419f3a0fcdb
|
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
- Download URL: magiclock-0.8.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb0d8f0066b348fa9598b721c1b24f29adc20f87e11cb5d83d7e9892a98b714b
|
|
| MD5 |
eb7398c18eb5d8121ad01a2ab4191538
|
|
| BLAKE2b-256 |
66442ab4e0fad55511a48b6d14155eb5f31e151856058445ecc53f69b6dd38a9
|
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
- Download URL: magiclock-0.8.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8373bb03a24f98693e769576a839d2fc58333e143f682abb6097383df3f83a8
|
|
| MD5 |
c7bb31fc8b0e1348b15151ea4090d2a1
|
|
| BLAKE2b-256 |
d53aca431ea4feffc3893165bb89211c28e6820f9a48b717ff5a21c17a117d66
|
File details
Details for the file magiclock-0.8.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: magiclock-0.8.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
965d62f6e2a51a27365ae49047403eab700e8d7f6a1a7c3efb313e6b99c9d545
|
|
| MD5 |
58bb48fe851c4256fd499f971c87e035
|
|
| BLAKE2b-256 |
40f75ee63f881c31335fc00c3087149c0408b02a7c7eff51af4da0dbb1c1d1b0
|