Lightweight function‐call tracer with SQLite backend, built for vibe coders.
Project description
VibeTracer
VibeTracer is vibecoders’ best friend – instrument, trace & audit your Python vibes locally, with LLM‑powered insights.
Table of Contents
- Key Features
- Quick Start
- Command‑line Reference
- Generated Reports
- Installation
- Configuration
- Security & Privacy
- Why VibeTracer?
- Roadmap
- Contributing
- License
- Changelog
Key Features
- One‑line instrumentation – decorate any function with
@info_decoratorto capture its implementation, arguments, return value, runtime, exceptions, and more, both statically & dynamically. - Project‑wide tracing –
vibetracer run path/to/main.pyauto‑instruments every in‑house function (external packages are ignored) and stores rich execution data in a local SQLite DB. - LLM‑powered analysis –
vibetracer analyzeturns raw traces into two Markdown reports: human‑readable and LLM‑ready. Plug in Anthropic, OpenAI, or Google with your API key for a full audit. - Actionable insights – Errors, security issues, performance hotspots, resource concerns, and architectural notes – each with concrete suggestions.
- All‑local, zero infra – no remote telemetry, no servers to run, API keys never leave your machine (check the source!).
- One‑shot convenience –
vibetracer runalyzeruns & analyzes in a single command.
Quick Start
1· Decorator‑level tracing
from vibetracer import info_decorator
@info_decorator
def greet(name: str) -> str:
return f"Hello, {name}!"
print(greet("Vibe coder"))
After execution you’ll find an execution_<timestamp>.db SQLite file in .vibetracer/.
2· Project‑wide tracing
vibetracer run path/to/main.py
3· AI‑assisted analysis
export LLM_PROVIDER=openai # or anthropic / google
export {LLM_PROVIDER}_API_KEY=<your‑LLM-provideer-api‑key>
vibetracer analyze .vibetracer/execution_latest.db
4· All‑in‑one
vibetracer runalyze path/to/main.py --provider='openai' --api_key=$OPENAI_API_KEY
Command‑line Reference
| Command | Purpose | Required Arg | Optional Flags / Env Vars |
|---|---|---|---|
vibetracer run |
Trace an entire project | Path to entry main.py |
– |
vibetracer analyze |
Analyze a trace DB | Path to .db file or folder (picks latest) |
--provider (openai/anthropic/google, default openai) or LLM_PROVIDER, --api_key or {LLM_PROVIDER}_API_KEY |
vibetracer runalyze |
Run + analyze in one go | Path to entry main.py |
Same as analyze |
ℹ️ API keys stay local – they are only used to call the selected provider from your machine.
Generated Reports
Each analysis produces two Markdown files:
- Human Report – readable, annotated summary of runtime findings.
- LLM Report – structured, token‑balanced context ready for further prompts.
Both contain five sections:
| Section | Description |
|---|---|
| Errors & Exceptions | Runtime failures + fixes |
| Security Issues | Potential vulnerabilities + mitigations |
| Performance Hotspots | Slow spots + optimization ideas |
| Runtime Concerns | Memory / I/O / resource notes |
| Architectural Notes | Organization & best‑practice suggestions |
Paste either report into your favourite chat‑GPT‑like tool to continue iterating – or just read it yourself.
Check out this sample report from a real project vibe traced using vibetracer.
Installation
pip install vibetracer
Configuration
| Env Var | Purpose | Default |
|---|---|---|
LLM_PROVIDER |
LLM provider (openai, anthropic, google) |
openai |
{LLM_PROVIDER}_API_KEY |
API key for provider | – |
Config can also be given via CLI flags (see above). CLI flags override env vars.
Security & Privacy
- Local‑first: All traces & analysis stay on disk – no external telemetry.
- Transparent: Open‑source code – verify what happens with your data.
- Ephemeral keys: API keys are read once, kept in memory, never stored.
Why VibeTracer?
| Feature | VibeTracer | PySnooper | Manual Telemetry |
|---|---|---|---|
| Static+dynamic capture | ✅ | ❌ | ⚠️ |
| LLM‑powered audit | ✅ | ❌ | ❌ |
| Zero infra / local only | ✅ | ✅ | ❌ |
| SQLite storage | ✅ | ❌ | – |
| One‑shot run+analyze | ✅ | ❌ | – |
Roadmap
- Plugin system for custom analyzers
- VS Code extension for in‑editor highlights
- Cloud‑hosted dashboard (opt‑in)
Contributing
- Fork, clone,
git checkout -b feat/<name>. - Dev
- Open a PR
License
Distributed under the MIT license. See LICENSE for more information.
Changelog
See CHANGELOG for release notes.
Powered by vibes & ☕️ – happy tracing!
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
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 vibetracer-0.1.1.tar.gz.
File metadata
- Download URL: vibetracer-0.1.1.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a5a7734fab33fa9b720d002aa9bb5354a85b5f1f569bd7034e5d6f1db4cb653
|
|
| MD5 |
b5ff541e6477463ee141ba5b061e6f52
|
|
| BLAKE2b-256 |
cd3dc791c8645f6fb86cc3b02bdb21700a92185b82095fd76c28c1953e5a59a4
|
File details
Details for the file vibetracer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vibetracer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
516b936dd7ebd4871a3be5f68da4cbd7792934b18fb5b113d4adedf090ec01ac
|
|
| MD5 |
d52991d90047d8230e07c34edca698bc
|
|
| BLAKE2b-256 |
43953a773c6eb4d4ebe1b3cc84862476f9d44623e6eea2acac832685960670a3
|