Why PyCharter¶
A data requirement often gets rewritten several times: in an API model, a pipeline transformation, a quality check and an agent prompt. Each copy can change independently. The cost appears downstream as broken reports, rejected loads and time spent discovering which rule actually ran.
PyCharter makes the contract executable. Describe acceptable data in a versioned definition, enforce it at the chosen boundary and inspect why a record passed or failed.
Start small and keep the work¶
You can validate one record with a local Python call. When the same requirement needs to travel, keep it in a file, share it through a registry or attach it to a pipeline step. Your first check becomes a reusable part of the system.
This is useful for application developers accepting external data, data engineers moving records between systems, and teams using agents to generate or maintain structured data.
Turn failures into decisions¶
A useful validation result identifies the failed requirement and the affected field. It lets you reject, correct or quarantine data under an explicit policy. Sample inference can help draft that policy; the team still decides what the data means and what is acceptable.
For pipelines, attach the contract where it must run. Check the transformed record before loading it, or validate at multiple steps when the requirements change. Run a small example to see the boundary work.
Give agents requirements they can verify¶
An agent can propose a schema, produce a record or suggest a pipeline change. PyCharter supplies executable checks and relevant contract context. People can review the same definitions the tools use.
That makes a useful collaboration loop: propose, check, explain, revise. Keep permissions and approval authority in the selected deployment; a contract checks declared requirements and cannot by itself prove factual truth or stop a caller who is authorized to change those requirements.
Grow toward a reliable data feed¶
The complete product experience connects the first check to verified delivery, repeatable execution, independent health and recovery. A new person or agent should be able to reopen the work, find the deployed requirements, understand the last accepted delivery and identify the safe next action.
Read the intended journey and current capability status. The bounded FMP reference provides an operational example; its scope and deployment requirements are explicit.
Fit into the tools you already use¶
PyCharter uses Pydantic for runtime validation and supports YAML/JSON artifacts, ODCS interchange, Python, CLI, HTTP and MCP access. Use the interface needed for your task. Add vocabulary, shared governance and services progressively.
Choose it when reusable, reviewable requirements need to connect several data boundaries. Where PyCharter fits explains how this complements application models, DataFrame checks and warehouse quality tools.