Show a more detailed error when __getattr__ in __init__.py has wrong signature

Open
#5,276 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
38/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python

Research direction

Start with the referenced pull request #5231 and the getattr handling in package init.py. Reproduce a missing-import error caused by an incorrect getattr return type, then verify that the diagnostic explains that cause rather than reporting only a generic missing import.

Written by the indexing model from the issue text.

Description

feature priority-2-low topic-usability

This is a follow-up for https://github.com/python/mypy/pull/5231

With https://github.com/python/mypy/pull/5231 the import of an arbitrary module from a package contains a __getattr__ that returns either Any or types.ModuleType. It would be good to add a better error message about a missing import if the error appears because of a wrong return type of __getattr__.

Dominant language
Python
Stars
20.6k
Forks
3.3k
Avg merge
1d 18h
Merged PRs (30d)
54

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from python/mypy

All issues in python/mypy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.