Metadata-Version: 2.1
Name: bamex-conduit
Version: 0.1.3
Summary: Python client for the Conduit platform APIs (core, metering, activities, crm, billing, roi).
License: Apache-2.0
Project-URL: Homepage, https://github.com/nwinston/conduit
Project-URL: Source, https://github.com/nwinston/conduit/tree/main/sdk/python/bamex-conduit
Requires-Python: >=3.11
Requires-Dist: httpx<0.29.0,>=0.23.1
Requires-Dist: attrs>=22.2.0
Description-Content-Type: text/markdown

# bamex-conduit

Python client for the Conduit platform APIs. One package, one version. The headline
client targets the Conduit **API gateway (edge)** — the public, capability-scoped
surface most consumers should use. Direct per-service clients are available under
`conduit_sdk.services.*` for internal/advanced use.

- **Distribution** (what you install): `bamex-conduit`
- **Import package**: `conduit_sdk`

```bash
pip install bamex-conduit
```

## Usage

The headline client is the edge (API gateway), re-exported at the top level:

```python
from conduit_sdk import AuthenticatedClient
from conduit_sdk.edge.api.entitlements import check_entitlement

client = AuthenticatedClient(base_url="https://api.conduit.example", token="...")
decision = check_entitlement.sync(client=client, body=...)
```

`conduit_sdk.edge` is a standard [openapi-python-client](https://github.com/openapi-generators/openapi-python-client)
client: use `conduit_sdk.edge.api.<group>.<operation>` and `conduit_sdk.edge.models`.

## Direct per-service clients (internal/advanced)

For direct service-to-service access, each backend service has its own client under
`conduit_sdk.services.*`:

| Submodule | API |
| --- | --- |
| `conduit_sdk.services.core` | Core API — agents, authorizations, payment intents, policies, cards, audit, tenants |
| `conduit_sdk.services.metering` | Usage metering |
| `conduit_sdk.services.activities` | Activity (ROI attribution) substrate |
| `conduit_sdk.services.crm` | CRM |
| `conduit_sdk.services.billing` | Billing |
| `conduit_sdk.services.roi` | ROI dashboards |

Same shape as the edge: `conduit_sdk.services.<service>.AuthenticatedClient`,
`conduit_sdk.services.<service>.api.<group>.<operation>`, and
`conduit_sdk.services.<service>.models`.

## Regenerating

The clients are generated from the specs in `api/`. See
[`sdk/python/generate.sh`](../generate.sh) and [`sdk/PUBLISHING.md`](../../PUBLISHING.md).
