keyright (Python)
Python client SDK for Keyright — offline and online software-license validation with
full parity to the .NET reference client and the language-independent spec (docs/license-format.md).
Install
pip install keyright
Offline validation (full client)
from keyright import KeyrightClient, KeyrightOptions
client = KeyrightClient.initialize(KeyrightOptions(
product="nebula",
public_key_base64=EMBEDDED_PUBLIC_KEY, # base64 SubjectPublicKeyInfo
# optional: additional_public_keys_base64=[...], key rotation (FR-22)
# optional: revocation_list_json=..., offline revocation (FR-44)
))
info, source = client.validate()
if info.is_valid:
print(info.status_badge, info.entitlements.is_enabled("advanced"))
Features: license-source precedence (explicit string/file, KEYRIGHT_LICENSE env, config, default path),
node-locking (FR-31/32), entitlements (FR-60, is_enabled/get_limit), key rotation (FR-22), offline
revocation lists (FR-44), trials from first activation + clock-tamper detection (FR-50/52), and localized
messages (message(verdict, locale)).
Online activation
info = client.activate("LIC-....") # verifies + caches a signed lease; offline until the grace window ends
Stateless verify (no node-lock/state)
from keyright import verify, message
verdict = verify(license_dict, public_key_b64, expected_product="nebula") # "valid" | "expired" | ...
print(message(verdict, "fr"))
CLI
keyright-verify <license.json> <pubkey-b64-file> <now-iso> [product] [locale]
Release files for keyright 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| keyright-1.1.4.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| keyright-1.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.4 kB
Release files / keyright-1.1.4.tar.gz
| Download URL | keyright-1.1.4.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f462643f14306dc1cf17d2772a9aaa8fcfa6f96531f112e0fdd499e70e28791e
|
|
BLAKE2b-256 checksum How to use checksums |
7be1002faafe275f39df2e9473ee4013e5839605e07229c92dba434cf37c8336
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / keyright-1.1.4-py3-none-any.whl
| Download URL | keyright-1.1.4-py3-none-any.whl |
|---|---|
| Size | 25.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c07fc42181309024fc832a20bc03bfec11b142ca141d3c51ad83bd9e42aab1e9
|
|
BLAKE2b-256 checksum How to use checksums |
3bbf845d115e93cafb1e8712ab07e0b6c8fe3f8349675db9010b7a73d73dc20d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|