python/typeshed

Collection of library stubs for Python, with static types

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Type:Curated List / Learning ResourceCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 13th, 2026
Created on March 5th, 2015
Open Issues & Pull Requests: 341 (+0)
GitHub issues: Enabled
Number of forks: 2,088
Total Stargazers: 5,120 (+0)
Total Subscribers: 74 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.8 hours
Mean response time: 20.9 days
90th percentile: 20.1 days
Tracked items: 709

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 72% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "project: policy" is answered fastest, typically in about an hour, while "stubs: removal" waits about 3 days. 61% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 13% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 120
New in 7 days: 5
Closed in 7 days: 6
Avg open age: 588 days
Stale 30+ days: 110
Stale 90+ days: 88

Recent activity

Opened in 7 days: 4
Closed in 7 days: 5
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • help wanted (146)
  • stubs: false positive (103)
  • project: infrastructure (53)
  • stubs: removal (29)
  • stubs: false negative (23)
  • stubs: improvement (23)
  • project: policy (22)
  • stubs: incomplete (19)

Detailed Description

Typeshed is a collection of library stubs for Python that provides external type annotations for the Python standard library, builtins, and third-party packages.

Typeshed solves the problem of enabling static type checking, type inference, and autocompletion for Python code when the original libraries lack built-in type information. It works by maintaining stub files—type annotation files separate from the runtime code—that describe the types of functions, classes, and variables in Python libraries. These stubs are used by type checkers like mypy, pyright, and PyCharm to understand the types available in both standard library and third-party packages without requiring changes to those libraries themselves.

Most Python developers do not need to interact with the typeshed repository directly. Type checkers bundle a copy of the standard library stubs automatically, and third-party package stubs are distributed as separate PyPI packages that type checkers discover when installed. The tool suits anyone using a type checker who wants accurate type information for libraries they depend on. Third-party stub packages follow a versioning scheme where the first parts of the version number correspond to the runtime package version, allowing developers to pin stubs to versions compatible with their dependencies. The project acknowledges that stub versions can introduce breaking changes despite efforts to minimize them, and documents strategies for managing stub package versions alongside the packages they annotate.

The project maintains active engagement with contributors through clear contribution guidelines and processes pull requests for stub improvements. Development spans support across multiple Python versions from 3.10 through 3.14. The project operates an automated release system that publishes updated third-party stubs to PyPI daily, ensuring that type information stays current with library changes. Typeshed explicitly directs users to report annotation issues to the typeshed repository rather than to the original library projects, establishing itself as the canonical source for type stub maintenance.