Metadata-Version: 2.4
Name: mwps-client
Version: 0.1.7
Summary: Official mwps client library: single entry point MwpsClient, one typed method per mwps command.
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# mwps-client

Official Python client for the `mwps` server. `MwpsClient` is the single
entry point: it hides transport selection, TLS material, proxy routing,
request correlation and error mapping behind one typed async method per
`mwps` command (see `mwps_client/mwps_client/client.py`).

## Installation

```
pip install mwps-client
```

## Usage

```python
import asyncio
from mwps_client import MwpsClient

async def main():
    client = MwpsClient(base_url="https://<host>:8015", ca="/path/to/ca.crt")
    result = await client.invoke_tool(tool_name="list_servers")
    print(result)

asyncio.run(main())
```

## Version lockstep

`mwps-client` carries no version of its own: its published version is
always identical to the `mwps` server version it was generated against
(C-068, ClientServerVersionLockstep). Both packages read the same
repository-root `VERSION` file — `mwps_client/VERSION` is a symlink to
`../VERSION` — so a client published from a given deploy always matches
the server it talks to. See `pipeline/README.md` for the release process
that keeps the two in lockstep.
