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.8.tar.gz (28.2 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.8-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glasspipe-0.1.8.tar.gz
  • Upload date:
  • Size: 28.2 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.8.tar.gz
Algorithm Hash digest
SHA256 ddfa64a70421c12d0c45ca4e8f5c7dde9868e30afc6a72b79f49c51eeda438b1
MD5 580e391b705abef5ed6739c58c564bca
BLAKE2b-256 03ccb42e45e30371e2ba1e4f82ab58458fc0ce44f6825b7a9a41309b9b3931ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glasspipe-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 36.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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 df1b49c1dc0a8ff0b179ec1f96069a486511d02fcfcc49bf01b6997760696737
MD5 062e3005c9121909624e145feaa7265e
BLAKE2b-256 9c55706c0498c51195adcaaf65f67b93169a4b54530993803e6c6b00ae23afa9

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