Skip to content

Support package and module in config files #10728

Closed
@akkornel

Description

@akkornel

Feature

Allow listing modules/packages to check, within the MyPy config files.

Pitch

Today, it is possible to use the files config item (in mypy.ini, pyproject.toml, etc.) to tell MyPy what files to check. You can also do this on the command-line, by simply listing the files.

If you want MyPy to check an entire module or package, you can do so on the command line (with -m or -p), but there is no way to do this in a config file. Since it is possible to set files in config files, I think it should also be possible to set module and package. (I am suggesting not-plural names "module" and "package" to match the command-line arguments).

One question you might ask is "Why don't you just list the directory containing your modules/packages?" In my case, doing so gives me an error like this:

src/namespace1/namespace2/package1/file.py: error: Source file found twice under different module names: `package2` and `namespace1.namespace2.package2`

… or an error like this:

src/namespace1/namespace2/package1/__init.py__:NN: error: Skipping analyzing "namespace1": found module but no type hints of library stubs

All of my code is in the src directory. In my pyproject.toml, I have namespace_packages = true and mypy_path = ["src"]. The above error only happens if I try to specify a file or directory to check. If instead I use -p namespace1 (or -p namespace1.namespace2), everything is located, loaded, and typechecked successfully.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions