Installation and Extras¶
This page documents package installation, optional extras, local development setup, and the package/import naming difference.
Package Name vs Import Name¶
Install from PyPI with the distribution name:
Import in Python with the package name:
This is normal for Python packages whose published name contains punctuation.
Supported Python Versions¶
erlc-api.py requires Python 3.11 or newer.
Use a virtual environment for bots, dashboards, and production services:
python -m venv .venv
.venv\Scripts\python -m pip install --upgrade pip
.venv\Scripts\python -m pip install erlc-api.py
Base Install¶
The base package keeps dependencies small:
| Dependency | Why it is required |
|---|---|
httpx |
Sync and async HTTP clients. |
Base install includes clients, models, command helpers, errors, and all stdlib utility modules.
Optional Extras¶
Install extras only when needed:
| Extra | Installs | Used by |
|---|---|---|
webhooks |
cryptography |
Ed25519 Event Webhook signature verification. |
roblox |
Base httpx only |
Roblox user and profile lookup through erlc_api.roblox. |
export |
openpyxl |
XLSX export through Exporter(...).xlsx(...). |
time |
python-dateutil |
Enhanced timestamp parsing. |
rich |
rich |
Rich terminal tables and panels. |
scheduling |
apscheduler |
Advanced scheduling integrations around watchers. |
location |
Pillow |
Optional local map overlays through MapRenderer. |
utils |
Utility extras | Export, time, rich, scheduling, and location helpers. |
all |
Everything optional | Webhooks plus all utility extras. |
Examples:
pip install "erlc-api.py[webhooks]"
pip install "erlc-api.py[roblox]"
pip install "erlc-api.py[export,rich]"
pip install "erlc-api.py[location]"
pip install "erlc-api.py[all]"
Development Install¶
From the repository root:
Run checks:
Verifying Installation¶
from erlc_api import AsyncClient, Client, cmd
from erlc_api.find import Finder
print(AsyncClient, Client, cmd, Finder)
If this imports successfully, the base package and lazy utility import path are working.
Common Mistakes¶
- Installing
erlc_apiinstead oferlc-api.py. - Importing
erlc-api.pyinstead oferlc_api. - Installing webhook verification without the
webhooksextra. - Expecting optional XLSX, rich, location rendering, or enhanced time parsing dependencies in the
base install. Roblox lookup uses the base
httpxdependency; therobloxextra exists so install commands can be explicit.