8000 Implicit re-exports should not be disabled for installed PEP 561 packages · Issue #8754 · python/mypy · GitHub
[go: up one dir, main page]

Skip to content
Implicit re-exports should not be disabled for installed PEP 561 packages #8754
Closed
@GPHemsley

Description

@GPHemsley

With:

  • Python 3.6.10
  • mypy 0.770
  • requests 2.23.0
  • tenacity 6.2.0

the following code:

#!/usr/bin/env python3

from typing import (
	Any,
	Callable,
)

import requests
import tenacity

# Keep trying the request until we connect.
@tenacity.retry(retry=tenacity.retry_if_exception_type(requests.exceptions.ConnectionError))
def retry_if_connection_error(func: Callable[..., requests.Response], *args: Any, **kwargs: Any) -> requests.Response:
	return func(*args, **kwargs)

# Keep trying the request unless we connect.
@tenacity.retry(retry=tenacity.retry_unless_exception_type(requests.exceptions.ConnectionError))
def retry_unless_connection_error(func: Callable[..., requests.Response], *args: Any, **kwargs: Any) -> requests.Response:
	return func(*args, **kwargs)

produces the following output:

$ mypy --strict scripts/dev_test_mypy_tenacity.py
scripts/dev_test_mypy_tenacity.py:12: error: Module has no attribute "retry_if_exception_type"; maybe "retry_if_exception", "retry_unless_exception_type", or "retry_if_exception_message"?
    @tenacity.retry(retry=tenacity.retry_if_exception_type(requests.exceptions.ConnectionError))
                          ^
scripts/dev_test_mypy_tenacity.py:17: error: Module has no attribute "retry_unless_exception_type"; maybe "retry_if_exception_type"?
    @tenacity.retry(retry=tenacity.retry_unless_exception_type(requests.exceptions.ConnectionError))
                          ^
Found 2 errors in 1 file (checked 1 source file)

Note that each error message suggests an alternative that the other error message insists does not exist.

Tenacity only just added the bare minimum of type hints (jd/tenacity#221), so I don't know if there's some conflict there, but even if that's the case, this seems like a bug in mypy.

Possibly related mypy issues: #8220, #8210, #7125, #7029, #6551, #4930

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0