Anwer
Anwer (أنور, "more luminous") is an open-source semantic profiler for LLM inference systems.
"Semantic" here refers to inference-execution semantics — scheduler decisions, KV cache behavior, expert routing, prefill/decode phase boundaries — not text or content semantics. Anwer's core idea is to join that semantic control-plane with the hardware data-plane (kernel timelines, CUPTI / torch.profiler traces) on a shared timeline, so a latency spike can be attributed to what the engine was doing (e.g. "MoE expert dispatch for request X"), not just which kernel ran.
Modern inference stacks — vLLM, SGLang, TensorRT-LLM, NVIDIA Dynamo, and others — each expose their own metrics, logs, and tracing conventions, if they expose deep visibility at all, and existing tools sit at one end or the other: hardware profilers (Nsight, Proton) see kernels with no execution context, and request-level observability tools (Langfuse) see requests with no hardware detail. Anwer aims to sit in between, providing a single, engine-agnostic layer for understanding where time and memory actually go during inference, and why.
Status
Early / pre-alpha. This repository currently contains project scaffolding only. Design docs, architecture notes, and the first working profiler hooks will land in subsequent commits.
Goals
- Engine-agnostic instrumentation (starting with vLLM and SGLang)
- Joining semantic control-plane events (scheduling, KV cache ops, expert dispatch, prefill/decode phase) with hardware data-plane traces (kernel timelines) on a shared timeline
- Roofline-grounded interpretation of bottlenecks — attributions tied to a computable hardware number, not a heuristic guess
- Low-overhead tracing suitable for production inference, not just benchmarks
- A common schema for inference-level metrics (prefill/decode timing, KV cache occupancy, batching efficiency, queueing delay)
- Tooling to visualize and diff profiler runs across engines/configs
Why "Anwer"
Anwer is a family name meaning "more luminous" in Arabic. The idea is straightforward: make what happens inside an inference server visible.
Contributing
Not yet open for external contributions while the core design settles. Watch this space.
License
Apache 2.0 — see LICENSE.
Metadata
Release files for anwer 0.0.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 | |
|---|---|---|---|---|
| anwer-0.0.1.tar.gz | 8.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anwer-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / anwer-0.0.1.tar.gz
| Download URL | anwer-0.0.1.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1cf72a3fc19fdff9cd9dec8f89a5672eb4e5154e76a083b7cddfed159120ed35
|
|
BLAKE2b-256 checksum How to use checksums |
f4caea23a45aab9d85a4090505a1892cd37bd2f903117480a709c86e0f73f903
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.4
|
Release files / anwer-0.0.1-py3-none-any.whl
| Download URL | anwer-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48d26747d71d2390576840ef4814f0686ab74ad6d483d3209bf8e1f3b59f1d82
|
|
BLAKE2b-256 checksum How to use checksums |
ce45b171de1bf6deb04efd8dba4738a423f4fbba1b263489906653936917a1ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.4
|
Security for anwer 0.0.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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.