Skip to main content

hymmalm — Python wrapper

Python (ctypes) binding for license-management-core. All licensing behavior — JWS verification, status rules, machine fingerprint, REST flow, retry policy, clock-tamper resistance — lives in the native hymmalm library; this package only marshals. See the repository root README for the architecture.

Usage

from hymmalm import LicenseClient, LicenseStatus

client = LicenseClient(
    product_id="PRD_01KWWPEPM0N070BDAHJ7G09RGV",
    client_api_key="PUB_...",                    # never a MST_ key
    jwks_json=open("signingkeys.json").read(),   # GET /api/signingkeys.json
    license_path="~/.myapp/license.lic",
)

status = client.check()                          # trial bootstrap on first run
if status == LicenseStatus.INVALID_TRIAL:
    client.activate(input("Receipt code: "))

Offline verification only (no network, e.g. checking a provisioned file):

import hymmalm
status = hymmalm.verify(jws_string, jwks_json)

Installing

pip install hymmalm

Release wheels bundle the native library per platform (manylinux x86_64 / aarch64, macOS arm64 / x86_64, Windows x64) — nothing else to install.

From a source checkout (or the sdist), build the core once (cmake -S . -B build && cmake --build build at the repo root) and either place libhymmalm.so / libhymmalm.dylib / hymmalm.dll next to the hymmalm package, on the loader path, or point HYMMALM_LIB at the full path.

Publishing

CI publishes to PyPI on v* release tags (the pypi job): it drops each platform's freshly built library into the package, builds a py3-none-<platform> wheel per OS/arch (linux wheels retagged and vetted by auditwheel), plus a pure sdist, and uploads with PYPI_API_TOKEN.

Tests

cd wrappers/python
HYMMALM_LIB=$PWD/../../build/libhymmalm.so python -m unittest discover -s tests -v

tests/test_vectors.py replays the same signed vectors as the C suite; tests/test_flow.py runs the full client flow (trial → activate → offline cache → deactivate, plus error classification) against a local mock API.

Release files for hymmalm 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hymmalm 0.1.5
File Size Uploaded
hymmalm-0.1.5.tar.gz 9.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for hymmalm 0.1.5
File
hymmalm-0.1.5-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
hymmalm-0.1.5-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details
hymmalm-0.1.5-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
hymmalm-0.1.5-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
hymmalm-0.1.5-py3-none-macosx_10_15_x86_64.whl Python 3 none macOS 10.15+ x86-64 Details

Total release size: 230.6 kB

Release files / hymmalm-0.1.5.tar.gz

Download URL hymmalm-0.1.5.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b2a1565fd59fc77f3ffd91dedcc52f9f8613aadd8d148edecabd7829eb92dba3
BLAKE2b-256 checksum
How to use checksums
a499e52a9e6b38eb342c101aa4602e8a783bfa1ae14b7898dedf390e30cf9ca5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / hymmalm-0.1.5-py3-none-win_amd64.whl

Download URL hymmalm-0.1.5-py3-none-win_amd64.whl
Size 43.7 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
9db0e41de69e73017c59f72c41c36f91490432d8d18729a074366643d15e263e
BLAKE2b-256 checksum
How to use checksums
2f9bdf34386bfb6e08cd77823d6894f479ed34a18db843e0f75be52facaa5038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / hymmalm-0.1.5-py3-none-manylinux_2_34_x86_64.whl

Download URL hymmalm-0.1.5-py3-none-manylinux_2_34_x86_64.whl
Size 49.8 kB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
13c2e05c9038d38d59d854b142e93d9beee7d52def83cb5c5e61a1a02871e7e5
BLAKE2b-256 checksum
How to use checksums
9360b056002f9788bddfdbbd5cb042fbb5f683b2c882bb2844309f080550a143
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / hymmalm-0.1.5-py3-none-manylinux_2_34_aarch64.whl

Download URL hymmalm-0.1.5-py3-none-manylinux_2_34_aarch64.whl
Size 48.5 kB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
e544d0eea967c87291193546ee7984782811f4b2e72df267197d857980f0a1b9
BLAKE2b-256 checksum
How to use checksums
d012058ca6c21847d9fdbbe891b335e4f5a88843923ab7f4dd9538f9f8e5b2e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / hymmalm-0.1.5-py3-none-macosx_11_0_arm64.whl

Download URL hymmalm-0.1.5-py3-none-macosx_11_0_arm64.whl
Size 38.8 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ab147367b85a4efd38071374529e0ae5adf8ec638bd2e547823cf8a3eea1b27
BLAKE2b-256 checksum
How to use checksums
b912b295e86671e6bcc3048d717b868895822efef461e1a196ea1a85d4a30b1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / hymmalm-0.1.5-py3-none-macosx_10_15_x86_64.whl

Download URL hymmalm-0.1.5-py3-none-macosx_10_15_x86_64.whl
Size 40.9 kB
Tags Python 3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
3be89d34d6a4e394b378aa147075f8804bae8940ef6c79082e8be7469027e158
BLAKE2b-256 checksum
How to use checksums
1abbaabaeb1f723bcac8ebaacdb1d195392eb6edf4191a462a6b9c4881837310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.1.5 This release

6 release files

0.1.4

6 release files

0.1.3

6 release files

0.1.2

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page