Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reef_client

Stdlib-only client SDK for the Reef protocol. reef_client is a client of Reef's HTTP wire protocol, not of the reef package: it never imports reef and has no dependencies, so external harnesses can install it or copy it into environments that cannot take the reef wheel's dependencies.

The distribution is reef-client (pyproject.toml); the import package is the inner reef_client/ directory:

  • client.py is ReefClient, the ask/observe/report loop every example shares (see the Reef docs), plus the harness update channel reads: harness_versions (the version catalog with gate metrics) and harness_pull (write one served tree, head or version-addressed, into a directory).
  • skill.py fetches and syncs the scenario's served skill file (fetch_skill/sync_skill);
  • sse.py converts between buffered chat completions and OpenAI-style SSE chunk streams in both directions (synthesize_sse_events / SSEAccumulator).
  • serve.py is serve mode: a local sidecar that agents treat as their model endpoint (python -m reef_client.serve), owning session stamping, trajectory capture, receipt collection, and SSE passthrough/synthesis so reef-oblivious agents need no SDK. See the reference.

The client and skill helpers are re-exported at the package root: from reef_client import ReefClient, fetch_skill, sync_skill. Import the sse/serve submodules directly.

Install

pip install reef-client

For development:

git clone https://github.com/Human-Agent-Society/reef-client && cd reef-client
pip install -e .

The package is standard library only — copying the inner reef_client/ directory into your harness works too.

About

Stdlib-only client SDK for the Reef protocol

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages