Metadata-Version: 2.4
Name: finos-platform-api-client
Version: 0.5.0
Summary: FinOS Platform API client — the OpenAPI-generated Platform API client + a dynamic tag.operation façade and typed error taxonomy (FINOS-246)
Author: FinOS
Keywords: api,client,finos,platform,sdk
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.13
Requires-Dist: attrs>=23.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: python-dateutil>=2.8.0
Description-Content-Type: text/markdown

# platform-api-client

A standalone Python client for the FinOS Platform API (import name
`finos.platform_api_client`, distribution `finos-platform-api-client`). Extracted
from `finos-automation-sdk` (FINOS-246) so the SDK — and any other consumer — can
call the Platform API without pulling the whole automation SDK. Mirrors
`finos-ledger-api-client` in shape.

```python
from finos.platform_api_client import PlatformApiClient

async with PlatformApiClient(base_url, jwt) as client:
    users = await client.api.users.list_users()
    one = await client.api.users.get_user(user_id="usr_1")
```

- `client.api.<tag>.<op>(...)` — operations are **reflected by tag** from the
  OpenAPI-generated client under `_generated/`, so nothing is hand-written and
  nothing needs re-writing when the client is regenerated.
- Each call returns the parsed 2xx body or raises a typed error
  (`finos.platform_api_client.errors`): 401→`AuthenticationError`,
  403→`AuthorizationError`, 404→`NotFoundError`, 409→`ConflictError`,
  422→`ValidationError`, 5xx/other→`ServerError`.
- Both `base_url` and `jwt` are always required (no env fallback). The client
  never mints and never talks to an auth provider.

**Standalone by design**: depends only on `httpx` + `attrs` + `python-dateutil` —
no `finos.shared`, no `fastapi` — so `finos-automation-sdk` stays
pip-installable on Windmill.

See [AGENTS.md](AGENTS.md) for the full package guide and regeneration steps.
