Metadata-Version: 2.4
Name: carets
Version: 0.1.0
Summary: A dependency-free asyncio TUI toolkit for Python
Author: Wispsy
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# carets

> **Prototype / experimental:** Carets is an early dependency-free Python
> 3.10+ asyncio terminal UI toolkit. Public APIs may change before 1.0.

Carets provides incremental ANSI input parsing, immutable components,
ANSI-aware styling, named zones, forms, and a cell-diffing renderer with DEC
synchronized output.

```python
import asyncio
from carets import KeyMsg, Program
from carets.components import TextInput


async def main():
    model = TextInput(placeholder="Type here")
    await Program(model).run()


asyncio.run(main())
```

The package lives under `src/carets`; runnable Python files belong under
`examples/`. See [the architecture guide](docs/architecture.md) for the
module boundaries and naming rationale.

The longer-term roadmap is documented in
[IMPLEMENTATION_PLAN.md](IMPLEMENTATION_PLAN.md).

## Development

```bash
python -m unittest discover -s tests -v
python -m compileall -q src tests examples
```
