A Python static type checker built on mypy with stricter defaults, advanced typing features, and baseline error management.
Basedmypy is a Python static type checker built as an enhanced fork of mypy. It addresses limitations in Python's type system by enforcing stricter type safety by default and introducing advanced typing features like Intersection types and generic TypeVar bounds. The project also includes a baseline system to help teams adopt new strictness incrementally without requiring immediate fixes to existing code.
Python developers and teams looking for a more robust and feature-rich static type checker than mypy, especially those interested in advanced typing features and incremental adoption of stricter type safety.
Developers choose Basedmypy for its stricter default settings, comprehensive advanced typing features not available in standard mypy, and the practical baseline system that eases the transition to more rigorous type checking without overwhelming refactoring efforts.
Based Python static type checker with baseline, sane default settings and based typing features
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enforces typesafe by default, reducing silent type errors common in Python, as highlighted in its 'Typesafe by Default' feature.
Adds Intersection types, generic TypeVar bounds, and based type-guards, expanding Python's type system beyond mypy's capabilities.
Baseline functionality saves current errors to a file, allowing teams to adopt new strictness gradually without fixing all issues at once.
Sets default return type to None instead of Any and infers parameter types from defaults, improving type inference out-of-the-box.
Project is no longer maintained as of July 2025, meaning no bug fixes, security updates, or support for new Python versions.
As a fork of mypy, it may not integrate seamlessly with tools and libraries optimized for standard mypy, limiting interoperability.
Advanced features like Intersection types and based type-guards require deeper type theory knowledge, adding to the learning curve for teams.