useful-types
A collection of useful types.
Decision gist · record as of 2026-08-14
Yes, if you maintain multiple Python projects and want to standardize type definitions across them. The low install friction, active maintenance, and explicit vendoring option make it a low-risk addition. If you only need types in a single project or prefer to avoid external dependencies, vendoring the types directly is a viable alternative the maintainers explicitly support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or higher; mypy 1.4 or pyright 1.1.314 or higher for full type-checker support of all types in the package.
- Low install friction with a single lightweight dependency on typing_extensions.
- The package is actively maintained with a recent commit history and no known vulnerabilities.
License · maintenance · safety
(unclear)
last release 2024-04-20 (846 days) · last repo commit 2026-07-06 · 152 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 306,722 downloads/mo, #7,784 on PyPI
Alternatives
Verify before relying
pip install useful-types
from useful_types import SomeProtocol # import a protocol or type alias
# Use the imported type in your annotations- Whether the specific protocols and type aliases provided match your project's needs (the fact sheet does not enumerate them)
- Performance impact of importing the package versus vendoring types directly, as the description suggests both approaches are viable
What it is and what it does
useful_types is a collection of reusable Python type protocols and type aliases designed to eliminate repetitive type definitions across projects. It provides common type patterns that developers find themselves writing repeatedly, packaged as a lightweight library with a single dependency on typing_extensions.
The package is explicitly designed to be optional—the description notes that types can be vendored directly into your project if you prefer to avoid the dependency. It requires Python 3.8 or higher and guarantees support on mypy 1.4 and pyright 1.1.314 or higher, though it may work with other recent type checkers. The package is actively maintained with no known security vulnerabilities.
Use it for
- Standardize protocol definitions across multiple projects in an organization.
- Reduce boilerplate in library code by importing pre-defined type aliases.
- Vendor types into a single project to avoid a runtime dependency while still benefiting from the curated type definitions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain multiple Python projects and want to standardize type definitions across them.
The low install friction, active maintenance, and explicit vendoring option make it a low-risk addition. If you only need types in a single project or prefer to avoid external dependencies, vendoring the types directly is a viable alternative the maintainers explicitly support.
Install
useful-types on PyPI
Before you install
Low install friction with a single lightweight dependency on typing_extensions. The package is actively maintained with a recent commit history and no known vulnerabilities.
Requires Python 3.8 or higher; mypy 1.4 or pyright 1.1.314 or higher for full type-checker support of all types in the package.
Quickstart
pip install useful-types
from useful_types import SomeProtocol # import a protocol or type alias
# Use the imported type in your annotations
Verify before relying
- Whether the specific protocols and type aliases provided match your project's needs (the fact sheet does not enumerate them)
- Performance impact of importing the package versus vendoring types directly, as the description suggests both approaches are viable
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping_extensions |
| Maintenance | Actively maintained 846 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 306,722 / month, #7,784 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: useful_types-0.2.1-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 › “reusable type aliases”
- useful-typesProvides reusable type protocols and aliases for Python projects to…
- typing-aliasesProvides a collection of type aliases for Python's typing system,…
- dargsValidates, normalizes, and documents structured argument dictionaries…
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 typing-aliases · types-SQLAlchemy · types-mypy-extensions · types-greenlet · types-six · types-pyflakes · types-pysftp · types-channels · types-Flask-Cors · multimethod