mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-15 16:27:08 +08:00
Update Ruff and enable F821 in stubs (#11771)
This commit is contained in:
2
.flake8
2
.flake8
@@ -1,7 +1,7 @@
|
||||
[flake8]
|
||||
# NQA: Ruff won't warn about redundant `# noqa: Y`
|
||||
# Y: Flake8 is only used to run flake8-pyi, everything else is in Ruff
|
||||
# F821: Until https://github.com/astral-sh/ruff/issues/3011 is fixed, we need flake8-pyi's monkeypatching
|
||||
# F821: Typeshed is a testing ground for flake8-pyi, which monkeypatches F821
|
||||
select = NQA, Y, F821
|
||||
# Ignore rules normally excluded by default
|
||||
extend-ignore = Y090
|
||||
|
||||
@@ -11,7 +11,7 @@ repos:
|
||||
args: [--fix=lf]
|
||||
- id: check-case-conflict
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.3.5 # must match requirements-tests.txt
|
||||
rev: v0.3.7 # must match requirements-tests.txt
|
||||
hooks:
|
||||
- id: ruff
|
||||
# Run this separately because we don't really want
|
||||
|
||||
@@ -91,8 +91,6 @@ ignore = [
|
||||
"E501", # Line too long
|
||||
"E741", # ambiguous variable name
|
||||
"F403", # `from . import *` used; unable to detect undefined names
|
||||
# False positives in stubs
|
||||
"F821", # Undefined name: https://github.com/astral-sh/ruff/issues/3011
|
||||
# Stubs can sometimes re-export entire modules.
|
||||
# Issues with using a star-imported name will be caught by type-checkers.
|
||||
"F405", # may be undefined, or defined from star imports
|
||||
|
||||
@@ -9,7 +9,7 @@ mypy==1.9.0
|
||||
pre-commit-hooks==4.5.0 # must match .pre-commit-config.yaml
|
||||
pyright==1.1.358
|
||||
pytype==2024.4.11; platform_system != "Windows" and python_version < "3.12"
|
||||
ruff==0.3.5 # must match .pre-commit-config.yaml
|
||||
ruff==0.3.7 # must match .pre-commit-config.yaml
|
||||
|
||||
# Libraries used by our various scripts.
|
||||
aiohttp==3.9.3
|
||||
|
||||
@@ -132,9 +132,6 @@ if sys.version_info >= (3, 12):
|
||||
ContextManager = AbstractContextManager
|
||||
AsyncContextManager = AbstractAsyncContextManager
|
||||
|
||||
# This itself is only available during type checking
|
||||
def type_check_only(func_or_cls: _F) -> _F: ...
|
||||
|
||||
Any = object()
|
||||
|
||||
def final(f: _T) -> _T: ...
|
||||
@@ -183,12 +180,6 @@ class _SpecialForm:
|
||||
def __or__(self, other: Any) -> _SpecialForm: ...
|
||||
def __ror__(self, other: Any) -> _SpecialForm: ...
|
||||
|
||||
_F = TypeVar("_F", bound=Callable[..., Any])
|
||||
_P = _ParamSpec("_P")
|
||||
_T = TypeVar("_T")
|
||||
|
||||
def overload(func: _F) -> _F: ...
|
||||
|
||||
Union: _SpecialForm
|
||||
Generic: _SpecialForm
|
||||
# Protocol is only present in 3.8 and later, but mypy needs it unconditionally
|
||||
@@ -295,6 +286,10 @@ if sys.version_info >= (3, 10):
|
||||
else:
|
||||
def NewType(name: str, tp: Any) -> Any: ...
|
||||
|
||||
_F = TypeVar("_F", bound=Callable[..., Any])
|
||||
_P = _ParamSpec("_P")
|
||||
_T = TypeVar("_T")
|
||||
|
||||
# These type variables are used by the container types.
|
||||
_S = TypeVar("_S")
|
||||
_KT = TypeVar("_KT") # Key type.
|
||||
@@ -304,9 +299,13 @@ _KT_co = TypeVar("_KT_co", covariant=True) # Key type covariant containers.
|
||||
_VT_co = TypeVar("_VT_co", covariant=True) # Value type covariant containers.
|
||||
_TC = TypeVar("_TC", bound=type[object])
|
||||
|
||||
def overload(func: _F) -> _F: ...
|
||||
def no_type_check(arg: _F) -> _F: ...
|
||||
def no_type_check_decorator(decorator: Callable[_P, _T]) -> Callable[_P, _T]: ...
|
||||
|
||||
# This itself is only available during type checking
|
||||
def type_check_only(func_or_cls: _F) -> _F: ...
|
||||
|
||||
# Type aliases and type constructors
|
||||
|
||||
class _Alias:
|
||||
|
||||
@@ -11,7 +11,6 @@ from .resultrow import ResultRow
|
||||
apilevel: str
|
||||
threadsafety: int
|
||||
paramstyle: tuple[str, ...] # hdbcli defines it as a tuple which does not follow PEP 249
|
||||
connect = Connection
|
||||
|
||||
class Connection:
|
||||
def __init__(
|
||||
@@ -40,6 +39,8 @@ class Connection:
|
||||
def setautocommit(self, auto: bool = ...) -> None: ...
|
||||
def setclientinfo(self, key: str, value: str | None = ...) -> None: ...
|
||||
|
||||
connect = Connection
|
||||
|
||||
class LOB:
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def close(self) -> bool: ...
|
||||
|
||||
Reference in New Issue
Block a user