Metadata-Version: 2.4
Name: convex-rpc
Version: 0.1.2
Summary: Generic, brand-neutral Convex RPC client — token→JWT exchange + query/mutation/action/paginate over the self-hosted HTTP API.
Requires-Python: >=3.12
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2
Description-Content-Type: text/markdown

# convex-rpc

Generic, brand-neutral Convex RPC client. Calls public Convex functions by name
over the self-hosted HTTP API (`POST {convex_url}/api/{query,mutation,action}`),
authenticated by an opaque API token exchanged for a short-lived RS256 user JWT at
`{site_url}/cli/token`.

Dependency-light (`httpx` + `pydantic`), stateless about caching, and reads nothing
from the environment in its constructor — pass config explicitly. It is the shared
transport under branded SDKs such as `plexus-sdk`.

```python
from convex_rpc import ConvexClient

client = ConvexClient(
    convex_url="https://db.example",      # /api/query|mutation|action
    site_url="https://actions.db.example", # /cli/token (auth exchange)
    token="…",                             # opaque API token
)
me = client.query("permissions:currentUserAccess", {})
```
