← Home · Get Started · API Reference
pip install baretools-ai installs nothing but the package itself. Standard-library dataclasses work as tool parameter types out-of-the-box; Pydantic is opt-in via baretools-ai[pydantic].@dataclass fields are reflected into the JSON Schema and dict arguments from the LLM are coerced into the dataclass instance before invocation.BaseModel subclasses are supported as parameter types. Schema comes from model_json_schema(); coercion uses model_validate().execute_stream() and execute_stream_async() yield ToolResult values as each call completes.parse_tool_calls(response, provider=...) and format_tool_results(results, provider=...) for OpenAI, Anthropic, and Gemini.examples/openai_agent.py, examples/anthropic_agent.py, examples/gemini_agent.py — tested BMI agent loops for each provider.WEAVE_PROJECT env var; zero overhead when unset.baretools.__version__ reads from importlib.metadata; pyproject.toml is the single source of truth.ToolRegistry.get_schemas(provider=...).functionDeclarations shape with OpenAPI subset compliance.get_schemas() returns defensive copies.strict=True for OpenAI structured-outputs mode.RegisteredTool.schema renamed to RegisteredTool.parameters.@tool decorator and ToolRegistryexecuteToolCall and ToolResult TypedDictsFull history: CHANGELOG.md on GitHub