Skip to main content

Corio

Corio is a practical Python toolkit for building small services, automation, data pipelines, and AI/ML support code without re-solving the same project plumbing every time.

It bundles the pieces that tend to sit between "standard library" and "application code": typed paths with serialization helpers, pydantic-friendly data models, CLI settings, structured logging spans, iterator progress, FastAPI/MCP endpoint scaffolding, release metadata generation, test environment generation, and opt-in integrations for docs, Docker, search, tabular data, PDFs, OpenAI, Home Assistant, DNS, caching, encryption, and more.

Corio is organized as one package with optional extras. Install the small core by default, then opt into the heavier tools a project actually needs.

Install

pip install corio

Examples:

pip install "corio[api]"
pip install "corio[tabular]"
pip install "corio[db.search]"
pip install "corio[infra]"

Why Use It

  • Use paths as real application objects. Read and write JSON, YAML, TOML, text, and derived paths directly from corio.Path.
  • Make CLIs from typed models. Corio builds on pydantic settings patterns so small tools can stay declarative.
  • Wrap iteration with observability. corio.iterator.Iterator tracks count, percentage, elapsed time, ETA, completion, and cleanup.
  • Expose tools as HTTP and MCP endpoints. Define endpoint classes once and mount them into FastAPI and MCP surfaces.
  • Keep release metadata generated. corio pyproject turns Corio dependency groups and project metadata into the generated pyproject.toml sections.
  • Install integrations only when needed. Extras keep heavy dependencies like API servers, vector search, ML, PDFs, and tabular tooling out of the base install.

Examples

Typed Paths And Data Files

from corio import Path

path = Path("runs/latest/config.yaml")
path.parent.mkdirf()
path.write_data({
    "model": "embedder-v2",
    "batch_size": 64,
})

config = path.read_data()
json_path = path.get_conversion_path("json")
json_path.parent.mkdirf()
json_path.write_data(config)

Observable Iteration

from corio.iterator import Iterator

documents = [{"id": "a"}, {"id": "b"}, {"id": "c"}]

for document in Iterator(documents):
    # Work happens inside per-item logging spans with progress stats.
    process(document)

The iterator tracks count, total, percentage, elapsed time, rate, ETA, completion logs, and closes the wrapped iterator when possible.

FastAPI And MCP Tools

from functools import cached_property

from corio import api


class Search(api.endpoint.API):
    """Search indexed documents."""

    PATH = "/search"
    TAGS = "documents"

    async def run(self, query: str):
        return {"query": query, "results": []}


class Reindex(api.endpoint.Tool):
    """Rebuild the document index."""

    async def run(self):
        return {"status": "queued"}


class Service(api.Base):
    TITLE = "Document Service"
    PORT = 8080

    @cached_property
    def ENDPOINTS(self):
        return [Search, Reindex]


Service().launch()

The same endpoint model can feed HTTP routes and MCP tools, so internal automation and external APIs stay aligned.

Project Metadata

Corio projects keep dependency intent in [tool.corio.dependencies]; generated package metadata lives in [project.optional-dependencies].

[tool.corio.dependencies]
semantic = ["sentence_transformers", "metrics"]
metrics = ["tabular", "ranx"]
tabular = ["pandas", "tabulate", "openpyxl", "odfpy", "deepdiff"]

Then regenerate:

corio pyproject

That keeps extras flattened for packaging while preserving a maintainable source-of-truth dependency graph.

Useful Areas

  • corio.path: typed path helpers, app paths, file type guessing, serialization helpers.
  • corio.dm and corio.sets: pydantic-oriented models and settings/CLI support.
  • corio.api: FastAPI and MCP endpoint composition.
  • corio.iterator: progress-aware iterable wrapper and small collection helpers.
  • corio.infra: release, docs, tox, and pyproject generation tooling.
  • corio.db.search: vector search helpers around qdrant and embeddings.
  • corio.tabular, corio.semantic, corio.metric: data and retrieval metrics helpers.
  • corio.encrypt, corio.sec: project secret and encryption workflows.
  • corio.ha, corio.dns, corio.mqtt, corio.webhook: operations and home automation integrations.

Documentation

License

This project is licensed under Apache 2.0. See LICENSE.

Release files for corio 2.11.0

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

Source distribution (sdist)

Source distribution for corio 2.11.0
File Size Uploaded
corio-2.11.0.tar.gz 138.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for corio 2.11.0
File Interpreter ABI Platform
corio-2.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 313.4 kB

Release files / corio-2.11.0.tar.gz

Download URL corio-2.11.0.tar.gz
Size 138.3 kB
Tags Source
SHA-256 checksum
How to use checksums
05e4f1236cd0cdc5af7bfaa8196fcd471da3c7b51d8e0336e005b6799f64e192
BLAKE2b-256 checksum
How to use checksums
c38daaa032632125d547afc20b211a488d8d4a4e1df4b7582c2ca6ddbae6a3d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / corio-2.11.0-py3-none-any.whl

Download URL corio-2.11.0-py3-none-any.whl
Size 175.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81dc71e3990a86be05d08d9433b004c20b5168206fed713b3b2be367dab50af0
BLAKE2b-256 checksum
How to use checksums
42a9c7471f5c99bfa153051991e71f3e5ade3db3ee594c6fe9258345d3fb1d3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

2.12.0

2 release files

This release

2.11.0 This release

2 release files

2.10.0

2 release files

2.9.4

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.22

2 release files

2.8.21

2 release files

2.8.20

2 release files

2.8.19

2 release files

2.8.18

2 release files

2.8.17

2 release files

2.8.16

2 release files

2.8.15

2 release files

2.8.14

2 release files

2.8.13

2 release files

2.8.12

2 release files

2.8.11

2 release files

2.8.10

2 release files

2.8.9

2 release files

2.8.8

2 release files

2.8.7

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.7

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.22

2 release files

2.0.21

2 release files

2.0.20

2 release files

2.0.19

2 release files

2.0.18

2 release files

2.0.17

2 release files

2.0.16

2 release files

2.0.15

2 release files

2.0.14

2 release files

2.0.13

2 release files

2.0.12

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.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