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, Antigravity, OpenCode, Pi, and JCode.

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

Install as a real Claude Code plugin

cisternal assets export only writes files — nothing picks them up until something registers them. cisternal assets install does both steps: it writes the bundle, then drives the real claude CLI to register it as a local marketplace and install it, so its skills/agents/MCP config actually load in a Claude Code session.

Requires a [plugin.marketplace] table in your manifest:

[plugin]
name = "my-plugin"
version = "1.0.0"

[plugin.marketplace]
name = "my-plugin-marketplace"

[plugin.marketplace.owner]
name = "Your Name"
cisternal assets install --manifest .praxia/manifest.toml
# writes the bundle to ./, then runs:
#   claude plugin marketplace add .
#   claude plugin install my-plugin@my-plugin-marketplace --scope project

Both underlying claude commands are idempotent — re-running install is safe. --scope project (the default) registers the plugin in this project's .claude/settings.json, so anyone who clones the repo needs only one manual claude plugin install my-plugin@my-plugin-marketplace (Claude Code's own trust-on-first-use step — not something this command tries to bypass). To remove it later: claude plugin uninstall my-plugin@my-plugin-marketplace and claude plugin marketplace remove my-plugin-marketplace.

Supported export targets: Claude Code, Cursor, GitHub Copilot, Antigravity, OpenCode, Pi, JCode.

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.

Metadata

Release files for cisternal 0.1.1a10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cisternal 0.1.1a10
File Size Uploaded
cisternal-0.1.1a10.tar.gz 261.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cisternal 0.1.1a10
File Interpreter ABI Platform
cisternal-0.1.1a10-py3-none-any.whl Python 3 none any Details

Total release size: 425.7 kB

Release files / cisternal-0.1.1a10.tar.gz

Download URL cisternal-0.1.1a10.tar.gz
Size 261.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3d9e4ddad95b258c2d384fbc91e0cba82a4bbe01d6e4ff80b1aef5e24ce2730a
BLAKE2b-256 checksum
How to use checksums
ea4fdcc2e58fc90f4e3b83847f6b0f02bffc83aa4ca637fd5a34b7325388754e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","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}

Release files / cisternal-0.1.1a10-py3-none-any.whl

Download URL cisternal-0.1.1a10-py3-none-any.whl
Size 164.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
753df151388d534bc291b14da9e5ca762ae356517b586a7223888e34f3f71e3d
BLAKE2b-256 checksum
How to use checksums
27ccd8ce3d8edc78806a2c746eca4a9f295a5f39dae2ebe23b2255528594514b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","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}
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