Skip to main content

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+
  • requests package [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

novacore-2.5.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novacore-2.5.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

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

Hashes for novacore-2.5.0.tar.gz
Algorithm Hash digest
SHA256 feae4727d2f0864f806dee7bc7a442b6b163d5aeee31ebffddd1015cb966d0d0
MD5 e9a9c3d94d32fb115b6b98c20ebcc74a
BLAKE2b-256 23118c242facc1541268f2171c601afb5124c91c220a6edf5b71acc42e6fd117

See more details on using hashes here.

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

Hashes for novacore-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c5609f0253882ac5db2f0743b6c8b3729c86c767ae4ea400487074aa1a24700
MD5 2bbb77a9607e6fe757051dceb65382c2
BLAKE2b-256 ade882b2832e043b028c76c5ac4a2bdf07d3ec4d1537f6e3d21c23bb96c085dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page