]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Added missing attributes from context stubs.
authorCaselIT <cfederico87@gmail.com>
Mon, 6 Sep 2021 21:22:30 +0000 (23:22 +0200)
committerCaselIT <cfederico87@gmail.com>
Tue, 14 Sep 2021 19:57:20 +0000 (21:57 +0200)
Fixes: #900
Change-Id: I2e21b6f363bf6405bd472c9aca04fbbc3c9cc384

alembic/context.pyi
docs/build/unreleased/900.rst [new file with mode: 0644]
tools/write_pyi.py

index c70f5fcc7c32989048823eea3e74cbbba93f7ea2..5c29d3aef0dd350df732a4bf795c1e0e5e5c3470 100644 (file)
@@ -13,8 +13,10 @@ if TYPE_CHECKING:
     from sqlalchemy.engine.base import Connection
     from sqlalchemy.sql.schema import MetaData
 
+    from .config import Config
     from .runtime.migration import _ProxyTransaction
     from .runtime.migration import MigrationContext
+    from .script import ScriptDirectory
 
 ### end imports ###
 
@@ -62,6 +64,8 @@ def begin_transaction() -> Union["_ProxyTransaction", ContextManager]:
 
     """
 
+config: Config
+
 def configure(
     connection: Optional["Connection"] = None,
     url: Optional[str] = None,
@@ -715,6 +719,8 @@ def run_migrations(**kw) -> None:
 
     """
 
+script: ScriptDirectory
+
 def static_output(text):
     """Emit text directly to the "offline" SQL stream.
 
diff --git a/docs/build/unreleased/900.rst b/docs/build/unreleased/900.rst
new file mode 100644 (file)
index 0000000..88f9f17
--- /dev/null
@@ -0,0 +1,5 @@
+.. change::
+    :tags: bug, typing
+    :tickets: 900
+
+    Added missing attributes from context stubs.
index df2a55fd056079ae6a022b1472463fdb2359a2aa..60728a8d72d6fd90576bfbd32d0b6690da616940 100644 (file)
@@ -19,11 +19,9 @@ if True:  # avoid flake/zimports messing with the order
 IGNORE_ITEMS = {
     "op": {"context", "create_module_class_proxy"},
     "context": {
-        "config",
         "create_module_class_proxy",
         "get_impl",
         "requires_connection",
-        "script",
     },
 }
 
@@ -95,7 +93,8 @@ def generate_pyi_for_proxy(
 
 
 def _generate_stub_for_attr(cls, name, printer):
-    printer.writeline(f"{name}: Any")
+    type_ = cls.__annotations__.get(name, "Any")
+    printer.writeline(f"{name}: {type_}")
 
 
 def _generate_stub_for_meth(cls, name, printer):