imports-in-function
Import statement inside a function instead of at module level.
Applies to: Python
Why this matters
Imports should be at the top of the file for clarity and performance. Imports inside functions run every time the function is called, and they hide dependencies. The only exception is avoiding circular imports, which usually indicates a design problem.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, STRUCT003 includedstablestack explain STRUCT003STRUCT003 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: STRUCT003
More Code Structure checks
multiple-classes-per-file
Multiple classes defined in a single file.
STRUCT004sys-path-manipulation
Direct sys.path manipulation detected.
STRUCT005relative-imports
Relative import used instead of absolute import.
STRUCT006hasattr-getattr-pattern
Using hasattr/getattr for attribute access instead of proper typing.
STRUCT009class-filename-mismatch
Class name doesn't match filename convention.
STRUCT010mixed-frontend-backend
Frontend and backend code should be clearly separated
STRUCT011duplicate-modules
Duplicate files exist in multiple locations - likely from incomplete migration or copy-paste.
STRUCT012naked-functions
Too many loose functions - consider grouping into a class or service.