{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/5"}],"enrichment":{"capability":"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.","skillfed_tags":["type-checking","typing-introspection","duck-typing"],"use_cases":["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"],"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.\n\nThe 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.","worth_installing":"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."},"id":"typish","links":{"html":"https://skillfed.io/packages/typish","md":"https://skillfed.io/packages/typish.md","pypi":"https://pypi.org/project/typish/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-08-05","license_spdx":null,"license_treatment":"permissive","name":"typish","python_support":"unspecified","summary":"Functionality for types"},"popularity":{"monthly_downloads":1709938,"position":3627,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.9.3"}
