Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Official Python SDK for Brenox — server-side API key integrations.

Install

pip install brenox-sdk
# or: uv add brenox-sdk

Quick start

Create an app and API key in the developer console, then:

import os
from brenox import BrenoxServer

server = BrenoxServer(
    base_url=os.environ.get("BRENOX_API_URL", "https://api.breno-x.com"),
    api_key=os.environ["BRENOX_API_KEY"],  # bx_test_* or bx_live_*
)

user = server.users.provision(external_id="user-123", username="alice")
channel = server.channels.create(name="general")
server.messages.send(
    channel_id=channel.id,
    external_id="user-123",
    content="Hello from Python!",
)

# Embed flow — issue a JWT for @brenox/react on the frontend (never expose the API key)
session = server.sessions.create(external_id="user-123", channel_id=channel.id)
# return session.token to the browser

FastAPI sketch

from fastapi import FastAPI
from brenox import BrenoxServer
import os

app = FastAPI()
brenox = BrenoxServer(
    base_url=os.environ["BRENOX_API_URL"],
    api_key=os.environ["BRENOX_API_KEY"],
)

@app.post("/chat/session")
def create_chat_session(external_id: str, channel_id: int):
    brenox.users.provision(external_id=external_id)
    session = brenox.sessions.create(
        external_id=external_id,
        channel_id=channel_id,
    )
    return {
        "token": session.token,
        "workspace_id": session.workspace_id,
        "channel_id": session.channel_id,
        "environment": session.environment,
    }

Use @brenox/sdk + @brenox/react in the browser with the returned token.

API surface

Resource Methods
server.users provision
server.sessions create
server.channels create
server.messages send, list

Auth: Authorization: Bearer <api_key> by default, or auth_style="x-api-key".

Key prefix Use
bx_test_* Development / sandbox
bx_live_* Production

Sandbox keys are rejected when BRENOX_ENV or ENV is production.

Links

Development

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check src tests

Integration smoke (optional, requires Brenox API on localhost:8080):

BRENOX_API_KEY=bx_test_... pytest tests/integration -m integration

About

Official Python SDK for Brenox — server-side API key integrations.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages