Skip to main content

Local-first proxy for LLM spend visibility and control.

Project description

TokLog

CI PyPI License: TBFUL Made with KeCHe

htop for your LLM spend — proxy-only.

TokLog is a local-first HTTP proxy for LLM spend visibility and control.

Route OpenAI-, Anthropic-, and Gemini-compatible traffic through a local proxy. TokLog logs usage locally, attributes cost by model/provider/program/tag, and turns raw traffic into actionable waste reports.

No hosted backend. No account. No prompt egress by default.


Install

pip install toklog
tl proxy setup
tl proxy start --background

After setup, clients that support base URL overrides can route through TokLog with no app-specific SDK integration.


What it does

  • Proxy-based capture — intercepts LLM traffic at the HTTP layer
  • Cross-language — works with Python, TypeScript, Go, curl, and anything else that can point at a base URL
  • Cross-provider — OpenAI, Anthropic, Gemini
  • Local logs — normalized JSONL logs under ~/.toklog/logs/
  • Spend reports — model, provider, endpoint, program, and tag breakdowns
  • Waste detection — highlights expensive patterns worth fixing first
  • Shareable output — terminal and exported reports

Core commands

tl report

Full spend breakdown — models, processes, context composition, waste detectors.

tl report           # last 7 days
tl report --last 30d

tl report

tl gain

Cumulative savings opportunities — shows how much waste each detector has found since install.

tl gain

tl gain

tl doctor

Health check — verifies config, proxy, env vars, logging, and traffic.

tl doctor

tl doctor

tl share

Generate a self-contained HTML report you can share — no server needed.

tl share             # save to ~/.toklog/reports/
tl share --open      # save and open in browser

tl share

tl proxy status

Check if the proxy daemon is running and where it's listening.

tl proxy status

tl proxy status

Other commands

tl proxy setup          # interactive setup wizard
tl proxy start --background
tl proxy stop
tl tail                 # live stream of logged calls
tl categories           # list detected call categories
tl pricing              # show model pricing table
tl reset                # clear all logs and config

Budget Kill Switch

Set a daily spend limit. When the budget is exceeded, the proxy returns HTTP 429 immediately — no upstream request is made.

Enable it

CLI flag (takes precedence over config):

tl proxy start --budget 10.00

Or set it in ~/.toklog/config.json:

{
  "proxy": {
    "budget_usd": 10.00
  }
}

What happens at the limit

Requests get a 429 Too Many Requests response with a JSON error body:

{
  "error": {
    "message": "Daily budget of $10.00 exceeded",
    "type": "budget_exceeded"
  }
}

No tokens are consumed. No upstream contact is made.

Monitoring

tl proxy status   # shows current spend vs budget limit
tl report         # includes budget bar and rejection warnings

Behavior notes

  • Resets at midnight local time
  • No budget configured = no enforcement (fully backward compatible)
  • GET requests (e.g. /v1/models) are never blocked

License

TBFUL-1.0 — free for non-commercial and small-scale use. Commercial license required above $10k annual LLM spend.

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

toklog-0.3.1.tar.gz (151.8 kB view details)

Uploaded Source

Built Distribution

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

toklog-0.3.1-py3-none-any.whl (174.2 kB view details)

Uploaded Python 3

File details

Details for the file toklog-0.3.1.tar.gz.

File metadata

  • Download URL: toklog-0.3.1.tar.gz
  • Upload date:
  • Size: 151.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for toklog-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b1d66ac02e719a39f1b71240388d41d697a985c9650a55b6448ab22a5b6d75c1
MD5 60ccf4c2a9f87654cf4301f24ca8bedf
BLAKE2b-256 349cfcc22adb9ba388153accd4fd582d4a572bf4dbb9ab974006fa1ba94b5b45

See more details on using hashes here.

File details

Details for the file toklog-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: toklog-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 174.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for toklog-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6887df03ea378ca6a9211da38dab4b569f1b4c874d458297747b881783c194a7
MD5 80e99e7bb1f7553929d22eb8ee17d44f
BLAKE2b-256 da5d78fd754131d7405779af8f072f037db9180690a3f7c80a791018982b57f5

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