/typedpy

Type-safe, strict Python. Works well with standard Python

Primary LanguagePythonMIT LicenseMIT

pylint img

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

Installation

PyPI page is here

Conda-Forge page is here