Skip to content

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

python -m pip install pycharter
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.

    Work with contracts

  • Pipelines with explicit acceptance

    Connect extraction, transformation and loading to the contract that must pass. Inspect a bounded run and understand its output.

    Build a local data feed

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

    Use PyCharter with agents

  • A path to dependable operation

    Carry the reviewed definition into recurring delivery, evidence, independent health and recovery as deployment profiles are qualified.

    Explore the complete product journey

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