Skip to content
bubbuildPublic

About

A Python library for AI providers.

Topics

Resources

Contributing

Stars

69 stars

Watchers

3 watching

Forks

Repository files navigation

Republic

One Python interface for chat, streaming, tool calls, and structured output across AI providers. Republic stops at providers; agent loops, tool execution, and gateways stay in your code.

Quickstart

Republic requires Python 3.11 or later.

python -m pip install republic
export REPUBLIC_OPENAI_API_KEY="your-api-key"
import asyncio

import republic
from republic.events import TextDelta


async def main():
    model = republic.get_model("openai:gpt-6-sol")

    response = await model.chat("Explain a tool call in one sentence.")
    print(response.text)

    async with model.stream("Explain how an agent uses a tool result.") as stream:
        async for event in stream:
            if isinstance(event, TextDelta):
                print(event.chunk, end="", flush=True)


asyncio.run(main())

A model is named provider:model. Switch services by changing the name, such as anthropic:MODEL_ID, google:MODEL_ID, or deepseek:MODEL_ID; each reads its key from REPUBLIC_<PROVIDER>_API_KEY. See the provider directory for every supported service.

Documentation

Development

uv sync
make check
make test
make build

See Contributing for the development workflow.

License

Apache 2.0.

About

A Python library for AI providers.

Topics

Resources

Contributing

Stars

69 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages