Tutorials¶
Step-by-step guides to master PyCharter's features. The data contract is the single source of truth; all tutorials use contract name and contract version (or a contract file) where applicable.
Quick start (30 seconds each)¶
| Topic | One snippet |
|---|---|
| ETL | Pipeline(HTTPExtractor(url="...")) \| Rename({...}) \| FileLoader(path="out.json") then await pipeline.run() |
| Contracts | parse_contract_file("c.yaml") → metadata.to_data_contract() → Validator(contract_dict=contract) |
| Quality | check_quality(contract=contract, data=records) or QualityCheck(store).run(contract_name="user", contract_version="1.0.0", data=...) |
| Metadata store | store.store_schema("user", "1.0.0", schema); store.get_contract("user", "1.0.0"); store.list_contracts() |
| API & UI | pycharter api and pycharter ui serve |
Learning Path¶
We recommend following these tutorials in order:
graph LR
A[ETL Pipelines] --> B[Contracts & Validation]
B --> C[Quality Monitoring]
C --> D[Contract Store]
D --> E[REST API & UI]
Available Tutorials¶
-
Building ETL Pipelines
Learn to build data pipelines with extractors, transformers, and loaders.
Duration: 30 minutes
-
Data Contracts & Validation
Define contracts, coercion rules, and validation logic for your data.
Duration: 25 minutes
-
Data Quality Monitoring
Monitor quality metrics, track violations, and set threshold alerts.
Duration: 20 minutes
-
Contract Store & Schema Registry
Store, version, and retrieve schemas using different backends.
Duration: 20 minutes
-
REST API & Web UI
Use PyCharter's API server and interactive web interface.
Duration: 15 minutes
Prerequisites¶
Before starting the tutorials, ensure you have:
- Python 3.11+ installed
- PyCharter installed (
pip install pycharter[api,ui,etl]) - Basic knowledge of Python async/await
- Familiarity with JSON Schema (helpful but not required)
Tutorial Format¶
Each tutorial includes:
- Overview - What you'll learn
- Prerequisites - What you need before starting
- Step-by-step instructions - Hands-on coding
- Code examples - Copy-paste ready snippets
- Exercises - Practice what you've learned
- Next steps - Where to go from here
Getting Help¶
If you get stuck:
- Check the API Reference for detailed documentation
- Search GitHub Issues
- Ask on GitHub Discussions