From 8ba027408791a56fca5f07f6a5a5fd3c433d71f2 Mon Sep 17 00:00:00 2001 From: Maarten Pronk Date: Tue, 12 Sep 2023 13:10:20 +0200 Subject: [PATCH] Ignore dynamically created imports in mypy. --- python/ribasim/ribasim/node_types/basin.py | 2 +- .../ribasim/node_types/discrete_control.py | 5 +++- .../ribasim/node_types/flow_boundary.py | 5 +++- .../ribasim/node_types/fractional_flow.py | 2 +- .../ribasim/node_types/level_boundary.py | 5 +++- .../ribasim/node_types/linear_resistance.py | 2 +- .../ribasim/node_types/manning_resistance.py | 2 +- python/ribasim/ribasim/node_types/outlet.py | 2 +- .../ribasim/ribasim/node_types/pid_control.py | 2 +- python/ribasim/ribasim/node_types/pump.py | 2 +- .../node_types/tabulated_rating_curve.py | 2 +- python/ribasim/ribasim/node_types/terminal.py | 2 +- python/ribasim/ribasim/schemas.py | 29 +++++++++---------- 13 files changed, 34 insertions(+), 28 deletions(-) diff --git a/python/ribasim/ribasim/node_types/basin.py b/python/ribasim/ribasim/node_types/basin.py index 36a2f8342..900b407c3 100644 --- a/python/ribasim/ribasim/node_types/basin.py +++ b/python/ribasim/ribasim/node_types/basin.py @@ -3,7 +3,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import ( +from ribasim.schemas import ( # type: ignore BasinForcingSchema, BasinProfileSchema, BasinStateSchema, diff --git a/python/ribasim/ribasim/node_types/discrete_control.py b/python/ribasim/ribasim/node_types/discrete_control.py index 16695c731..99c3fe4b6 100644 --- a/python/ribasim/ribasim/node_types/discrete_control.py +++ b/python/ribasim/ribasim/node_types/discrete_control.py @@ -1,7 +1,10 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import DiscreteControlConditionSchema, DiscreteControlLogicSchema +from ribasim.schemas import ( # type: ignore + DiscreteControlConditionSchema, + DiscreteControlLogicSchema, +) __all__ = ("DiscreteControl",) diff --git a/python/ribasim/ribasim/node_types/flow_boundary.py b/python/ribasim/ribasim/node_types/flow_boundary.py index 713d6fa03..f78f913ca 100644 --- a/python/ribasim/ribasim/node_types/flow_boundary.py +++ b/python/ribasim/ribasim/node_types/flow_boundary.py @@ -3,7 +3,10 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import FlowBoundaryStaticSchema, FlowBoundaryTimeSchema +from ribasim.schemas import ( # type: ignore + FlowBoundaryStaticSchema, + FlowBoundaryTimeSchema, +) __all__ = ("FlowBoundary",) diff --git a/python/ribasim/ribasim/node_types/fractional_flow.py b/python/ribasim/ribasim/node_types/fractional_flow.py index 1ecba37d5..8e6648701 100644 --- a/python/ribasim/ribasim/node_types/fractional_flow.py +++ b/python/ribasim/ribasim/node_types/fractional_flow.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import FractionalFlowStaticSchema +from ribasim.schemas import FractionalFlowStaticSchema # type: ignore __all__ = ("FractionalFlow",) diff --git a/python/ribasim/ribasim/node_types/level_boundary.py b/python/ribasim/ribasim/node_types/level_boundary.py index 777938cd4..c83b9e064 100644 --- a/python/ribasim/ribasim/node_types/level_boundary.py +++ b/python/ribasim/ribasim/node_types/level_boundary.py @@ -3,7 +3,10 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import LevelBoundaryStaticSchema, LevelBoundaryTimeSchema +from ribasim.schemas import ( # type: ignore + LevelBoundaryStaticSchema, + LevelBoundaryTimeSchema, +) __all__ = ("LevelBoundary",) diff --git a/python/ribasim/ribasim/node_types/linear_resistance.py b/python/ribasim/ribasim/node_types/linear_resistance.py index 8844364de..ec93a53e1 100644 --- a/python/ribasim/ribasim/node_types/linear_resistance.py +++ b/python/ribasim/ribasim/node_types/linear_resistance.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import LinearResistanceStaticSchema +from ribasim.schemas import LinearResistanceStaticSchema # type: ignore __all__ = ("LinearResistance",) diff --git a/python/ribasim/ribasim/node_types/manning_resistance.py b/python/ribasim/ribasim/node_types/manning_resistance.py index 7c691403d..50dc43fe3 100644 --- a/python/ribasim/ribasim/node_types/manning_resistance.py +++ b/python/ribasim/ribasim/node_types/manning_resistance.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import ManningResistanceStaticSchema +from ribasim.schemas import ManningResistanceStaticSchema # type: ignore __all__ = ("ManningResistance",) diff --git a/python/ribasim/ribasim/node_types/outlet.py b/python/ribasim/ribasim/node_types/outlet.py index 85849e6b4..46fb70c22 100644 --- a/python/ribasim/ribasim/node_types/outlet.py +++ b/python/ribasim/ribasim/node_types/outlet.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import OutletStaticSchema +from ribasim.schemas import OutletStaticSchema # type: ignore __all__ = ("Outlet",) diff --git a/python/ribasim/ribasim/node_types/pid_control.py b/python/ribasim/ribasim/node_types/pid_control.py index 4869dcdaf..a75eae42d 100644 --- a/python/ribasim/ribasim/node_types/pid_control.py +++ b/python/ribasim/ribasim/node_types/pid_control.py @@ -3,7 +3,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import PidControlStaticSchema, PidControlTimeSchema +from ribasim.schemas import PidControlStaticSchema, PidControlTimeSchema # type: ignore __all__ = ("PidControl",) diff --git a/python/ribasim/ribasim/node_types/pump.py b/python/ribasim/ribasim/node_types/pump.py index a3eb4a258..d2a966a25 100644 --- a/python/ribasim/ribasim/node_types/pump.py +++ b/python/ribasim/ribasim/node_types/pump.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import PumpStaticSchema +from ribasim.schemas import PumpStaticSchema # type: ignore __all__ = ("Pump",) diff --git a/python/ribasim/ribasim/node_types/tabulated_rating_curve.py b/python/ribasim/ribasim/node_types/tabulated_rating_curve.py index 15a61752e..765a45965 100644 --- a/python/ribasim/ribasim/node_types/tabulated_rating_curve.py +++ b/python/ribasim/ribasim/node_types/tabulated_rating_curve.py @@ -3,7 +3,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import ( +from ribasim.schemas import ( # type: ignore TabulatedRatingCurveStaticSchema, TabulatedRatingCurveTimeSchema, ) diff --git a/python/ribasim/ribasim/node_types/terminal.py b/python/ribasim/ribasim/node_types/terminal.py index bbc57eca3..3eb47e2a2 100644 --- a/python/ribasim/ribasim/node_types/terminal.py +++ b/python/ribasim/ribasim/node_types/terminal.py @@ -1,7 +1,7 @@ from pandera.typing import DataFrame from ribasim.input_base import TableModel -from ribasim.schemas import TerminalStaticSchema +from ribasim.schemas import TerminalStaticSchema # type: ignore __all__ = ("Terminal",) diff --git a/python/ribasim/ribasim/schemas.py b/python/ribasim/ribasim/schemas.py index e9d6024c1..c7c44ab0c 100644 --- a/python/ribasim/ribasim/schemas.py +++ b/python/ribasim/ribasim/schemas.py @@ -2,7 +2,7 @@ Generate Pandera Schemas from all autogenerated Pydantic Models These classes have Schema as a postfix, so Ribasim.models.PumpStatic -becomes Ribasim.node_types.PumpStaticSchema. +becomes Ribasim.schemas.PumpStaticSchema. """ import inspect import sys @@ -14,22 +14,19 @@ def gen_schema(name, cls): - classname = f"{name}Schema" - setattr( - sys.modules[__name__], - classname, - type( - classname, - (pa.DataFrameModel,), - { - "Config": type( - f"{classname}.Config", - (), - {"dtype": PydanticModel(cls), "coerce": True}, - ) - }, - ), + cname = f"{name}Schema" + ctype = type( + cname, + (pa.DataFrameModel,), + { + "Config": type( + f"{cname}.Config", + (), + {"dtype": PydanticModel(cls), "coerce": True}, + ) + }, ) + setattr(sys.modules[__name__], cname, ctype) for name, cls in inspect.getmembers(models, inspect.isclass):