Skip to content

implicit-namespace-package (INP001)#

Derived from the flake8-no-pep420 linter.

What it does#

Checks for packages that are missing an file.

Why is this bad?#

Python packages are directories that contain a file named 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 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 less widely used, so a package that lacks an file is typically meant to be a regular package, and the absence of the file is probably an oversight.