A Python decorator that performs runtime type checking of function parameters and raises TypeMisMatch on invalid calls.
Strong Typing is a Python decorator that performs runtime type checking of function parameters. It validates that functions are called with arguments of the correct types during execution and raises a TypeMisMatch exception when invalid types are detected. This provides an additional layer of type safety beyond Python's static type hints.
Python developers who want runtime type validation for their functions, particularly those working on projects where type-related bugs need to be caught immediately during execution rather than through static analysis alone.
Developers choose Strong Typing because it provides simple, decorator-based runtime type checking that integrates easily into existing code. Unlike static type checkers, it validates types during actual execution, catching issues that might slip through static analysis in dynamic Python environments.
Decorator which checks whether the function is called with the correct type of parameters.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Checks parameter types during function execution, catching type mismatches that static analysis might miss, as emphasized in the project's philosophy.
Uses Python decorators for simple implementation into existing code, making it straightforward to add type checking without major refactoring.
Raises a TypeMisMatch exception with descriptive messages when invalid types are detected, helping developers quickly identify issues.
Compatible with Python 3.10 and above, including the latest versions up to 3.14, as shown in the README badges.
Adds runtime cost by validating types on every function call, which can slow down execution in high-performance or latency-sensitive applications.
Focuses on basic parameter type checking and may not support complex type annotations or custom validators without additional configuration.
Requires Python 3.10 or higher, excluding projects stuck on older versions, as noted in the release information.