mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-02 01:42:25 +00:00
857 B
857 B
implicit-namespace-package (INP001)
Derived from the flake8-no-pep420 linter.
What it does
Checks for packages that are missing an __init__.py
file.
Why is this bad?
Python packages are directories that contain a file named __init__.py
.
The existence of this file indicates that the directory is a Python
package, and so it can be imported the same way a module can be
imported.
Directories that lack an __init__.py
file can still be imported, but
they're indicative of a special kind of package, known as a namespace
package (see: PEP 420).
Namespace packages are a relatively new feature of Python, and they're
not widely used. So a package that lacks an __init__.py
file is
typically meant to be a regular package, and the absence of the
__init__.py
file is probably an oversight.