Skip to main content
Vinv

pip install vinv

Vinv runs, tests, and finds issues in your services — with zero code changes.

PyPI Python License 100% local

Python services & APIs · runs on your machine · no account, no API keys, no telemetry


Vinv watches a real run of your Python services and hands your AI coding agent the actual execution evidence — traces, argument values, the failing frame — instead of leaving it to guess from static text. Then it won't let a fix land until it passes acceptance tests written before the fix that the agent never sees.

Your coding agent (Claude Code, Cursor, Copilot…) is the only LLM. No new bill, no provider keys.

Install

pip install vinv

Or run any engine with zero install via uv:

uvx --from vinv exerciser campaign ./my-service --budget 20

First run fetches a one-time ~500 MB local embedding model. Python 3.12–3.14.

Context beats model size

Vinv found four bugs and one performance problem in fastapi/full-stack-fastapi-template (~44k★). Same five issues, same prompts, Vinv grading every run:

Setup Fixed
Cheap commodity model + Vinv evidence 4 bugs + 1 optimization
Frontier model, working blind 1 bug
Cheap commodity model, working blind nothing

One trial per condition — a demonstration, not a benchmark. The evidence is what moved, not the weights.

On the same template the optimization loop detected connection-pool starvation from live traces alone, dispatched the fix, and proved it: sustained-load median 75.6ms → 41.2ms, 45.4% faster (95% CI [36.3%, 45.8%]), responses byte-identical. Upstream on Hugging Face, it found and proved an allocation fast-path in smolagents~37,000× less transient allocation, output byte-identical across 2,015 inputs (PR #2572).

What you get — Run · Test · Find · Prove

  • 🏃 Run — brings every service in your repo up under tracing with zero edits to your code: timings, arguments, return values, call trees, from the real run.
  • 🧪 Test — drives real requests through every endpoint (valid, boundary, negative, authenticated) and banks each response as a permanent regression case.
  • 🔎 Find — surfaces what actually broke or slowed down: server errors, crashes, latency hotspots, memory leaks, and dead code — each tied to the exact source line.
  • ✅ Prove — hands that evidence to your coding agent, then verifies its fix against acceptance tests it never sees. A "faster" change that alters any output is auto-reverted.

The engines

pip install vinv installs one package that ships every engine as a console script:

Command What it does
exerciser campaign <repo> --budget N Start here. One budget across every armed oracle; reports which technique paid
tracelens run -- <cmd> Zero-edit runtime tracing of a Python service or CLI
identification consolidate <repo> Join traces to source; produce the API/call-graph map
bringup … · goal … · handbook … Service discovery, fix episodes, and the codebase handbook
vinv-embedder The local embedding sidecar (no cloud keys)

Works with any MCP client

Vinv is also an MCP server — point Claude Code, Cursor, or any MCP-compatible agent at it and your agent gets vinv_query (semantic code search), rank_suspects (fault localization over real runs), runtime values_of / slice / coverage_of, and a vinv_session tool that drives the whole verify/optimize loop from chat.

Privacy

100% local. No telemetry, no analytics, no usage pings. Traces stay on your machine and sensitive values are redacted. Apache-2.0.


vinv.ai · github.com/VinvAI/VinvAI · Python first — TypeScript & Go next

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

vinv-0.0.1-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

vinv-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

vinv-0.0.1-cp313-cp313-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vinv-0.0.1-cp312-cp312-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.12Windows x86-64

vinv-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

vinv-0.0.1-cp312-cp312-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file vinv-0.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: vinv-0.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vinv-0.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c1b626505d8a5db09fe9177aad90a45beedc190ae736e12668633ff36e4c05a5
MD5 d95272bbc06b61962e8e937e3054aa0d
BLAKE2b-256 326fc3c03e4c6e41fac2cc8bd1ac5d23efd3f2017f7d6a87528d19f8262c2d87

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vinv-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vinv-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d35a6e77e93abeb4e63842b80cf2a63c280f2ffbe7e2c560e2f8510670cfa005
MD5 368ed4111d4f0d26028d2c56d3991c03
BLAKE2b-256 fda55569ca732c58dde9fb819958fa2aa16b70669204cefbf1c679ceeeb972a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vinv-0.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vinv-0.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f5db5b2132976aed6add68d5a2ba1fe119c46ebe914ba6a97899ba131834e6b
MD5 c8604e9ee58b594e21930b2a72c4e936
BLAKE2b-256 93301285afee0b3299714f052e311bc4f777964364049902ae7f9a067dcc0834

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vinv-0.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: vinv-0.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vinv-0.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d26a214c48db0d359e247b53c9142f06db4a285382899d747ce479b478d26a9b
MD5 8acaf693d4abdc2dd67261433e68e539
BLAKE2b-256 4849353a2fd669a9ea2a1e4544654b4581609d79ef9dc559139ede9eab46a305

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vinv-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vinv-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac75042d87582577bdac3e41adc56c6a7bb19f5be21a5f414146b4997880e412
MD5 b4c98f7a1bf9a6e5349c586c8d3288d4
BLAKE2b-256 882a04bc6e5b0ccb53ddcf0183a3f24eb2031582e0f2e272827ec53ff75770fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vinv-0.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vinv-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0f0dda3e8ad939255f17d303c8cef87034ff6870900791740ad462880b385ee
MD5 0e320376b94697eac39de7d796804fd3
BLAKE2b-256 00f59249230d11167e7f9f6c0492881e40e9515a7a82edc02477e50f984bd94d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vinv-0.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on VinvAI/VinvAI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.4

3 files

0.0.3

3 files

0.0.2

3 files

This release

0.0.1 This release

6 files

0.0.0

2 files

Supported by

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