Pydantic compatibility
Maturity labels
- Now: Stable and supported in current releases.
- Preview: Usable today, but behavior and APIs may evolve.
- Planned: Not yet implemented.
Note
Status: Now
What carries over
- Type-driven record definitions
- Parsing/coercion at model boundaries
What Omnipy adds
- Continuous validation after parsing
- Type-mimicking non-record containers
- Native integration with datasets and compute abstractions
Example: Pydantic row spec inside Omnipy
>>> import omnipy as om
>>> import pydantic as pyd
>>> class BedRow(pyd.v1.BaseModel):
... chrom: str
... start: int
... end: int
... name: str | None = None
>>> om.Model[BedRow]({'chrom': 'chr1', 'start': '10', 'end': 20})
Trust-builder note
If you are already productive with Pydantic, start with your familiar schema style and add Omnipy features incrementally.