License validation for Phantom Licensing System
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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-2.5.0.tar.gz.
File metadata
- Download URL: novacore-2.5.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feae4727d2f0864f806dee7bc7a442b6b163d5aeee31ebffddd1015cb966d0d0
|
|
| MD5 |
e9a9c3d94d32fb115b6b98c20ebcc74a
|
|
| BLAKE2b-256 |
23118c242facc1541268f2171c601afb5124c91c220a6edf5b71acc42e6fd117
|
File details
Details for the file novacore-2.5.0-py3-none-any.whl.
File metadata
- Download URL: novacore-2.5.0-py3-none-any.whl
- Upload date:
- Size: 11.5 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 |
7c5609f0253882ac5db2f0743b6c8b3729c86c767ae4ea400487074aa1a24700
|
|
| MD5 |
2bbb77a9607e6fe757051dceb65382c2
|
|
| BLAKE2b-256 |
ade882b2832e043b028c76c5ac4a2bdf07d3ec4d1537f6e3d21c23bb96c085dd
|