Skip to main content

AuthGuard Python SDK

Python SDK for the AuthGuard v2 API with NaCl box encryption.

Features

  • Full v2 API support with encrypted request/response bodies
  • NaCl box encryption (Curve25519 + XSalsa20-Poly1305)
  • DPoP (Proof-of-Possession) token support
  • Automatic token refresh
  • Device registration and session management
  • SDK secret authentication (required)
  • Anti-debug report endpoints

Installation

pip install authguard-py

Or install from source:

pip install -r requirements.txt

Quick Start

from authguard import AuthGuardClient

# Initialize client
client = AuthGuardClient(
    app_id="your-app-id",
    owner_id="developer-user-id",
    sdk_secret="your-sdk-secret"
)

# Initialize session and device
client.init_session()
client.ensure_device()

# Login
result = client.login("username", "password")
if result.ok:
    print("Logged in!")
    print(f"User: {result.data.get('username')}")

# Or use license key
result = client.license("XXXX-XXXX-XXXX-XXXX")

# Check session validity
result = client.check()

# Get app variable
result = client.get_var("my_variable")

# Send heartbeat
result = client.heartbeat()

# Log event
client.log("user_action", {"detail": "something happened"})

Configuration Options

client = AuthGuardClient(
    app_id="your-app-id",
    owner_id="developer-user-id",# Developer ID for SDK auth (required)
    sdk_secret="your-sdk-secret",# SDK secret for developer auth (required)
    host="api.evora.lol",       # API host (default: api.evora.lol)
    port=443,                    # API port (default: 443)
    use_https=True,              # Use HTTPS (default: True)
    hwid=None,                   # Custom HWID (auto-generated if None)
)

API Reference

Session Management

  • init_session() - Initialize app session
  • ensure_device() - Register/refresh device credentials
  • ensure_access_token() - Get valid access token (auto-refreshes)

Authentication

  • login(username, password) - Authenticate with username/password
  • register(username, password, email=None, key=None) - Create new account
  • license(license_key) - Authenticate with license key
  • upgrade(license_key) - Upgrade account with license key

Session Operations

  • check() - Verify session is valid
  • heartbeat() - Send heartbeat (keep session alive)
  • get_var(name) - Get application variable
  • log(action, data=None) - Log an event

Advanced

  • call_protected(path, data) - Make authenticated API call
  • call_bootstrap(path, data) - Make bootstrap API call (no auth)

Security Notes

  • All request bodies are encrypted on the wire using NaCl box
  • Device credentials are stored locally (consider encrypting at rest)
  • The SDK automatically handles token refresh
  • DPoP tokens prove possession of device key

License

MIT

Metadata

Release files for authguard-py 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for authguard-py 1.0.4
File Size Uploaded
authguard_py-1.0.4.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for authguard-py 1.0.4
File Interpreter ABI Platform
authguard_py-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / authguard_py-1.0.4.tar.gz

Download URL authguard_py-1.0.4.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b9dc3c8f1e9179e68bca9ccaadadfbac3e12b8e48f84b4980f3ec24db330c0d3
BLAKE2b-256 checksum
How to use checksums
e7e1d6d88499fbd04dfdac6eff54924734c16460d913d8fa46afb9bd2f799022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Release files / authguard_py-1.0.4-py3-none-any.whl

Download URL authguard_py-1.0.4-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f57bbdb24e68772458bbd6852b4dd9bf6481be765181e7f35c55ed80f57fb58f
BLAKE2b-256 checksum
How to use checksums
9e9a0fecb17e8133e158d8380ab1d269b69e1cb0cde935370c8ed0149c91448e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page