types-pynput
Typing stubs for pynput
Decision gist · record as of 2026-08-14
Yes, if you use pynput and run static type checking. It has no runtime cost, low install friction, and is actively maintained. Install it in your development or CI environment alongside pynput to catch type-related bugs early. Not necessary if you don't use a type checker or don't use pynput.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction—a pure stub package with no runtime dependencies.
- Actively maintained as part of typeshed, with recent releases and no known vulnerabilities.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions.
last release 2026-07-12 (33 days) · last repo commit 2026-08-14 · 37 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 88,638 downloads/mo, #13,711 on PyPI
Alternatives
Verify before relying
pip install types-pynput
# In your code, type checkers will now understand pynput imports:
from pynput.keyboard import Listener
from pynput.mouse import Controller- Whether pynput itself must be installed separately for these stubs to be useful in type checking workflows.
- Compatibility with type checkers other than mypy 2.2.0 and pyright 1.1.411.
What it is and what it does
types-pynput is a type stub package that provides type annotations for the pynput library. It allows static type checkers like mypy and pyright to understand and validate code that uses pynput's keyboard and mouse input APIs. The stubs are maintained as part of the typeshed project and are kept in sync with pynput version 1.8.1.
This package contains no runtime code—it exists purely to help your type checker understand pynput's API surface. You install it alongside pynput (or in your development environment) so that when you run type checking, the checker can verify that you're calling pynput functions correctly and with the right argument types.
Use it for
- Enable mypy or pyright to catch type errors in code that controls keyboard or mouse input via pynput.
- Document the expected types for pynput function arguments and return values in an IDE with type-aware autocomplete.
- Enforce type safety in automation or testing scripts that use pynput for input simulation.
- Integrate pynput type checking into a CI/CD pipeline that runs static analysis on Python projects.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you use pynput and run static type checking.
It has no runtime cost, low install friction, and is actively maintained. Install it in your development or CI environment alongside pynput to catch type-related bugs early. Not necessary if you don't use a type checker or don't use pynput.
Install
types-pynput on PyPI
Before you install
Low friction—a pure stub package with no runtime dependencies. Actively maintained as part of typeshed, with recent releases and no known vulnerabilities.
Requires Python 3.10 or later.
License in practice
Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install types-pynput
# In your code, type checkers will now understand pynput imports:
from pynput.keyboard import Listener
from pynput.mouse import Controller
Verify before relying
- Whether pynput itself must be installed separately for these stubs to be useful in type checking workflows.
- Compatibility with type checkers other than mypy 2.2.0 and pyright 1.1.411.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 33 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,638 / month, #13,711 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Typing :: Stubs Only |
Evidence: types_pynput-1.8.1.20260712-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pynput type stubs”
- types-pynputProvides type hints for the pynput library, enabling static type…
- pynputPynput lets you programmatically control and monitor mouse and…
- pynput-robocorp-forkControls and monitors mouse and keyboard input devices across…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also types-pyserial · types-click-spinner · types-Markdown · types-requests · types-pycurl · types-mypy-extensions · types-paramiko · types-pyflakes · types-decorator · types-PyYAML