veqen
Scale AI inference without losing track of the bill. Veqen shows what your AI requests cost and who they were for: a customer, a feature or a project. Start locally without an account, then connect the optional dashboard to see where spending goes and compare it with your provider bills.
pip install veqen
Python 3.10+, no dependencies in the base package, works offline. Optional integrations: veqen[langchain], veqen[litellm] veqen[llamaindex] and veqen[haystack] (Python 3.11+ for Haystack).
import veqen
from openai import OpenAI
client = veqen.wrap(OpenAI(), feature="support-bot")
with veqen.tags(customer="acme", user="u_42"):
client.responses.create(model="gpt-5-mini", input="Where is my order?")
Every call is priced from the usage the provider reports, with the rules providers bill by: cached input, 5-minute and 1-hour cache writes, batch, priority and flex tiers, long-context rates and data residency. Prompts and responses are never read.
- Wrap OpenAI (sync and async, streams, Responses, Chat Completions, embeddings, images and audio), Anthropic (messages and streams) and Google GenAI clients. An OpenAI client pointed at Together, Fireworks, Groq, Azure AI Foundry or another compatible host is priced as that host; name your own servers with
veqen.wrap(client, provider="self-hosted"). - Tag calls with
veqen.tags(customer=..., feature=..., user=..., project=..., run=...); tags followasynciocode. - Budget:
veqen.budget(5.00, customer="*")raisesveqen.BudgetExceededbefore subsequent wrapped calls once recorded spend reaches the limit. - Record anything else:
veqen.record("claude-sonnet-5-5", provider="anthropic", input_tokens=1200, output_tokens=300), or by unit for media models:veqen.record("veo-3.1-generate-001", provider="google", units=8, variant="1080p"). - Price without recording:
veqen.cost("gpt-4o", 1000, 500)returns0.0075. - Integrations:
veqen.integrations.langchain,veqen.integrations.litellm,veqen.integrations.openai_agents, and the Haystack chat-cost component.
In serverless functions, call veqen.flush() before returning. Write a local ledger with veqen.init(ledger_file=".veqen/ledger.jsonl") and see cost per customer, feature and model with npx @veqen/sdk report. Set VEQEN_API_KEY to send calls to the Veqen dashboard for shared budgets, reconciliation with your provider bills, custom and self-hosted prices, margin per customer and month-end journal entries. Free for 60,000 tracked calls a month.
Docs: https://veqen-app.com/docs/python · Model prices: https://veqen-app.com/models · MIT licensed.
LiteLLM
Install pip install 'veqen[litellm]>=1.1.0', then register the supported CustomLogger:
import litellm
import veqen
from veqen.integrations.litellm_logger import VeqenLogger
veqen.init() # optional VEQEN_API_KEY for the hosted ledger
litellm.callbacks = [VeqenLogger()]
Pass attribution as metadata={"veqen": {"customer": "acme", "feature": "chat"}} on a LiteLLM call. The logger copies allowlisted cost metadata, not prompts or responses. It observes completed calls and does not enforce pre-call budgets. Register only one Veqen recording path per request. See the LiteLLM guide for proxy configuration and the hosted logging endpoint.
Budgets are not guaranteed spending caps. In-flight and concurrent calls can exceed the limit. Local counters are per process and reset on restart; dashboard budgets also depend on ingestion and polling delays.
Metadata
Release files for veqen 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| veqen-1.3.1.tar.gz | 65.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| veqen-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.6 kB
Release files / veqen-1.3.1.tar.gz
| Download URL | veqen-1.3.1.tar.gz |
|---|---|
| Size | 65.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9bec551237611c822413dcac51ebc97530e4f41997682de06d5f03985479b43c
|
|
BLAKE2b-256 checksum How to use checksums |
69783733299a1772ea75cf21408a79900e4d1ff65acbe62caa879a7d1083859d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 24, 2026.
Transparency logRelease files / veqen-1.3.1-py3-none-any.whl
| Download URL | veqen-1.3.1-py3-none-any.whl |
|---|---|
| Size | 59.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e95508fb1de4424cf89f30f691fc25bde6847d7da3edd6f55ea8048840d70abc
|
|
BLAKE2b-256 checksum How to use checksums |
fb4f328e919a9f14bcd76e58ff58adf3427c2f73726d0e5b81d4e5f519db14f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 24, 2026.
Transparency logSecurity for veqen 1.3.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for veqen-1.3.1.tar.gz
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 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.