Omnipy
Typed dataflows for messy real-world data — continuous validation, safe interactive manipulation, and one-line conversions from nested JSON to tables.
Deep JSON flattening works for many common structures, but there are current boundaries and shape-dependent edge cases — see Tutorial 2: Nested JSON to tables for the current limits.
Why you care
- Continuous validation while editing keeps model state valid after failed operations.
- Declarative conversions with
.to(...)reduce custom conversion glue code. - Dataset batch semantics apply typed parsing and transformations across many records.
Parse messy input → safe edit → pretty-printed output
╭──────────────────╮
│ Model[list[int]] │
│ │
│ [101, 102, 103] │
╰──────────────────╯
2 validation errors for Model[list[int]]
__root__ -> 3
value is not a valid integer (type=type_error.integer)
__root__
(type=assertion_error)
╭──────────────────╮
│ Model[list[int]] │
│ │
│ [101, 102, 103] │
╰──────────────────╯
10-minute Quickstart Tutorials
Compare
- When
requests + pandas + pydanticis enough: straightforward one-off parsing and tabular analysis pipelines. - When Omnipy pays off: continuous typed safety during editing, nested-to-tabular conversion paths, and dataset-level batch semantics.
Visual metaphors and story mode (coming later)
Visual metaphors and story mode (coming later). See the planned stub page: Visual metaphors and story mode.