Metadata-Version: 2.5
Name: bowline-client
Version: 1.3.0
Summary: Runtime for Bowline generated Python clients
Project-URL: Repository, https://github.com/bowlinedev/bowline
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: api,bowline,client,codegen,contract,pydantic,rpc,typed
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Description-Content-Type: text/markdown

# bowline-client

The Python client runtime for [Bowline](https://github.com/bowlinedev/bowline).

Bowline turns your Go code into typed API clients. This package is what the generated `bowline.py` uses to make calls.

## Install

```bash
pip install bowline-client
```

## Use

```python
from bowline_client import Transport
from bowline import Client

client = Client(Transport("http://localhost:8080/api"))
invoice = client.invoices.get(GetInput(id=3))
```

You do not write the types. `bowline gen` writes them from your Go code.

Errors come back as `BowlineError` with the same codes the Go server uses. Queries are sent as `GET`, mutations as `POST`. Inputs are checked before the request leaves.

Docs: [bowlinedev/bowline](https://github.com/bowlinedev/bowline)

Apache-2.0
