Skip to content

Commit 25afccf

Browse files
committed
Add stubs for flask-migrate
As discussed in miguelgrinberg/Flask-Migrate#492 types should be added to typeshed.
1 parent dc7fdc6 commit 25afccf

File tree

4 files changed

+127
-0
lines changed

4 files changed

+127
-0
lines changed

pyrightconfig.stricter.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"stubs/cryptography",
3838
"stubs/dateparser",
3939
"stubs/docutils",
40+
"stubs/Flask-Migrate",
4041
"stubs/Flask-SQLAlchemy",
4142
"stubs/fpdf2",
4243
"stubs/html5lib",

stubs/Flask-Migrate/METADATA.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
version = "3.1.*"
2+
requires = ["types-Flask-SQLAlchemy", "types-SQLAlchemy"]
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
from collections.abc import Callable
2+
from logging import Logger
3+
from typing import Any, TypeVar
4+
from typing_extensions import ParamSpec
5+
6+
from flask_sqlalchemy import SQLAlchemy
7+
from sqlalchemy import MetaData
8+
9+
_T = TypeVar("_T")
10+
_P = ParamSpec("_P")
11+
_App = Any # flask.Flask is not possible as a dependency yet
12+
13+
alembic_version: tuple[int, int, int]
14+
log: Logger
15+
16+
class _MigrateConfig:
17+
migrate: Migrate
18+
db: SQLAlchemy | None
19+
directory: str
20+
configure_args: dict[str, Any]
21+
def __init__(self, migrate: Migrate, db: SQLAlchemy | None, **kwargs) -> None: ...
22+
@property
23+
def metadata(self) -> MetaData: ...
24+
25+
class Config: # should inherit from alembic.config.Config which is not possible yet
26+
template_directory: str | None
27+
def __init__(self, *args, **kwargs) -> None: ...
28+
def get_template_directory(self) -> str: ...
29+
30+
class Migrate:
31+
configure_callbacks: list[Callable[[Config], None]]
32+
db: SQLAlchemy | None
33+
directory: str
34+
alembic_ctx_kwargs: dict[str, Any]
35+
def __init__(self, app: _App | None = ..., db: SQLAlchemy | None = ..., directory: str = ..., **kwargs) -> None: ...
36+
def init_app(self, app: _App, db: SQLAlchemy | None = ..., directory: str | None = ..., **kwargs) -> None: ...
37+
def configure(self, f: Callable[[Config], None]) -> Callable[[Config], None]: ...
38+
def call_configure_callbacks(self, config: Config): ...
39+
def get_config(self, directory: str | None = ..., x_arg: tuple[str] | None = ..., opts: list[str] | None = ...): ...
40+
41+
def catch_errors(f: Callable[_P, _T]) -> Callable[_P, _T]: ...
42+
def list_templates() -> None: ...
43+
def init(directory: str | None = ..., multidb: bool = ..., template: str | None = ..., package: bool = ...) -> None: ...
44+
def revision(
45+
directory: str | None = ...,
46+
message: str | None = ...,
47+
autogenerate: bool = ...,
48+
sql: bool = ...,
49+
head: str = ...,
50+
splice: bool = ...,
51+
branch_label: str | None = ...,
52+
version_path: str | None = ...,
53+
rev_id: str | None = ...,
54+
) -> None: ...
55+
def migrate(
56+
directory: str | None = ...,
57+
message: str | None = ...,
58+
sql: bool = ...,
59+
head: str = ...,
60+
splice: bool = ...,
61+
branch_label: str | None = ...,
62+
version_path: str | None = ...,
63+
rev_id: str | None = ...,
64+
x_arg: tuple[str] | None = ...,
65+
) -> None: ...
66+
def edit(directory: str | None = ..., revision: str = ...) -> None: ...
67+
def merge(
68+
directory: str | None = ...,
69+
revisions: str = ...,
70+
message: str | None = ...,
71+
branch_label: str | None = ...,
72+
rev_id: str | None = ...,
73+
) -> None: ...
74+
def upgrade(
75+
directory: str | None = ..., revision: str = ..., sql: bool = ..., tag: str | None = ..., x_arg: tuple[str] | None = ...
76+
) -> None: ...
77+
def downgrade(
78+
directory: str | None = ..., revision: str = ..., sql: bool = ..., tag: str | None = ..., x_arg: tuple[str] | None = ...
79+
) -> None: ...
80+
def show(directory: str | None = ..., revision: str = ...) -> None: ...
81+
def history(
82+
directory: str | None = ..., rev_range: str | None = ..., verbose: bool = ..., indicate_current: bool = ...
83+
) -> None: ...
84+
def heads(directory: str | None = ..., verbose: bool = ..., resolve_dependencies: bool = ...) -> None: ...
85+
def branches(directory: str | None = ..., verbose: bool = ...) -> None: ...
86+
def current(directory: str | None = ..., verbose: bool = ...) -> None: ...
87+
def stamp(directory: str | None = ..., revision: str = ..., sql: bool = ..., tag: str | None = ...) -> None: ...
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
def db() -> None: ...
2+
def list_templates() -> None: ...
3+
def init(directory: str | None, multidb: bool, template: str | None, package: bool) -> None: ...
4+
def revision(
5+
directory: str | None,
6+
message: str | None,
7+
autogenerate: bool,
8+
sql: bool,
9+
head: str,
10+
splice: bool,
11+
branch_label: None | str,
12+
version_path: str | None,
13+
rev_id: str | None,
14+
) -> None: ...
15+
def migrate(
16+
directory: str | None,
17+
message: str | None,
18+
sql: bool,
19+
head: str,
20+
splice: bool,
21+
branch_label: None | str,
22+
version_path: str | None,
23+
rev_id: str | None,
24+
x_arg: tuple[str],
25+
) -> None: ...
26+
def edit(directory: str | None, revision: str) -> None: ...
27+
def merge(
28+
directory: str | None, message: str | None, branch_label: None | str, rev_id: str | None, revisions: tuple[str]
29+
) -> None: ...
30+
def upgrade(directory: str | None, sql: bool, tag: str | None, x_arg: tuple[str], revision: str) -> None: ...
31+
def downgrade(directory: str | None, sql: bool, tag: str | None, x_arg: tuple[str], revision: str) -> None: ...
32+
def show(directory: str | None, revision: str) -> None: ...
33+
def history(directory: str | None, rev_range: str | None, verbose: bool, indicate_current: bool) -> None: ...
34+
def heads(directory: str | None, verbose: bool, resolve_dependencies: bool) -> None: ...
35+
def branches(directory: str | None, verbose: bool) -> None: ...
36+
def current(directory: str | None, verbose: bool) -> None: ...
37+
def stamp(directory: str | None, sql: bool, tag: str | None, revision: str) -> None: ...

0 commit comments

Comments
 (0)