License validation for Phantom Licensing System
Project description
🧩 Python — NovaCore LicenseCheck
NovaCore LicenseCheck is a lightweight module or CLI utility for license verification.
It handles all Phantom API response formats and allows silent or embedded use.
🧠 Features
- ✅ Phantom Licenses API compatible
- 🧾 POST verification using header
LICENSE_KEY - 🔁 Auto-retry with JSON body on HTTP 500
- 🧩 Skip logic for optional fields (
discord_id,product.name) - 🧮 Deterministic exit codes (0–5) for automation
⚙ Implementation
Dependencies
- Python 3.8+
requestspackage [Auto Installed]
pip install novacore
Code
from novacore import login, login_silent, login_noexit
import sys
# Call LicenseCheck normally (config file at config/config.json)
try:
login()
except Exception as e:
print("Something went wrong, Here's a preview for developers:"+"\n"+e)
sys.exit(1)
# Call LicenseCheck silently so user doesn't know it's called unless Mismatches found (config file at config/config.json)
try:
login_silent()
except Exception as e:
print("Something went wrong, Here's a preview for developers:"+"\n"+e)
sys.exit(1)
# Call LicenseCheck with no exit so even if any mismatches are found user does/can see logs but program is not exitted (config file at config/config.json)
try:
login_noexit()
except Exception as e:
print("Something went wrong, Here's a preview for developers:"+"\n"+e)
sys.exit(1)
# If you want to get license info from a json file not located at config/config.json but rather located at "path" then use
login(path)
login_noexit(path)
login_silent(path)
# It will exit (not the noexit one) if mismatches found and will continue running normally if not
Config
{
"license": {
"url": "https://your_domain/api/license",
"key": "license_key",
"discord_id": "discord_ID___optional",
"product_name": "product_name___optional"
}
}
💡 Exit Codes
Code - Meaning
- 0 - ✅ Success
- 2 - ⚙️ Config error
- 3 - 🌐 API/network error
- 4 - ❌ Mismatch(es) found
- 5 - 🔑 Invalid license key
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
novacore_pl-1.0.5.tar.gz
(12.7 kB
view details)
Built Distribution
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 novacore_pl-1.0.5.tar.gz.
File metadata
- Download URL: novacore_pl-1.0.5.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c7f50735655acaf123df1bdb1235121e15b4e30446f6ebbad5db559f28de6d1
|
|
| MD5 |
4e334d11f6fabd6d064318a19178d39b
|
|
| BLAKE2b-256 |
67094d00c5a4341ac02fd2386c4b386c458695e49cee76a067f16623ce4709ce
|
File details
Details for the file novacore_pl-1.0.5-py3-none-any.whl.
File metadata
- Download URL: novacore_pl-1.0.5-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
067fa65c169238e25abcf676399072cf32775c41ec5f4c82ff55950700e6cfef
|
|
| MD5 |
9be9b441e4ff1da9bce7d26fdb96a68d
|
|
| BLAKE2b-256 |
8bd34a4c506be9542d92051fb03c48a4bc1b0d9eb0098a1821061efbb4dc24dd
|