After many months of work, we proudly announce the first beta release of pytypes. (https://github.com/Stewori/pytypes)
pytypes is a toolbox for PEP-484 style typing, explicitly supporting Python >= 3.3, Python 2.7, Jython >= 2.7.1, PyPy 3 (others not tested, but might work).
Its main features are
- decorators and profiler for runtime typechecking - decorators for typesafe override checking of methods - easily pull type information from stubfiles into __annotations__ - get_type_hints: workable backport to Python 2.7 (based on type comments) - get_type_hints: variant that also takes stubfiles into account - utility functions is_of_type(obj, tp) and is_subtype(subtype, supertype) for use with PEP 484 types - decorator and profiler for generating stubfiles from type information observed and logged at runtime - all these features work equally well on Python 2.7 - all these features smoothly work with OOP, i.e. methods, static methods, class methods, properties
This beta release is intended to allow testing of pytypes' approaches in real-world code. Please check to what extend it suites your needs and help us to improve it.
License: Apache 2.0
pytypes 1.0 beta 3 has been released. https://github.com/Stewori/pytypes
The most notable new feature is enhanced support for TypeVars. Besides this it is mainly a bugfix release.
pytypes is a toolbox for PEP-484 style typing, explicitly supporting Python >= 3.3, Python 2.7, Jython >= 2.7.1, PyPy 3.
Its main features include:
- Runtime typechecking
- Auto-annotating code from runtime observations in form of stubfiles
- Utility functions: * PEP 484 aware subtype and instance checking: is_of_type(obj, tp) and is_subtype(subtype, supertype) * get_type_hints that takes stubfiles and type comments into account
- Typesafe method overriding
- Pull type information from stubfiles or type comments into __annotations__ for use by other tools
- support for all versions of typing module
- support for Python 2.7, 3.3, 3.4, 3.5, 3.6, Jython 2.7.1, PyPy
- all features smoothly work with OOP, i.e. methods, static methods, class methods, properties
pytypes is still in beta phase. File issues as the occur. Help is welcome!
License: Apache 2.0