Skip to main content

Wont

Wont watches how your AI agents actually work, finds the steps they repeat, and shows which of that work is reusable. A wont is a habitual way of doing something; that is what Wont looks for in agent behavior.

Status: early release (0.1.0). Today Wont observes and measures. It does not execute anything in place of your agent. Every number it shows is a measured fact about your own traffic; it makes no savings estimates.

What it does

  • Observe. A small Python SDK records each agent run as a structured trace: which tools were called, in what dependency order, with what side-effect class. It stores the shape of values and keyed hashes, not the values themselves.
  • Find repetition. Wont reconstructs the data flow between steps and groups runs that perform the same procedure.
  • Show the lifecycle. Each repeated procedure is observed, a candidate, qualified, or deoptimized, derived from evidence you can inspect. Nothing is "active": Wont does not run procedures for you.
  • Measure. Cost and latency appear only when your traces report them, and are marked unavailable otherwise.

Install

pip install wont

The package is small: it depends only on pydantic. The server and dashboard ship in the source repository and the container image; pip install "wont[server]" adds the libraries they need.

Use it

import os

from wont import Wont

wont = Wont(
    api_key=os.environ["WONT_API_KEY"],      # a project key from the dashboard (wnk_...)
    base_url=os.environ["WONT_BASE_URL"],
)

with wont.execution(workflow_version="refund-status") as run:
    result = support_agent.run(request)       # your agent, unchanged

For tools you call yourself, observe_tool records a call without ever raising into your agent. Instrumentation failures are swallowed by design; an observation problem must never break a run. See the SDK guide.

Coding agents

If your agent is Claude Code, wont claude-code install prints a hook block that records sessions locally first, with an explicit step before anything is sent. See the recorder guide and the pilot runbook.

Safety stance

Wont is conservative by construction: when it is unsure whether two steps are independent, it keeps them ordered; a false fallback is acceptable, silent incorrect execution is not. Project API keys are agent credentials and are never used in a browser. The dashboard signs people in with their own sessions. See data handling.

Run the server

From a source checkout (Python 3.12 or newer, Docker for PostgreSQL, Node for the dashboard build):

pip install -e ".[server]"
(cd apps/web && npm ci && VITE_WONT_DATA_SOURCE=api npm run build)   # once; builds the dashboard
docker compose up -d postgres
wont serve --dev

wont serve --dev is for local use only: it listens on 127.0.0.1, uses the local development database, applies pending migrations, serves the dashboard at http://127.0.0.1:8000, and prints sign-in links in the console (there is no email in development). It refuses to run with WONT_ENV=production. For a real deployment use the container image and the reference deployment in deploy/; see the operations runbook.

Documentation

License

Apache License 2.0. See LICENSE.

To report a vulnerability, see SECURITY.md.

Metadata

Release files for wont 0.1.0

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

Source distribution (sdist)

Source distribution for wont 0.1.0
File Size Uploaded
wont-0.1.0.tar.gz 297.4 kB Details

Built distribution (wheel)

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

Total release size: 682.5 kB

Release files / wont-0.1.0.tar.gz

Download URL wont-0.1.0.tar.gz
Size 297.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eb2c12a54a7249202ab278bc4c9c535a3c30f72f9f105537b1c9b6d78aa50c20
BLAKE2b-256 checksum
How to use checksums
8754630c9db8fc8be427575dc60d18ebf91d8ad51f77f9141c9912b2795e810e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / wont-0.1.0-py3-none-any.whl

Download URL wont-0.1.0-py3-none-any.whl
Size 385.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a62d2dff005c2443c40ba828860a148d946c5b5066eb72320f5c69079430f38c
BLAKE2b-256 checksum
How to use checksums
beed3da3fbe81b1c5f1dd02bb9c63f8d054fca1e2f3bb9ae30170c35456b69a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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