--- id: typish version: "1.9.3" license: MIT license_treatment: permissive maintenance: abandoned --- # typish — Functionality for types License: permissive · Maintenance: abandoned · Downloads: 1.7M/mo ## What it is and what it does Typish extends Python's built-in type checking to work with generic types at runtime. It lets you check whether an object is an instance of a parameterized type like `List[int]` or `Callable[[str], int]`, which the standard `isinstance()` cannot do. It also provides utility functions to extract type information (origin, arguments, hints) from type annotations and supports structural typing through a `Something` interface that validates duck-typed objects. The package includes decorators like `@hintable` to capture type hints from call sites, metaclasses like `SubscriptableType` to make custom types subscriptable, and helper classes like `ClsDict` and `ClsFunction` for type-based dispatch. It has no external dependencies and works as a pure Python module, but development stopped in August 2021 and the package is no longer maintained. Use it for: - Validate that a function argument is a list of integers or other parameterized generic type at runtime - Extract type arguments from a generic type hint to implement type-aware logic in your code - Implement structural typing by defining interfaces with Something and checking objects against them - Dispatch function calls based on the runtime type of an argument using ClsDict or ClsFunction - Introspect callable type hints to extract parameter and return types for reflection-based frameworks ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Typish provides runtime type checking and introspection functions for Python's typing system, including generic type instance checks, type origin/argument extraction, and duck-typing validation. Yes, if you need runtime generic type checking and have no requirement for ongoing maintenance. The package is stable and has no known vulnerabilities, but its abandonment since 2021 means it will not receive updates for newer Python semantics or typing module changes. Consider it only for legacy codebases or projects where you can maintain a local fork if needed. ## Install pip install typish uv add typish poetry add typish ## Installing typish Before you install: Package has no runtime dependencies and installs as a pure Python wheel with low friction. However, it has been abandoned since August 2021 with no commits or maintenance, so expect no bug fixes or compatibility updates. License in practice: MIT license is permissive and poses no restrictions on use, modification, or distribution in commercial or private projects. Quickstart: pip install typish from typing import Iterable from typish import instance_of result = instance_of([1, 2, 3], Iterable[int]) print(result) # True Verify before relying: - Whether the package remains compatible with Python versions released after 2021 - Whether generic type checking behavior aligns with modern typing module semantics - Performance characteristics compared to alternatives for large-scale type validation ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 1.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags generic type checking, runtime type validation, typing introspection, instance checking with generics, duck typing validation, type hints inspection, callable type hints, type-checking, typing-introspection, duck-typing [View on SkillFed](https://skillfed.io/packages/typish) · [View on PyPI](https://pypi.org/project/typish/)