Skip to main content
Pre-release

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/span are 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

cisternal-0.1.1a2.tar.gz (130.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cisternal-0.1.1a2-py3-none-any.whl (89.4 kB view details)

Uploaded Python 3

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

Hashes for cisternal-0.1.1a2.tar.gz
Algorithm Hash digest
SHA256 3015322b8cfd8e0d5c24e2ea04de343d34a51104c0f10c5b74701748804c8c56
MD5 16d7df4b639a776d4f4b63c9877d3cab
BLAKE2b-256 fc6de8ba87ed6f9a1fd7d31c09259cfc16f8675e404c60ad7ca9623e3024c46c

See more details on using hashes here.

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

Hashes for cisternal-0.1.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 f26a4f0a05138d3f0458f1e3ae35e66b6493f123a5ae685cc47ec9bbdd8d94b0
MD5 c12e49c885032ea75054e8080c2e8799
BLAKE2b-256 e28d11efd6871826d49876732967078fdda3c94cdb53d2a096f9e71a0434ad36

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1a2 This release

2 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