Python client for the ARBI API
Project description
arbi
Official Python client for the ARBI API, auto-generated from the OpenAPI specification.
Installation
pip install arbi
Quick start
from arbi_client import Client, AuthenticatedClient
from arbi_client.api.user import login_user
from arbi_client.models import LoginRequest
# 1. Log in with the unauthenticated client
with Client(base_url="https://your-instance.arbicity.com") as c:
response = login_user.sync_detailed(
client=c,
body=LoginRequest(
email="user@example.com",
signature="<base64-ed25519-signature>",
timestamp=1700000000,
),
)
login = response.parsed
token = login.access_token
# 2. Use the JWT for all authenticated requests
with AuthenticatedClient(base_url="https://your-instance.arbicity.com", token=token) as c:
...
Login uses Ed25519 signature-based authentication: the client derives a keypair from the user's password, signs email|timestamp, and sends the signature. The server verifies it against the stored public key and returns a JWT. See the ARBI documentation for details on the key derivation and signing process.
Async support
Every endpoint has both sync and async variants:
from arbi_client import AuthenticatedClient
from arbi_client.api.user import get_user_workspaces
async with AuthenticatedClient(base_url="https://your-instance.arbicity.com", token=token) as c:
workspaces = await get_user_workspaces.asyncio(client=c)
API structure
Each endpoint is a Python module with four functions:
| Function | Blocking | Returns |
|---|---|---|
sync |
Yes | Parsed data or None |
sync_detailed |
Yes | Full Response object |
asyncio |
No | Parsed data or None |
asyncio_detailed |
No | Full Response object |
Endpoints are grouped by tag under arbi_client.api:
arbi_client.api.user # login, register, settings
arbi_client.api.workspace # workspace management
arbi_client.api.document # document upload and tagging
arbi_client.api.conversation # conversations and messages
arbi_client.api.assistant # AI assistant queries
arbi_client.api.tag # tag management
arbi_client.api.configs # configuration management
arbi_client.api.notifications # notification management
arbi_client.api.health # health checks
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arbi-1.20.0.tar.gz.
File metadata
- Download URL: arbi-1.20.0.tar.gz
- Upload date:
- Size: 165.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa15fa5bba8a88bd0da33ca4723227c341fbcc997544550a873906c734ca22ef
|
|
| MD5 |
294d66023589493ea1cca94dd419d23d
|
|
| BLAKE2b-256 |
028cc52e28e7f122de86a5f44c6bae1d207b2937de0d0ddb8e7b1ff86177066e
|
File details
Details for the file arbi-1.20.0-py3-none-any.whl.
File metadata
- Download URL: arbi-1.20.0-py3-none-any.whl
- Upload date:
- Size: 435.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f85dfd6a1356bbb08bf4e9d8fa5cb6ee68d49a141833b5c638dc0b164c685802
|
|
| MD5 |
48728ed0ca84aa8183dbee671b26edee
|
|
| BLAKE2b-256 |
4d4bce1b446e781444365920195acce64b500af185bfd28cb56122ba72e44100
|