From 878765d4b197f82ca79c5ff399274d8ce006350a Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 1 Aug 2022 13:49:33 +0300 Subject: [PATCH 01/10] Use typing.Self instead of Generic in model query --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index b8250ae16b28..ee47b57d9952 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,12 +1,10 @@ from re import Pattern -from typing import Any, Generic, TypeVar +from typing import Any, Self, TypeVar from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta from sqlalchemy.orm import Query -_ModelT = TypeVar("_ModelT") - def should_set_tablename(cls: type) -> bool: ... camelcase_re: Pattern[str] @@ -22,6 +20,6 @@ class BindMetaMixin(type): class DefaultMeta(NameMetaMixin, BindMetaMixin, DeclarativeMeta): ... -class Model(Generic[_ModelT]): - query_class: type[Query[_ModelT]] | None - query: Query[_ModelT] | None +class Model: + query_class: type[Query[Self]] | None + query: Query[Self] | None From 9867ef2060bc16dd6fcd25e30f77c3dd1b1dcfd5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 10:51:39 +0000 Subject: [PATCH 02/10] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index ee47b57d9952..a83526df8960 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,5 +1,5 @@ from re import Pattern -from typing import Any, Self, TypeVar +from typing import Any, Self from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta From a029a5f02959d76e6a573ce77133ce5a209e6024 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 1 Aug 2022 16:42:30 +0300 Subject: [PATCH 03/10] Use _typeshed.Self --- .../Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index a83526df8960..959a92b0c42c 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,5 +1,7 @@ +from _typeshed import Self + from re import Pattern -from typing import Any, Self +from typing import Any from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta @@ -21,5 +23,13 @@ class BindMetaMixin(type): class DefaultMeta(NameMetaMixin, BindMetaMixin, DeclarativeMeta): ... class Model: - query_class: type[Query[Self]] | None - query: Query[Self] | None + # These aren't actually properties at runtime, but we treat them as such so we can use `self` types + # without using typing.Self + @property + def query_class(self: Self) -> type[Query[Self]] | None: ... + @query_class.setter + def query_class(self: Self, value: type[Query[Self]] | None) -> None: ... + @property + def query(self: Self) -> Query[Self] | None: ... + @query.setter + def query(self: Self, value: Query[Self] | None) -> None: ... From 10abe5e4bc2b4453cb41472d5b3d641354862fee Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 1 Aug 2022 16:44:53 +0300 Subject: [PATCH 04/10] Delete typing.Any --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index 959a92b0c42c..d2bc0bd784aa 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,7 +1,6 @@ from _typeshed import Self from re import Pattern -from typing import Any from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta From a2021add5f4dbc75205adb8f8ccb55e9f010a278 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 13:45:39 +0000 Subject: [PATCH 05/10] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index d2bc0bd784aa..037125fa3022 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,5 +1,4 @@ from _typeshed import Self - from re import Pattern from sqlalchemy import Table From f45d0ab7f36f53a5dab467e976c70ed09d6d03d9 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 1 Aug 2022 17:01:52 +0300 Subject: [PATCH 06/10] Return typing.Any --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index 037125fa3022..379ecb76c69a 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,5 +1,6 @@ from _typeshed import Self from re import Pattern +from typing import Any from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta From 350372bce5ce953dcef031d9f89553b774606485 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 8 Aug 2022 15:39:54 +0300 Subject: [PATCH 07/10] Revert changes for model from #8389 --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index 379ecb76c69a..47768477b66e 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -1,4 +1,3 @@ -from _typeshed import Self from re import Pattern from typing import Any @@ -22,13 +21,5 @@ class BindMetaMixin(type): class DefaultMeta(NameMetaMixin, BindMetaMixin, DeclarativeMeta): ... class Model: - # These aren't actually properties at runtime, but we treat them as such so we can use `self` types - # without using typing.Self - @property - def query_class(self: Self) -> type[Query[Self]] | None: ... - @query_class.setter - def query_class(self: Self, value: type[Query[Self]] | None) -> None: ... - @property - def query(self: Self) -> Query[Self] | None: ... - @query.setter - def query(self: Self, value: Query[Self] | None) -> None: ... + query_class: Any | None + query: Any | None From ced7ba3f3fc0705faa8b60d0f8a12a0a905918ad Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 12:42:31 +0000 Subject: [PATCH 08/10] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index 47768477b66e..430a7e0ba899 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -3,7 +3,6 @@ from typing import Any from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta -from sqlalchemy.orm import Query def should_set_tablename(cls: type) -> bool: ... From 40ea1d835deb80ca76a764d6db43ff8c5b78f045 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 10 Aug 2022 18:03:03 +0100 Subject: [PATCH 09/10] Update stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index 430a7e0ba899..be58c846bd24 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -20,5 +20,5 @@ class BindMetaMixin(type): class DefaultMeta(NameMetaMixin, BindMetaMixin, DeclarativeMeta): ... class Model: - query_class: Any | None - query: Any | None + query_class: type[Query[Any]] | None + query: Query[Any] | None From 89f096b8252766d21e7b98221aab570a29c94b6f Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 10 Aug 2022 18:04:14 +0100 Subject: [PATCH 10/10] Update stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi --- stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi index be58c846bd24..f1780c09082f 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi @@ -3,6 +3,7 @@ from typing import Any from sqlalchemy import Table from sqlalchemy.ext.declarative import DeclarativeMeta +from sqlalchemy.orm import Query def should_set_tablename(cls: type) -> bool: ...