Metadata-Version: 2.4
Name: truewire
Version: 0.8.2
Summary: Typed clients, true to the wire: spec checks, an example-replaying HTTP+WebSocket mock server, and a Python client generator for any API.
Author: Truewire contributors
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/truewire-dev/truewire
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic
Requires-Dist: jsonschema
Requires-Dist: pyyaml
Requires-Dist: rich
Requires-Dist: typer
Requires-Dist: typing-extensions
Requires-Dist: websockets
Requires-Dist: httpx
Requires-Dist: orjson
Requires-Dist: toposort
Requires-Dist: case-converter
Requires-Dist: jinja2
Requires-Dist: ruff
Requires-Dist: truewire-core<0.3,>=0.2.1
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Requires-Dist: mcp; extra == "dev"
Provides-Extra: mcp
Requires-Dist: mcp; extra == "mcp"
Dynamic: license-file

# truewire

Typed clients, true to the wire.

`truewire` turns an API — documented or not, REST or WebSocket — into a typed, validated
client, by recording real wire examples and generating code, tests and mocks from them.

- `truewire check` — lint a spec and replay every recorded example against its schema.
- `truewire examples` — paired-example coverage, with `--require-verified` as a gate.
- `truewire surface` — reconcile every spec against the callables the package really has.
- `truewire mock` — serve a project's recorded examples over HTTP and WebSocket.
- `truewire generate` — generate the Python package from the spec.
- `truewire standards` — every mechanically-checkable production rule, in one pass.
- `truewire docs check|lint` — type-check and lint the code blocks in a project's docs.

A project is a directory holding a `truewire.toml`; see `truewire init`.
