Skip to content

a localizable trait and type system for python

Notifications You must be signed in to change notification settings

deathbeds/schemata

Repository files navigation

schemata

cov-badge

schemata is trait system for Python and IPytohn applications that provide:

  • validation
  • testing strategies
  • interactive user interfaces
  • observable pattern

schemata's type system is composable and expresses the type annotations in the form of json schema. attaching the schema to the types allows different interfaces to construct defaults in aspects like testing, visualization, and verification.

Learn more from the documentation.

comparison with other trait libraries

schemata is preceded by a few different trait libraries enthought.traits, traitlets, and pydantic. traitlets is a reimplementation of the enthought.traits by the IPython community; traitlets have been the configuration for jupyter and IPython since. traitlets preceeded a lot of critical web technology critical to the jupyter interactive computing ecosystem; traitlets are only concerned with Python objects and lack features of the modern. pydantic provides value as trait system by building off of the jsonschema specification to validate types. schemata unifies traitlets and pydantic by providing a description type interface based off of open web standards.

The desire is a trait system for interactive computing that enables more expressive design and testing of interactive computing technology.

About

a localizable trait and type system for python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages