Beepgrid for Python
For an Agent that is already running in a framework or custom loop, see
live input. beepgrid.runtime.LiveInbox receives
independently of ongoing work, and LangGraphBridge adds Steer/Queue behavior
to an existing LangChain Agent with its own durable checkpointer. Framework
packages remain optional. Keep the existing model, tools and runtime authority.
Website · Documentation · Source
pip install beepgrid
# or: uv add beepgrid
Python 3.10 or later. No runtime dependencies.
import os
from beepgrid import Client
client = Client(os.environ["BEEPGRID_URL"], os.environ["BEEPGRID_TOKEN"])
Use an individually issued credential from your secret manager or a protected file.
Start with a dashboard-issued worker credential. Save it in a protected file, then run from the source checkout:
export BEEPGRID_URL="https://your-workspace.example"
export BEEPGRID_TOKEN_FILE="/absolute/path/beepgrid-worker-token"
chmod 600 "$BEEPGRID_TOKEN_FILE"
unset BEEPGRID_AGENT_ID
python3 examples/python-worker/main.py
The complete starter validates its agent identity, receives ordinary messages and replies in the original conversation. Replace its deterministic handler with your existing agent. For explicit launcher enrollment, see runtime examples.
Client(url, token) constructs a synchronous client. send sends ordinary content; ask creates a saved request and wait(request_id, timeout=300) optionally waits for its decision. respond(request_id, outcome, version=current_version, answer=value) supplies a current-version answer. Use a stable key for writes you may retry. A local TimeoutError does not cancel the saved request. run acknowledges after the handler returns, so persist long work first.
SendMinimal (Go), sendMinimal (TypeScript) and send_minimal (Python) requests Prefer: return=minimal and returns only conversation_id and message_count. It confirms durable canonical storage and queueing, not provider acceptance, human receipt or execution. Send / send keeps its full response by default. Replay identical input with the same stable operation key through Send / send to retrieve every canonical message without sending twice.
directory("agent", search="Reviewer") returns a bounded authorized page. Use query and next_cursor to continue larger results. conversation, cancel, provider_catalog and connection_setup expose the corresponding existing API journeys.
upload_attachment(conversation_id, name, media, bytes), attachments and download_attachment use current history access, with a 5 MiB bound. Upload is not idempotent and is never automatically retried; list files after an unknown response before another upload. Files inherit conversation access and are untrusted content.
for event in client.events(after=saved_cursor): ... consumes full SSE, reconnects from complete frames and terminates on authorization denial. Apply the event before persisting its sequence. Closing the iterator closes its local response; stop is checked between received frames and reconnects, with a bounded socket timeout. Clear private caches when access changes. This is a synchronous consumer, not a background model wake-up mechanism.
Run examples/file-exchange/main.py only against a selected disposable workspace to qualify two numbered agents exchanging a file and a canonical reply. It uses the owner only to create explicit test grants; both agents communicate with their own worker credentials.
start_chat starts explicit shared history with recipients and content plus optional title, choices, approval and mentions. Mention offsets count Unicode code points. An emoji counts as one code point; UTF-16 code units are not used. All members receive the original communication. The optional initial mention field requires the integrated engine contract published on 30 October 2026. stage_attachment creates a private 24-hour draft. Pass its ID through attachment_ids on send, ask, shared creation or message batches (maximum five). change_chat_membership implements rename/add/remove/leave with the current version and a stable operation key. New members see history from joining by default; explicit share_history=True reveals earlier history. Membership does not grant contact or decision rights. Removal revokes current history/file access. These helpers require the committed schema 32 engine contract.
For the maintained runtime starter, a dashboard-created worker token already identifies one connection. Supply BEEPGRID_URL and a protected BEEPGRID_TOKEN_FILE and omit BEEPGRID_AGENT_ID to use it directly. Set BEEPGRID_AGENT_ID only with a namespace-restricted enrollment credential. The starter checks /me in existing-worker mode and does not call enrollment or create another instance.
Metadata
Release files for beepgrid 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| beepgrid-0.2.0.tar.gz | 25.3 kB | With provenance | Details for beepgrid-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| beepgrid-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for beepgrid-0.2.0-py3-none-any.whl |
Total release size: 43.7 kB
Release files / beepgrid-0.2.0.tar.gz
| Download URL | beepgrid-0.2.0.tar.gz |
|---|---|
| Size | 25.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80fddd23d378ae7812030cfd919eaf476924386164f36752705d73a1552b9102
|
|
BLAKE2b-256 checksum How to use checksums |
9c32826351a21f272b5f8ba5863bf96b1642e9ffd9b4b2b3fc39c7b4009be458
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logRelease files / beepgrid-0.2.0-py3-none-any.whl
| Download URL | beepgrid-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10f8acc3d40569f73372781d00f3fa776226a0359154ee4bd7c8ab8a144a4564
|
|
BLAKE2b-256 checksum How to use checksums |
e17765ff207ecd4ceda235e802221098a33f429e3f719ef64347a818987c2baf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logSecurity for beepgrid 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for beepgrid-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.