Skip to main content

The flight recorder for AI agents. Trace, visualize, and share your agent runs in 60 seconds.

Project description

GlassPipe — The Flight Recorder for AI Agents

See what your AI agent actually did. Share the trace in one click.

pip install glasspipe

The problem

You built an AI agent. It takes 47 seconds and costs $3 per run. You have no idea why.

The logs look like soup. You add print statements. You still don't know. You're flying blind.

GlassPipe fixes this in 60 seconds.


How it works

Add one decorator:

from glasspipe import trace

@trace
def my_agent(question):
    # your existing code, completely untouched
    return answer

Run your agent. Then:

glasspipe dashboard

Every LLM call, every tool, every step — captured and laid out as a visual timeline. Click any span to see exactly what went in and what came out. Share the whole trace with one click.


Install

pip install glasspipe

Requires Python 3.10+. No account. No API key. No configuration.


Quickstart

from glasspipe import trace, span

@trace
def research_agent(topic):
    # Manual spans for your own steps
    with span("plan", kind="custom") as s:
        plan = f"I will research: {topic}"
        s.record(input={"topic": topic}, output={"plan": plan})

    # Tool calls
    with span("web_search", kind="tool") as s:
        results = ["Result 1", "Result 2"]
        s.record(input={"query": topic}, output={"results": results})

    return results

research_agent("AI agent observability")

Then open the dashboard:

glasspipe dashboard

Your trace is waiting at http://localhost:3000.


Auto-instrumentation

GlassPipe automatically records every OpenAI and Anthropic call — no extra code needed:

import openai
from glasspipe import trace

@trace
def my_agent(question):
    # This call is automatically captured — model, tokens, cost, latency
    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": question}]
    )
    return response.choices[0].message.content

What gets captured automatically:

  • Model name
  • Prompt and completion tokens
  • Cost in USD
  • Latency
  • Full input and output

Sharing a trace

In the dashboard, click Share on any run.

A preview modal shows you exactly what will be made public. GlassPipe scans for secrets — API keys, tokens, emails, JWTs — and highlights them. Redact anything with one click. Then confirm.

You get a link like:

https://glasspipe.dev/t/a1f9c2

Anyone can open it. No account needed. Ever. Traces expire after 30 days. You get a delete token to remove it early.


Example traces

(Replace these with real shared trace URLs after you run the examples)


GlassPipe vs Langfuse vs LangSmith

We're going to be honest with you. Pick the right tool.

GlassPipe Langfuse LangSmith
Install time ~60 seconds ~20 minutes ~20 minutes
Account required Never Yes Yes
Share a trace publicly One click Several steps Several steps
Local dashboard Yes No No
Team workspaces No Yes Yes
Production monitoring No Yes Yes
Async support No Yes Yes
Price Free, open source Free tier + paid Free tier + paid

Use GlassPipe if: you're an indie dev or student who wants to install in 60 seconds, see what your agent is doing, and share a trace link without making an account.

Use Langfuse or LangSmith if: you need production monitoring, team features, async support, or enterprise observability.

We're not trying to replace them. We're built for a different moment.


Limitations — please read before installing

GlassPipe v1 is intentionally minimal. It does not:

  • Support async Python (sync only — coming in v1.5)
  • Capture streaming responses (final results only)
  • Auto-instrument LangChain (raw OpenAI and Anthropic SDKs only)
  • Support languages other than Python
  • Provide team accounts, alerts, or production monitoring

If you need those things today, use Langfuse, LangSmith, or Arize Phoenix — they're genuinely great tools. GlassPipe is for the 60-second install crowd.


Examples

Three working examples in the /examples folder:

python examples/hello.py            # minimal — one span
python examples/research_agent.py   # 3 spans — plan, search, synthesize
python examples/customer_support.py # 4 spans — classify, fetch, draft, review

All examples run without a real API key.


Privacy and security

  • Redaction happens on your machine, before upload. The server never sees your original data.
  • The pre-share preview modal cannot be bypassed.
  • Add custom redaction patterns via GLASSPIPE_REDACT_PATTERNS environment variable.
  • Shared traces are public but unlisted — accessible only via direct link.
  • All shared traces expire after 30 days.

Built with

  • Python 3.10+
  • Flask + HTMX (local dashboard)
  • SQLite (local storage)
  • SQLAlchemy
  • Railway + Postgres (hosted share service)

License

MIT. Free forever.


Contributing

Issues and PRs welcome. This is a v1 — there's plenty to improve.


Built by Jonathan — LinkedIn · glasspipe.dev

(Replace # links with your real LinkedIn URL and domain once live)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glasspipe-0.1.1.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

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

glasspipe-0.1.1-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file glasspipe-0.1.1.tar.gz.

File metadata

  • Download URL: glasspipe-0.1.1.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for glasspipe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 622a7b7b4f7b84c5da31069edb6ff9b15b1772b26a914ad944560912733d56e5
MD5 7c36b162849342019f83f1c90119de46
BLAKE2b-256 514bb5e271c057333e745261c59f05f45f28ddf4a1162df3be66b00ed8891407

See more details on using hashes here.

File details

Details for the file glasspipe-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: glasspipe-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for glasspipe-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff728d069e75d56a19a96f8b8103a47c1f64fbacdf0111eb69e9da676d26605
MD5 9ec922763217c77bcbafbc1166bf66c3
BLAKE2b-256 3d3a9e719c5d6a46c9d04f1cbb77450a86dfef4d2c39c88326858631d3e4db80

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page