Skip to main content

coloph-toolset

Declare Python tools once. Export their JSON Schema and validate arguments before your application calls the function.

Version 0.2 adds catalogs, deferred command groups, exact selections, and generated CLIs. The application owns execution, transactions, authorization, and model providers. The roadmap describes later adapters. The package remains on 0.x while its interfaces settle.

Install

uv add coloph-toolset

The package requires Python 3.11 or later and Pydantic 2.12 or later within major version 2. No Coloph installation, database, credentials, HTTP framework, or agent framework is required.

Declare and validate

from typing import Annotated
from pydantic import Field, ValidationError
from coloph_toolset import tool, tool_for


@tool()
def shipping_quote(
    ctx,
    quantity: Annotated[int, "Number of parcels", Field(gt=0)],
    destination: Annotated[str | None, "Country code, or null for collection"],
    insured: Annotated[bool, "Include insurance"] = False,
) -> dict[str, object]:
    return {"quantity": quantity, "destination": destination, "insured": insured}


declaration = tool_for(shipping_quote)
schema = declaration.json_schema()
arguments = declaration.validate_arguments({"quantity": "2", "destination": None})
result = shipping_quote(None, **arguments)

try:
    declaration.validate_arguments({"quantity": 0, "destination": None})
except ValidationError as error:
    print(error.errors(include_url=False))

Validation never calls the function. Calling the Python function directly does not apply validation. The application owns execution and must use validated arguments at its dispatch boundary.

Context and restricted arguments

The declaration expects a required first parameter named ctx. Its type is application-owned and its annotation is not evaluated. Context never appears in the argument schema.

@tool(model_hidden_args=("internal",))
def inspect_order(ctx, order: str, internal: bool = False):
    return ctx.lookup(order, internal=internal)


public = tool_for(inspect_order)
public.validate_arguments({"order": "demo"})
# An external "internal" argument raises ValidationError.
operator_schema = public.json_schema(include_hidden=True)

Hidden arguments require valid defaults. Only trusted application code can select include_hidden=True. Argument projection is not an authorization system.

Contracts and examples

Every milestone adds a project under examples/. CI runs all preserved examples against the current library.

Development

uv sync --locked
uv run pytest
uv run mypy
uv run python -m ruff check .
uv run python -m ruff format --check .
uv build
uv run python scripts/smoke_wheel.py

MIT licensed.

Release files for coloph-toolset 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for coloph-toolset 0.2.1
File Size Uploaded
coloph_toolset-0.2.1.tar.gz 67.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coloph-toolset 0.2.1
File Interpreter ABI Platform
coloph_toolset-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size:90.8 kB

Release files / coloph_toolset-0.2.1.tar.gz

Download URL coloph_toolset-0.2.1.tar.gz
Size 67.3 kB
Tags Source
SHA-256 checksum
How to use checksums
83563e29e3310b1ef10972fe6742de05cb89efd27f41000bffa6b0c90a84979b
BLAKE2b-256 checksum
How to use checksums
da374a1ce67ca3088e8ae7e40bbbe9c4551aa49139719c0bc03af4f5164ec326
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / coloph_toolset-0.2.1-py3-none-any.whl

Download URL coloph_toolset-0.2.1-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
560f8d6b6d54177e5d99943b579a40b7149a4c7e3599f4efdf1779781d73e217
BLAKE2b-256 checksum
How to use checksums
7b60d5d9f204dd9a379243c960ae0bd919fdcb55bb3d2cec2490412a224bdb95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.3

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page