weak-typing
Weak typing pattern (Dict[str, Any], List[Any]) loses type safety.
Applies to: Python
Why this matters
Using Dict[str, Any] or List[Any] defeats the purpose of type hints. You lose IDE autocomplete, type checking, and documentation. Use TypedDict, dataclass, or Pydantic models for structured data.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, TYPE001 includedstablestack explain TYPE001TYPE001 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: TYPE001
More Type Safety checks
naked-dict-for-structured-data
Using plain dict for structured data instead of dataclass/TypedDict.
TYPE004missing-type-hints
Function is missing type hints.
TYPE005inline-type-definition
Inline type definition instead of using shared/generated types.
TYPE006dict-type-inconsistency
Dict return type annotation doesn't match actual value types being assigned.
TYPE007duplicate-type-definition
Type definition may be duplicated across files.
TYPE008typescript-any
Explicit 'any' type defeats TypeScript's type safety
TYPE009env-non-null-assertion
Non-null assertion on env vars can cause runtime crashes
TYPE010unsafe-json-parse
JSON parsing with type assertion lacks runtime validation