Python wrapper for license-management-core (License-Management.com client)
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 hymmalm-0.1.4.tar.gz.
File metadata
- Download URL: hymmalm-0.1.4.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57e345332a5fe157a66a0a9edd361a0ce1e6f4429785eb21a6044376f52772e7
|
|
| MD5 |
6d01023ed9d923d55d90e59828f35d4a
|
|
| BLAKE2b-256 |
ad181973ebe85d0501dbc21ea16e1ff3f0a95c4b5814643c3a2a6a9441259ec9
|
File details
Details for the file hymmalm-0.1.4-py3-none-win_amd64.whl.
File metadata
- Download URL: hymmalm-0.1.4-py3-none-win_amd64.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c254bee39732aa239309baffd3cf557072ae8aba9191fd16ddf3bbbba96c7e0f
|
|
| MD5 |
1967cbe728a974a6b52f2342da00a78b
|
|
| BLAKE2b-256 |
06eedd8961ff45c849c6f0a2eb2867fd12cfb904d559a987b477b9ef4ed8138f
|
File details
Details for the file hymmalm-0.1.4-py3-none-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: hymmalm-0.1.4-py3-none-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 49.2 kB
- Tags: Python 3, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9576ac1b4d9b6efed872a3736507b073f534808dc1274a6fd6527a06ba63a605
|
|
| MD5 |
aadaa6b091aa594f35263dce8d02d3f7
|
|
| BLAKE2b-256 |
30d6f6b7ca6dc079c1dfdc3e2d88d9a7e6b765698c8ff44e6630bc76997819df
|
File details
Details for the file hymmalm-0.1.4-py3-none-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: hymmalm-0.1.4-py3-none-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 48.1 kB
- Tags: Python 3, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b73753e6d54fad3a0df6d92948ce94f5d823ae7a82828e36208868b26fb1851
|
|
| MD5 |
10482f6d20a63906fb50682ad18a5183
|
|
| BLAKE2b-256 |
7d46240340602f3af576f478c61edd766e888b34fd7516fc876feb66c3324d0d
|
File details
Details for the file hymmalm-0.1.4-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: hymmalm-0.1.4-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8556e855e534012aacbaa02abfbcc10e7e1db1253fdea4008239b97dc8bef3f
|
|
| MD5 |
47cd6de1031af53d88505c58be176dbf
|
|
| BLAKE2b-256 |
1ac5230f2f64ec35e91efa400bd45c18483c1ffa8c5f0d8ad35a3fb04f7403dd
|
File details
Details for the file hymmalm-0.1.4-py3-none-macosx_10_15_x86_64.whl.
File metadata
- Download URL: hymmalm-0.1.4-py3-none-macosx_10_15_x86_64.whl
- Upload date:
- Size: 40.3 kB
- Tags: Python 3, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86bea98603933d30c677fa7f13640ec40a2d3ecb390dde9af96f2c0cf40cdd44
|
|
| MD5 |
fec79c76e0f253288d1f627e2d6bec76
|
|
| BLAKE2b-256 |
df11d0bab1b242849f3a65831a60b6b9ab210fbf13e721ae4f9c02506ea4064f
|