naked-dict-for-structured-data
Using plain dict for structured data instead of dataclass/TypedDict.
Applies to: Python
Why this matters
Plain dicts with string keys like data['user_name'] have no type checking. Typos cause KeyError at runtime instead of being caught by your IDE. Use dataclass, TypedDict, or Pydantic models for structured data.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, TYPE002 includedstablestack explain TYPE002TYPE002 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: TYPE002
More Type Safety checks
weak-typing
Weak typing pattern (Dict[str, Any], List[Any]) loses type safety.
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