Metadata-Version: 2.4
Name: ttytype
Version: 0.1.1
Summary: A keyboard-first terminal typing test built with Textual
Keywords: terminal,typing,tui,textual
Author: Jake Van Slyke
Author-email: Jake Van Slyke <jakervanslyke@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Terminals
Requires-Dist: platformdirs>=4.11.2
Requires-Dist: rich>=15.0.0
Requires-Dist: textual>=8.2.8
Requires-Python: >=3.14
Project-URL: Homepage, https://github.com/jakeryderv/ttytype
Project-URL: Repository, https://github.com/jakeryderv/ttytype
Project-URL: Issues, https://github.com/jakeryderv/ttytype/issues
Project-URL: Documentation, https://github.com/jakeryderv/ttytype/tree/main/docs
Project-URL: Changelog, https://github.com/jakeryderv/ttytype/blob/main/CHANGELOG.md
Description-Content-Type: text/markdown

# ttytype

[![CI](https://github.com/jakeryderv/ttytype/actions/workflows/ci.yml/badge.svg)](https://github.com/jakeryderv/ttytype/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/ttytype.svg)](https://pypi.org/project/ttytype/)
[![Python 3.14](https://img.shields.io/badge/Python-3.14-3776AB.svg)](https://www.python.org/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

A keyboard-first terminal typing test built with
[Textual](https://textual.textualize.io/). Run word-count, timed,
public-domain quote, and private custom-text tests without accounts, telemetry,
or network access.

![ttytype Home screen](docs/screenshots/home.svg)

## Highlights

- Live raw and net WPM, accuracy, time, progress, and error feedback.
- Word, timed, quote, and custom-text modes.
- Responsive dark and light interfaces with redundant non-color cues.
- Optional local SQLite history, recent results, and personal bests.
- Keyboard-first operation on Linux, macOS, and Windows.

## Quick start

ttytype requires Python 3.14 or newer. Install it from PyPI with uv or pipx:

```bash
uv tool install ttytype
# or
pipx install ttytype
```

Then launch it:

```bash
ttytype
```

See [Getting started](docs/getting-started.md) for source-checkout installation,
terminal requirements, and a first-test walkthrough.

## Documentation

- [Getting started](docs/getting-started.md)
- [User guide and controls](docs/user-guide.md)
- [Scoring rules](docs/scoring.md)
- [Configuration and storage](docs/configuration.md)
- [Privacy](docs/privacy.md)
- [Development](docs/development.md)
- [Roadmap](docs/roadmap.md)
- [Changelog](CHANGELOG.md)

The completed modern-TUI migration plan is retained as a historical record in
[`docs/archive/v0.1.0-plan.md`](docs/archive/v0.1.0-plan.md). Roadmap entries are
ideas under evaluation, not promised features.

## Privacy

ttytype is local-only. It has no accounts, networking, synchronization,
telemetry, or analytics. Optional history stores aggregate scores and chart
samples, never target text, typed text, custom text, or individual keystrokes.
Read the full [privacy documentation](docs/privacy.md).

## Development and contributing

Development uses uv, Ruff, strict Mypy, pytest, Hypothesis, and Textual Pilot.
See [Development](docs/development.md) for the quality gate and
[Contributing](CONTRIBUTING.md) before opening a pull request. Please report
security issues according to the [security policy](SECURITY.md).

## License

Released under the [MIT License](LICENSE).
