Use pyright 1.1.230 in CI, temporarily pin pyright-action to 1.0.4 (#7495)

* Upgrade pyright to 1.1.230
* Add `type: ignore`s for new pyright checks regarding multiple inheritance
* Temporarily pin pyright-action to 1.0.4, as changes made in 1.0.5 break typeshed's CI

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
Alex Waygood
2022-03-16 14:24:55 +00:00
committed by GitHub
parent b78f0c21ba
commit 15e21a8dc1
6 changed files with 26 additions and 16 deletions

View File

@@ -72,17 +72,17 @@ jobs:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
fail-fast: false
env:
PYRIGHT_VERSION: 1.1.218 # Must match pyright_test.py.
PYRIGHT_VERSION: 1.1.230 # Must match pyright_test.py.
steps:
- uses: actions/checkout@v2
- uses: jakebailey/pyright-action@v1
- uses: jakebailey/pyright-action@v1.0.4
with:
version: ${{ env.PYRIGHT_VERSION }}
python-platform: ${{ matrix.python-platform }}
python-version: ${{ matrix.python-version }}
no-comments: ${{ matrix.python-version != '3.9' || matrix.python-platform != 'Linux' }} # Having each job create the same comment is too noisy.
project: ./pyrightconfig.stricter.json
- uses: jakebailey/pyright-action@v1
- uses: jakebailey/pyright-action@v1.0.4
with:
version: ${{ env.PYRIGHT_VERSION }}
python-platform: ${{ matrix.python-platform }}

View File

@@ -29,7 +29,9 @@ class MSExecutionContext_pyodbc(MSExecutionContext):
def pre_exec(self) -> None: ...
def post_exec(self) -> None: ...
class MSDialect_pyodbc(PyODBCConnector, MSDialect):
# pyright complains about incompatible definitions of "supports_sane_rowcount_returning" in the base classes,
# hence the type: ignore
class MSDialect_pyodbc(PyODBCConnector, MSDialect): # type: ignore
supports_statement_cache: bool
supports_sane_rowcount_returning: bool
colspecs: Any

View File

@@ -10,7 +10,9 @@ class _pyodbcTIME(TIME):
class MySQLExecutionContext_pyodbc(MySQLExecutionContext):
def get_lastrowid(self): ...
class MySQLDialect_pyodbc(PyODBCConnector, MySQLDialect):
# pyright complains about incompatible definitions of "supports_sane_rowcount_returning" variable in the base classes,
# hence the type: ignore
class MySQLDialect_pyodbc(PyODBCConnector, MySQLDialect): # type: ignore
supports_statement_cache: bool
colspecs: Any
supports_unicode_statements: bool

View File

@@ -4,7 +4,9 @@ import sqlalchemy.types as sqltypes
from ...sql import functions as sqlfunc
class HSTORE(sqltypes.Indexable, sqltypes.Concatenable, sqltypes.TypeEngine):
# pyright complains that "Comparator" is defined incompatibly in the base classes,
# hence the type: ignore
class HSTORE(sqltypes.Indexable, sqltypes.Concatenable, sqltypes.TypeEngine): # type: ignore
__visit_name__: str
hashable: bool
text_type: Any

View File

@@ -1,3 +1,7 @@
# pyright complains that several classes in this file
# have incompatible definitions of the "Comparator" variable in their bases,
# meaning there are several type: ignores
from typing import Any
from .base import SchemaEventTarget
@@ -24,7 +28,7 @@ class Indexable:
def __getitem__(self, index): ...
comparator_factory: Any
class String(Concatenable, TypeEngine):
class String(Concatenable, TypeEngine): # type: ignore
__visit_name__: str
RETURNS_UNICODE: Any
RETURNS_BYTES: Any
@@ -59,7 +63,7 @@ class UnicodeText(Text):
__visit_name__: str
def __init__(self, length: Any | None = ..., **kwargs) -> None: ...
class Integer(_LookupExpressionAdapter, TypeEngine):
class Integer(_LookupExpressionAdapter, TypeEngine): # type: ignore
__visit_name__: str
def get_dbapi_type(self, dbapi): ...
@property
@@ -72,7 +76,7 @@ class SmallInteger(Integer):
class BigInteger(Integer):
__visit_name__: str
class Numeric(_LookupExpressionAdapter, TypeEngine):
class Numeric(_LookupExpressionAdapter, TypeEngine): # type: ignore
__visit_name__: str
precision: Any
scale: Any
@@ -97,7 +101,7 @@ class Float(Numeric):
def __init__(self, precision: Any | None = ..., asdecimal: bool = ..., decimal_return_scale: Any | None = ...) -> None: ...
def result_processor(self, dialect, coltype): ...
class DateTime(_LookupExpressionAdapter, TypeEngine):
class DateTime(_LookupExpressionAdapter, TypeEngine): # type: ignore
__visit_name__: str
timezone: Any
def __init__(self, timezone: bool = ...) -> None: ...
@@ -105,13 +109,13 @@ class DateTime(_LookupExpressionAdapter, TypeEngine):
@property
def python_type(self): ...
class Date(_LookupExpressionAdapter, TypeEngine):
class Date(_LookupExpressionAdapter, TypeEngine): # type: ignore
__visit_name__: str
def get_dbapi_type(self, dbapi): ...
@property
def python_type(self): ...
class Time(_LookupExpressionAdapter, TypeEngine):
class Time(_LookupExpressionAdapter, TypeEngine): # type: ignore
__visit_name__: str
timezone: Any
def __init__(self, timezone: bool = ...) -> None: ...
@@ -199,7 +203,7 @@ class Boolean(Emulated, TypeEngine, SchemaType): # type: ignore[misc]
def bind_processor(self, dialect): ...
def result_processor(self, dialect, coltype): ...
class _AbstractInterval(_LookupExpressionAdapter, TypeEngine):
class _AbstractInterval(_LookupExpressionAdapter, TypeEngine): # type: ignore
def coerce_compared_value(self, op, value): ...
class Interval(Emulated, _AbstractInterval, TypeDecorator): # type: ignore[misc]
@@ -216,7 +220,7 @@ class Interval(Emulated, _AbstractInterval, TypeDecorator): # type: ignore[misc
def bind_processor(self, dialect): ...
def result_processor(self, dialect, coltype): ...
class JSON(Indexable, TypeEngine):
class JSON(Indexable, TypeEngine): # type: ignore
__visit_name__: str
hashable: bool
NULL: Any
@@ -251,7 +255,7 @@ class JSON(Indexable, TypeEngine):
def bind_processor(self, dialect): ...
def result_processor(self, dialect, coltype): ...
class ARRAY(SchemaEventTarget, Indexable, Concatenable, TypeEngine):
class ARRAY(SchemaEventTarget, Indexable, Concatenable, TypeEngine): # type: ignore
__visit_name__: str
zero_indexes: bool

View File

@@ -5,7 +5,7 @@ import subprocess
import sys
from pathlib import Path
_PYRIGHT_VERSION = "1.1.218" # Must match .github/workflows/tests.yml.
_PYRIGHT_VERSION = "1.1.230" # Must match .github/workflows/tests.yml.
_WELL_KNOWN_FILE = Path("tests", "pyright_test.py")