Define good data once. Check it wherever it flows.¶
PyCharter turns data requirements into executable contracts. Use the same versioned rules in your application, a data pipeline, a stream or an agent workflow. Accept data with a clear reason. Explain failures while there is still time to act.
Start with one local check. Grow toward a data feed you can verify, operate and recover.
Check my data Create a data feed
A useful first result¶
from pycharter import Validator
validator = Validator.from_dict({
"version": "1.0.0",
"type": "object",
"properties": {"amount": {"type": "number", "minimum": 0}},
"required": ["amount"],
})
print(validator.validate({"amount": "19.95"}).is_valid) # True
print(validator.validate({"amount": -5}).is_valid) # False
Python 3.11+; local execution; no account, database or server. This example
works with the published 0.0.67 package. Continue with
accepted data, failure details and a batch.
What you gain¶
-
Requirements you can execute
Put data shape, conversions and validation rules in a reviewable contract. Reuse the definition at the boundaries that matter.
-
Pipelines with explicit acceptance
Connect extraction, transformation and loading to the contract that must pass. Inspect a bounded run and understand its output.
-
Agent work you can check
Supply the relevant schema and context, verify candidate records, and review proposed changes using the same requirements as your application.
-
A path to dependable operation
Carry the reviewed definition into recurring delivery, evidence, independent health and recovery as deployment profiles are qualified.
Begin where you already work¶
| Your starting point | Follow this path |
|---|---|
| Python records or an API payload | First validation → FastAPI integration |
| A CSV or DataFrame | CSV recipe · DataFrame recipe |
| Files, APIs or database feeds | Local pipeline → Pipeline guide |
| Continuous messages | Streaming overview |
| An agent or MCP client | Agent workflows · MCP setup |
| A shared team workflow | API and UI · Contract storage |
Keep the first operation small. Contracts can live in files; add shared storage, services or scheduling when they solve your next problem.
The complete experience¶
Describe → verify → deliver → inspect → repeat → recover.
You should be able to start with a sample, review its requirements, inspect a real result and carry the same work into your preferred interface. An operated feed should tell you whether execution finished, the required data passed, publication committed and the dataset is healthy now.
The product journey describes this intended end-to-end experience. The capability guide shows what is available today and the scope of the source-only references. The bounded FMP application demonstrates part of the operational path; its full distribution and live deployment are being qualified.
Learn more when you need it¶
- Why PyCharter: the problem it solves and who benefits.
- Core concepts: contracts, pipelines and optional vocabulary.
- Cookbook: focused recipes for a concrete task.
- Python, CLI, HTTP and MCP: interface references.
- Installation and configuration: add the dependencies and services you need.
- ODCS interchange: exchange the supported contract semantics with your existing tools.