GitHub - loyada/typedpy: Type-safe, strict Python. Works well with standard Python (original) (raw)
Typedpy - Strict Type System for Python
typedpy
is a library for type-safe, strict, Python structures. It supports Python 3.9+.
Features
- 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
- Inheritance/mixins of fields/classes
- Embedded structures within structures/fields and fields within fields
- Supports the common collections
- Immutable Structures/Fields
- 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/".
Documentation
Detailed documentation is here