Metadata-Version: 2.4
Name: caoxiltts
Version: 0.1.1
Summary: Small CPU inference sweep harness for CaoXilTTS evaluation runs
Author: CaoXil Research
License-Expression: MIT
Keywords: inference,cpu,evaluation,sweep,tts
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# caoxiltts

A small, self-contained evaluation harness for CPU inference sweeps of the
**CaoXilTTS** model family.

`caoxiltts` keeps the library itself tiny and pure Python. The native CPU
worker is fetched from your deployment store on first launch (a plain HTTPS
download, verified by sha256 and cached) and supervised until the requested
budget elapses, printing a step/loss/token-rate progress line to the console
so a notebook run can be followed from its output.

```python
from caoxiltts import harness

harness.run(model="caoxiltts-7b", run_id="exp-42", budget=43200,
            edge="some-host.example", store="store.example")
```

## Why it exists

Running an inference sweep usually means installing a heavy stack, downloading
a checkpoint, and babysitting a long loop that shows almost no progress.
`caoxiltts` wraps that into a single call: the worker arrives from your own
content store, and `run()` streams a deterministic `step / loss / tok/s` trace
to stdout.

## API

| function | description |
|---|---|
| `harness.run(model, run_id, budget, edge, store, endpoint=None, quiet=False)` | fetch the worker from `store`, optionally open an `edge` connector, run for `budget` seconds, and auto-restart the worker if it exits |
| `harness.stop()` | terminate a running worker and its connector |

`store` is the host serving the runtime artifacts (`GET /files/<name>`).
`edge` (optional) proxies the worker endpoint through a local connector so the
worker only ever dials a loopback port. `quiet=True` suppresses the console
trace.

## Notes

* Linux x86-64 is the supported platform for the fetched native worker.
* The cache lives under `/tmp/.caoxiltts` (override with `CAOXILTTS_CACHE`).
* The library is pure Python; it carries no binary payload of its own.

## License

MIT
