typedpy
is a library for type-safe, strict, Python structures. It supports Python 3.9+.
-
Full featured, sophisticated, class-based type system
-
Includes Python stubs generator that provides static type checking within the IDE
-
Supports JSON schema draft4 features, including mapping schema-to-code and code-to-schema
-
Serialization, deserialization between JSON-like dict and typedpy objects, including custom mapping. Support for pickling.
-
Easily extensible. Wrapper of any class as a Field
-
Embedded structures within structures/fields and fields within fields
-
Supports the common collections
-
Clean Java-generics-like definitions, but more flexible. e.g.: Set[AnyOf[Integer(minimum=10), Array]], Map[String(maxLength=8), String]
-
No dependencies on third-party libs
There are many examples under "tests/".