atalaia-emitter
Report your AI agent's runs to a Dypsis Atalaia
deployment. One function, one HTTP POST, fire-and-forget: emit() returns
immediately and never raises, never throws, never blocks your agent —
even when Atalaia is unreachable. Zero dependencies in both languages.
Two ways in, same bytes either way:
- Install the package —
pip install atalaia-emitterornpm install atalaia-emitter. - Vendor the single file — copy
atalaia_emitter.pyoratalaia_emitter.tsinto your agent's repo. The files are written for this: Python needs only the standard library, TypeScript needs onlyfetch(Node 18+, Deno, Bun, browsers).
Configuration
| Variable | Meaning |
|---|---|
ATALAIA_URL |
Base URL of the Atalaia API, e.g. http://atalaia:8000 |
ATALAIA_EVENT_KEY |
The event API key issued by your Atalaia admin (Sources → Observed) |
Both can also be passed as arguments.
Usage
Python:
from atalaia_emitter import emit
emit("run-2026-08-15-001", process_id=PROCESS_ID, event_type="started")
emit("run-2026-08-15-001", process_id=PROCESS_ID,
event_type="step_completed", step_name="fetch_invoices",
metadata={"invoices_fetched": 18})
emit("run-2026-08-15-001", process_id=PROCESS_ID, event_type="completed")
TypeScript / JavaScript:
import { emit } from "atalaia-emitter";
emit("run-2026-08-15-001", { processId: PROCESS_ID, eventType: "started" });
emit("run-2026-08-15-001", {
processId: PROCESS_ID,
eventType: "step_completed",
stepName: "fetch_invoices",
metadata: { invoicesFetched: 18 },
});
emit("run-2026-08-15-001", { processId: PROCESS_ID, eventType: "completed" });
If you want budgets to work, report usage — every provider SDK returns it:
emit(run_id, process_id=PROCESS_ID, event_type="step_completed",
step_name="classify_invoice",
tokens_in=response.usage.input_tokens,
tokens_out=response.usage.output_tokens,
model="claude-haiku-4-5")
Omitting usage is honest: Atalaia reports that spend as unmeasured, never as zero.
Conventions
event_type:started | step_completed | waiting_human | completed | failedstep_namemust match the technical step name registered in Atalaia.metadatamust not contain personal data. Keep it to counts, ids, and plain-language error strings —plain_error_en/plain_error_ptkeys are rendered to business users.- Report the model that actually served the call, not the one you asked for, when your provider falls back.
The contract is frozen
The emitter's import list and wire format are pinned surfaces of the Atalaia
product (api/tests/test_emitter_parity.py keeps the two languages
identical). New versions of this package will add nothing your agent must
adopt: an old vendored copy keeps working against a new Atalaia.
License
Proprietary — distributed by Dypsis AI for use with licensed Atalaia deployments. Copying either emitter file into your own agents, and running it against your Atalaia deployment, is exactly the intended use.
Metadata
Release files for atalaia-emitter 0.1.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 | |
|---|---|---|---|---|
| atalaia_emitter-0.1.0.tar.gz | 3.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atalaia_emitter-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / atalaia_emitter-0.1.0.tar.gz
| Download URL | atalaia_emitter-0.1.0.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6b43506128f3112fb6c8a58d92486cdcb6f46847048942a82f27d5647b029323
|
|
BLAKE2b-256 checksum How to use checksums |
b23c94c941d3f7830f62af2f69d4c1f4e0767133d81a7dcbcab0df05d441c4ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / atalaia_emitter-0.1.0-py3-none-any.whl
| Download URL | atalaia_emitter-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c2601dbcc02ccd93ecc9c495f58ce04532a2ef4f0813d83905e4bb081eb46f6
|
|
BLAKE2b-256 checksum How to use checksums |
ec5d378a6ce3377111037c8b08f2be4d2d061f0dd5cf772a21285dd8262d48a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for atalaia-emitter 0.1.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.