Skip to main content

Weights & Biases Agent Library - A minimal framework for building LLM agents

Project description

WBAL

Weights & Biases Agent Library - A minimal framework for building LLM agents.

Overview

WBAL provides three core primitives:

  • Agent - Orchestrates the perceive-invoke-do loop
  • Environment - Provides tools and context
  • LM - Language model interface

All components inherit from WBALObject (Pydantic BaseModel + observe() method).

Quick Start

import weave
from wbal import Agent, Environment, weaveTool, GPT5MiniTester

weave.init('my-project')

class MyEnv(Environment):
    system_prompt = "You are a helpful assistant."

    @weaveTool
    def greet(self, name: str) -> str:
        """Greet someone by name."""
        return f"Hello, {name}!"

agent = Agent(lm=GPT5MiniTester, env=MyEnv())
result = agent.run("Say hello to Alice")

Installation

From PyPI:

pip install wbal

From source (for local development):

git clone https://github.com/wandb/CodeCurious.git
cd CodeCurious
uv sync

Documentation

Document Description
USER.md Usage guide, API reference, examples
DEVELOPER.md Architecture, contributing, testing
GRIFFIN_AGENT_INSTRUCTIONS.md Detailed framework guide

API

from wbal import (
    # Core
    Agent, Environment, StatefulEnvironment, LM,

    # Models
    GPT5Large, GPT5MiniTester,

    # Decorators
    weaveTool, tool,

    # Mixins
    ExitableAgent,

    # Helpers
    tool_timeout, format_openai_tool_response,
)

Examples

See examples/ for complete implementations.

Structure

wbal/
├── wbal/
│   ├── agent.py        # Agent class
│   ├── environment.py  # Environment, StatefulEnvironment
│   ├── lm.py           # LM, GPT5Large, GPT5MiniTester
│   ├── helper.py       # Tool decorators and utilities
│   └── mixins.py       # ExitableAgent
├── tests/
└── examples/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wbal-0.3.0.tar.gz (138.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wbal-0.3.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file wbal-0.3.0.tar.gz.

File metadata

  • Download URL: wbal-0.3.0.tar.gz
  • Upload date:
  • Size: 138.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wbal-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f10dc899df6fc4b0d23d066bcd45131c8ca55f7bc2b1b635bc50fa344894a23c
MD5 9f780981ea647035b66b1d58d599e12a
BLAKE2b-256 ae6c4a6e2bf27e02841a1a8419418143fd434a5910761570bac8e11887cd57d1

See more details on using hashes here.

File details

Details for the file wbal-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: wbal-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wbal-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd0cdcc098624ad381d677ded9606794e9e1d0ff58afd1f7dbd145b0b4d9bec
MD5 a3e0f5673b59bbb29e808e0b0823969d
BLAKE2b-256 84b6723e08a6314e8d67f430df1e4a99c13ea8198d63370129190e77b6b64b54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page