Skip to content

Commit

Permalink
fix(ruff): adjust generated imports for 0.9.5
Browse files Browse the repository at this point in the history
  • Loading branch information
dangotbanned committed Feb 7, 2025
1 parent 3e95918 commit bf72179
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 28 deletions.
10 changes: 6 additions & 4 deletions altair/vegalite/v5/schema/_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@
import sys
from typing import TYPE_CHECKING, Any, Literal, TypedDict

if sys.version_info >= (3, 14):
from typing import TypedDict
else:
from typing_extensions import TypedDict
from ._typing import PaddingKwds, RowColKwds

if TYPE_CHECKING:
Expand All @@ -19,6 +15,12 @@
from ._typing import * # noqa: F403


if sys.version_info >= (3, 14):
from typing import TypedDict
else:
from typing_extensions import TypedDict


__all__ = [
"AreaConfigKwds",
"AutoSizeParamsKwds",
Expand Down
10 changes: 5 additions & 5 deletions altair/vegalite/v5/schema/channels.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,8 @@
# sense if there are multiple ones
# However, we need these overloads due to how the propertysetter works
# mypy: disable-error-code="no-overload-impl, empty-body, misc"
import sys
from typing import TYPE_CHECKING, Any, Literal, TypedDict, Union, overload

if sys.version_info >= (3, 10):
from typing import TypeAlias
else:
from typing_extensions import TypeAlias
import narwhals.stable.v1 as nw

from altair.utils import infer_encoding_types as _infer_encoding_types
Expand All @@ -28,6 +23,7 @@

if TYPE_CHECKING:
# ruff: noqa: F405
import sys
from collections.abc import Sequence

from altair import Parameter, SchemaBase
Expand All @@ -48,6 +44,10 @@
from typing import Self
else:
from typing_extensions import Self
if sys.version_info >= (3, 10):
from typing import TypeAlias
else:
from typing_extensions import TypeAlias


__all__ = [
Expand Down
4 changes: 1 addition & 3 deletions altair/vegalite/v5/schema/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@

from . import core

if TYPE_CHECKING:
from collections.abc import Sequence

if TYPE_CHECKING:
# ruff: noqa: F405
import sys
from collections.abc import Sequence

if sys.version_info >= (3, 11):
from typing import Self
Expand Down
33 changes: 18 additions & 15 deletions tools/generate_schema_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -761,13 +761,12 @@ def generate_vegalite_schema_wrapper(fp: Path, /) -> ModuleDef[str]:
all_ = [*sorted(it), "Root", "VegaLiteSchema", "SchemaBase", "load_schema"]
contents = [
HEADER,
"from collections.abc import Iterator, Sequence",
"from typing import Any, Literal, Union, Protocol, TYPE_CHECKING",
"from typing import Any, Literal, Union",
"import pkgutil",
"import json\n",
"import narwhals.stable.v1 as nw\n",
"from altair.utils.schemapi import SchemaBase, Undefined, UndefinedType, _subclasses # noqa: F401\n",
import_type_checking(
"from collections.abc import Iterator, Sequence",
"from datetime import date, datetime",
"from altair import Parameter",
"from altair.typing import Optional",
Expand Down Expand Up @@ -880,13 +879,11 @@ def generate_vegalite_channel_wrappers(fp: Path, /) -> ModuleDef[list[str]]:
all_ = sorted(chain(it, COMPAT_EXPORTS))
imports = [
"import sys",
"from collections.abc import Sequence",
"from typing import Any, overload, Literal, Union, TYPE_CHECKING, TypedDict",
import_typing_extensions((3, 10), "TypeAlias"),
"from typing import Any, overload, Literal, Union, TypedDict",
"import narwhals.stable.v1 as nw",
"from altair.utils.schemapi import Undefined, with_property_setters",
"from altair.utils import infer_encoding_types as _infer_encoding_types",
"from altair.utils import parse_shorthand",
"from altair.utils.schemapi import Undefined, with_property_setters",
"from . import core",
"from ._typing import * # noqa: F403",
]
Expand All @@ -906,12 +903,16 @@ def generate_vegalite_channel_wrappers(fp: Path, /) -> ModuleDef[list[str]]:
CHANNEL_MYPY_IGNORE_STATEMENTS,
*imports,
import_type_checking(
"from datetime import date, datetime",
"from collections.abc import Sequence",
"from altair import Parameter, SchemaBase",
"from altair.typing import Optional",
f"from altair.vegalite.v5.schema.core import {', '.join(TYPING_CORE)}",
f"from altair.vegalite.v5.api import {', '.join(TYPING_API)}",
textwrap.indent(import_typing_extensions((3, 11), "Self"), " "),
textwrap.indent(
import_typing_extensions((3, 11), "Self")
+ import_typing_extensions((3, 10), "TypeAlias"),
" ",
),
),
f"\n__all__ = {all_}\n",
CHANNEL_MIXINS,
Expand Down Expand Up @@ -1234,7 +1235,6 @@ def vegalite_main(skip_download: bool = False) -> None:
fp_mixins = schemapath / "mixins.py"
print(f"Generating\n {schemafile!s}\n ->{fp_mixins!s}")
mixins_imports = (
"from collections.abc import Sequence",
"from typing import Any, Literal, Union",
"from altair.utils import use_signature, Undefined, SchemaBase",
"from . import core",
Expand All @@ -1249,6 +1249,7 @@ def vegalite_main(skip_download: bool = False) -> None:
"\n\n",
import_type_checking(
"import sys",
"from collections.abc import Sequence",
textwrap.indent(import_typing_extensions((3, 11), "Self"), " "),
"from altair.typing import Optional",
"from ._typing import * # noqa: F403",
Expand All @@ -1265,12 +1266,14 @@ def vegalite_main(skip_download: bool = False) -> None:
fp_theme_config: Path = schemapath / "_config.py"
content_theme_config = [
HEADER,
"from collections.abc import Sequence",
"from typing import Any, TYPE_CHECKING, Literal, TypedDict, Union",
import_typing_extensions((3, 14), "TypedDict", include_sys=True),
"from typing import Any, Literal, TypedDict, Union",
"import sys",
f"from ._typing import {ROW_COL_KWDS}, {PADDING_KWDS}",
"\n\n",
import_type_checking("from ._typing import * # noqa: F403"),
import_type_checking(
"from collections.abc import Sequence",
"from ._typing import * # noqa: F403",
),
import_typing_extensions((3, 14), "TypedDict"),
"\n\n",
*generate_config_typed_dicts(schemafile),
]
Expand Down
7 changes: 6 additions & 1 deletion tools/schemapi/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1251,7 +1251,12 @@ def unwrap_literal(tp: str, /) -> str:
def import_type_checking(*imports: str) -> str:
"""Write an `if TYPE_CHECKING` block."""
imps = "\n".join(f" {s}" for s in imports)
return f"\nif TYPE_CHECKING:\n # ruff: noqa: F405\n{imps}\n"
return (
f"from typing import TYPE_CHECKING\n\n"
f"if TYPE_CHECKING:\n"
f" # ruff: noqa: F405\n"
f"{imps}\n"
)


def import_typing_extensions(
Expand Down

0 comments on commit bf72179

Please sign in to comment.