python/mypy

Optional static typing for Python

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 2nd, 2026
Created on December 7th, 2012
Open Issues & Pull Requests: 3,233 (-1)
GitHub issues: Enabled
Number of forks: 3,294
Total Stargazers: 20,631 (+0)
Total Subscribers: 234 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.9 hours
Mean response time: 121.6 days
90th percentile: 429.5 days
Tracked items: 2,525

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "false-positive" is answered fastest, typically in about 4 hours, while "documentation" waits about 31 hours. 45% of tracked open issues have had no activity in three months. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,076
New in 7 days: 13
Closed in 7 days: 4
Avg open age: 813 days
Stale 30+ days: 940
Stale 90+ days: 815

Recent activity

Opened in 7 days: 12
Closed in 7 days: 3
Comments in 7 days: 15
Events in 7 days: 53

Top labels

  • bug (1,881)
  • feature (435)
  • crash (236)
  • topic-type-narrowing (179)
  • topic-type-variables (137)
  • priority-1-normal (129)
  • false-positive (83)
  • topic-match-statement (76)

Detailed Description

Mypy is a static type checker for Python that verifies correct usage of variables and functions through type hints without requiring code execution.

Mypy addresses the challenge of catching type-related bugs in Python before runtime. Python's dynamic nature means errors typically surface only when code runs, but mypy performs static analysis by reading type hints added to your code and warning when types are used incorrectly. The tool is designed around gradual typing, allowing you to add type hints incrementally to an existing codebase and fall back to dynamic typing where static checking is inconvenient. Type hints themselves function like comments and do not affect how Python executes your program.

Mypy suits projects where you want to catch type errors early and improve code maintainability through explicit type information. It works well for codebases of any size, from small scripts to large applications, since you can adopt it gradually. The tool supports a comprehensive type system including type inference, generics, callable types, tuple types, union types, and structural subtyping, making it capable of expressing complex type relationships without requiring verbose annotations everywhere.

The project maintains active engagement with the Python typing community through multiple discussion channels including a dedicated gitter chat, a common issues page for troubleshooting, and coordination with the typeshed repository for library type information. Development activity shows consistent responsiveness to bug reports and feature requests through the issue tracker, with clear pathways for users to report problems, request enhancements, and discuss new type system features across appropriate forums including discuss.python.org and the typing-sig mailing list.