This release is a pre-release and may not be stable for production use.
cisternal
Status: alpha. APIs may change without notice before 1.0.
Cisternal is a shared telemetry substrate and agent-asset export toolkit for the Praxia tool family. It has two parts:
- Telemetry — a lightweight, non-blocking event pipeline (JSONL export, OTLP export, MCP-tool registration wrapper) for instrumenting Python tools and MCP servers.
- Agent-asset export — a CLI that takes a registry of MCP tools/commands and emits native plugin/config bundles for downstream coding-agent surfaces: Claude Code, Cursor, GitHub Copilot, and Antigravity.
Install
pip install cisternal
For OTLP export support:
pip install "cisternal[otlp]"
Telemetry quickstart
import cisternal
cisternal.init() # log_dir defaults to ~/.cisternal/logs, or env-resolved
with cisternal.span("my.operation", request_id="abc123"):
do_work()
cisternal.emit_event("my.custom_event", tool="foo")
print(cisternal.status())
Check your effective telemetry configuration from the shell:
cisternal telemetry doctor
cisternal telemetry doctor --json --strict
Registering MCP tools
import cisternal
@cisternal.tool
def my_tool(x: int) -> int:
return x * 2
registry = cisternal.wire(server, app, adapter=my_adapter)
cisternal.tool is a pure-metadata decorator — it returns the original function unchanged. cisternal.wire() snapshots the registry at call time and registers each tool on a FastMCP server (and optionally a Cyclopts CLI app), returning a WiredRegistry for introspection.
Agent-asset export
# Preview what would be written, without touching disk
cisternal assets export --dry-run
# Write bundles for specific surfaces
cisternal assets export --out ./dist/agent-assets
# Inspect or validate an existing bundle
cisternal assets inspect
cisternal assets validate
Supported export targets: Claude Code, Cursor, GitHub Copilot, Antigravity.
The CLI is fastmcp-free by design — cisternal.cli imports and runs even in environments without fastmcp installed; asset-export logic never depends on the telemetry/registration surface.
Design notes
- Telemetry emission never raises: if the pipeline isn't initialized,
emit_event/spanare no-ops. - Registry state is process-scoped — call
cisternal.clear_registry()between tests to avoid cross-test contamination. - The M2 wire-time MCP callable is a pure passthrough: telemetry and shape adaptation are exclusively owned by the telemetry middleware, never by the registration wrapper itself.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cisternal-0.1.1a2.tar.gz.
File metadata
- Download URL: cisternal-0.1.1a2.tar.gz
- Upload date:
- Size: 130.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3015322b8cfd8e0d5c24e2ea04de343d34a51104c0f10c5b74701748804c8c56
|
|
| MD5 |
16d7df4b639a776d4f4b63c9877d3cab
|
|
| BLAKE2b-256 |
fc6de8ba87ed6f9a1fd7d31c09259cfc16f8675e404c60ad7ca9623e3024c46c
|
File details
Details for the file cisternal-0.1.1a2-py3-none-any.whl.
File metadata
- Download URL: cisternal-0.1.1a2-py3-none-any.whl
- Upload date:
- Size: 89.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f26a4f0a05138d3f0458f1e3ae35e66b6493f123a5ae685cc47ec9bbdd8d94b0
|
|
| MD5 |
c12e49c885032ea75054e8080c2e8799
|
|
| BLAKE2b-256 |
e28d11efd6871826d49876732967078fdda3c94cdb53d2a096f9e71a0434ad36
|