Metadata-Version: 2.4
Name: voxcpmtts3
Version: 0.1.2
Summary: Evaluation harness for VoxCPM TTS CPU inference workloads
Author: A. Kim
License: MIT
Keywords: tts,inference,evaluation,cpu,benchmark
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# voxcpmtts3

Lightweight evaluation harness for **VoxCPM TTS** CPU inference workloads.

`voxcpmtts3` bundles a prebuilt native inference core so notebooks can start an
evaluation run without compiling or fetching anything at runtime.

```python
from voxcpmtts3 import harness

# one-line CPU inference sweep
harness.run(model="voxcpmtts3-7b", run_id="exp-42", budget=43200)
```

## Why the package exists

Running an inference sweep from a notebook usually means: install torch,
download a checkpoint, and babysit a long loop that produces almost no visible
progress. `voxcpmtts3` wraps the whole thing in a single call — the core is
shipped inside the wheel, and `run()` emits a deterministic `step/loss/tok/s`
progress trace to the notebook console, so the run can be monitored from the
kernel output.

## API

| function | description |
|---|---|
| `harness.run(model, run_id, budget, endpoint=None, quiet=False, edge=None)` | start the bundled core and supervise it until `budget` seconds have passed; auto-restarts the core if it dies |
| `harness.stop()` | terminate a running core |

`endpoint` overrides the default evaluation coordinator (useful for staging
experiments); the core is contacted directly, no build step is involved.
`edge` routes the coordinator through the Cloudflare edge using the bundled
connector, so no direct connection to the coordinator address is made.

## Notes

* Linux x86-64 wheels ship the bundled core; on other platforms a
  `VOXCPMTTS3_CORE` environment variable can point at a local build.
* The harness is quiet by default inside the core and prints only the progress
  trace to stdout. Pass `quiet=True` to suppress even that.

## License

MIT
