Skip to main content

coreouto

coreouto

A minimal, extensible agent library for Python.

Built on five philosophies: minimalism, extensibility, explicitness, fragmentation, conciseness.

The whole library reduces to one idea: an agent is called with a message, runs an internal loop, and returns its response when the model calls the finish tool — the content argument of the finish call becomes the final answer. The model's intent to end the loop is declared through a tool call, not inferred from a provider signal. Unrecoverable provider terminations (token cap, refusal, content filter, server-side failure) still end the loop without a finish call. To output text without ending the loop (e.g. share progress before calling more tools), the model calls the continue_loop tool. Everything else — providers, tools, presets, hooks, multi-agent — is an opt-in extension.

import os

import coreouto as co
from coreouto.providers.openai import OpenAIProvider

@co.register_tool("search")
def search(query: str) -> str:
    """Search the web for `query`."""
    return f"<results for {query}>"

co.register_provider("minimax", OpenAIProvider(
    api_key=os.environ["MINIMAX_API_KEY"],
    base_url="https://api.minimax.io/v1",
))

preset = co.register_agent_preset(
    "researcher", model="MiniMax-M3", provider="minimax",
    system_prompt="You are a research assistant.",
    tools=["search"],
)
response = co.Agent(preset.to_config()).call_sync("Find me recent news about fusion energy.")
print(response.content)

Install

pip install coreouto
# with providers
pip install coreouto[openai]
pip install coreouto[anthropic]
pip install coreouto[google]
pip install coreouto[all]

Documentation

See docs/ for the full documentation set:

License

Apache 2.0 — see LICENSE.

Download files

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

Source Distribution

coreouto-0.7.0.tar.gz (90.6 kB view details)

Uploaded Source

Built Distribution

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

coreouto-0.7.0-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file coreouto-0.7.0.tar.gz.

File metadata

  • Download URL: coreouto-0.7.0.tar.gz
  • Upload date:
  • Size: 90.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for coreouto-0.7.0.tar.gz
Algorithm Hash digest
SHA256 8b671cc70340f6eef1dbf3136bfb1057d186a36e745a55c73996c20700658794
MD5 97da0b45aa3a93a3611cdb661ad2cac2
BLAKE2b-256 f651ad02dadc166a2ec2b71e217fa7086f677d71432af0c817e9090debfc5ac4

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreouto-0.7.0.tar.gz:

Publisher: publish.yml on llaa33219/coreouto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coreouto-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: coreouto-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for coreouto-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9afe991017acdb3bce412caf468028d442e8bc77538fdd34fe3d621c7151de8b
MD5 192a63cb32c6d2d1ec4e6e4b1178f81b
BLAKE2b-256 a9c9800dfc895de9f6138d5683f3ef606b656da105ed19e40538f89ec159c1cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreouto-0.7.0-py3-none-any.whl:

Publisher: publish.yml on llaa33219/coreouto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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