Serial Alice Agent
Verifiable energy and compute attestation agent for AI workloads. Issues Ed25519-signed certificates of energy consumption, anchored on Polygon.
Install
# From the self-hosted zip (no PyPI, no GitHub auth required):
pip install https://api.serialalice.pt/agent/download/linux
# Or download first:
curl -L https://api.serialalice.pt/agent/download/linux -o serial-alice-agent.zip
pip install serial-alice-agent.zip
# With NVIDIA GPU telemetry:
pip install "serial-alice-agent.zip[gpu]"
Quick start
export SA_AGENT_API_KEY=sa_live_... # from https://app.serialalice.pt
serial-alice-agent status # verify API connectivity
serial-alice-agent discover # list detected hardware
serial-alice-agent run --job-name my-training -- python train.py
Run without installing
unzip serial-alice-agent.zip
cd serial-alice-agent
pip install requests pyyaml psutil cryptography # core deps
python -m agent.cli status
Configuration
# agent.yaml
api_url: https://api.serialalice.pt
api_key: ${SA_AGENT_API_KEY}
measurement_interval_s: 10
hardware:
gpu: auto
cpu: true
Pre-registered experiments (baseline vs treatment)
serial-alice-agent experiment run --protocol experiment.yaml --out ./exp-out --evaluate
Runs a comparative experiment end to end: pre-registers the claim (signed, anchored),
executes warm-ups (discarded), then every repetition in a seeded randomized order,
applies each arm's treatment (sm_clock_lock_mhz, mem_clock_lock_mhz,
power_limit_w), OBSERVES whether it took effect, samples GPU power on the same
monotonic clock as the workload, restores clocks and power limit after every run
(and on any error), and submits each repetition with its raw files and signed summary.
With --evaluate it issues the outcome certificate and saves bundle.json +
artifacts/ for offline verification. See agent/experiment/example_protocol.yaml.
An arm's treatment can also be a third-party controller process (external_controller,
e.g. GPU Optimizer's ghost_switch.py): the protocol pins the file (and the files it
imports) by sha256 — checked before pre-registration and before every repetition — and
the pre-registration names it. Per repetition the executor starts the declared command,
waits its warm-up, runs the workload, stops it with the declared signal, and binds its
log and output files. The controller's OWN output decides whether it acted (declared
checks such as actions_taken >= 1); a repetition where it did not is still submitted
and makes the outcome INVALID. See agent/experiment/example_protocol_ghost_switch.yaml.
What it will not do: submit a failed run with invented data (it becomes visible
attrition), hide a treatment that did not take effect (the outcome becomes INVALID),
or present --simulate rehearsals as hardware measurements (they are submitted as
operator-declared). Clock/power actuation needs root/admin and nvidia-smi; the
NVIDIA backend reads through pynvml (pip install serial-alice-agent[gpu]).
Links
- Documentation: https://api.serialalice.pt/docs
- Platform: https://serialalice.pt
Metadata
Release files for serial-alice-agent 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| serial_alice_agent-1.3.0.tar.gz | 459.6 kB | Without provenance | Details for serial_alice_agent-1.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| serial_alice_agent-1.3.0-py3-none-any.whl | Python 3 | none | any | Details for serial_alice_agent-1.3.0-py3-none-any.whl |
Total release size: 1.0 MB
Release files / serial_alice_agent-1.3.0.tar.gz
| Download URL | serial_alice_agent-1.3.0.tar.gz |
|---|---|
| Size | 459.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07998e309e16a211317ef8f8944a9e68f74792d3879d62bcf9b72f1d0d79fc4f
|
|
BLAKE2b-256 checksum How to use checksums |
9dce893642037f93784197ed7d803fede89b1245ed7fcf0ce84ca9e98846ba99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / serial_alice_agent-1.3.0-py3-none-any.whl
| Download URL | serial_alice_agent-1.3.0-py3-none-any.whl |
|---|---|
| Size | 554.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60ac37665f8593b448c3b714c8144af63af76e0bff279943c65c043b901c1ee0
|
|
BLAKE2b-256 checksum How to use checksums |
cce6389225c09a7dd3a0513f94d01fc201a7d846066efde6a7845cd04bc97eea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for serial-alice-agent 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.