Skip to content

Commit f1f36bd

Browse files
chore: convert all relative imports to absolute imports (#29)
## Description This is a small PR that does some cleanup I wanted to do for a while: - Converted all relative imports to absolute imports - Added a rule against this: https://docs.astral.sh/ruff/rules/relative-imports/ Relative imports are not bad, it's just that absolute imports are nicer, at least to me :)
2 parents 21f91b5 + a0ec721 commit f1f36bd

24 files changed

+88
-73
lines changed

pyodide_build/_py_compile.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from packaging.tags import Tag
1212
from packaging.utils import parse_wheel_filename
1313

14-
from .common import _get_sha256_checksum
15-
from .logger import logger, set_log_level
14+
from pyodide_build.common import _get_sha256_checksum
15+
from pyodide_build.logger import logger, set_log_level
1616

1717

1818
def _specialize_convert_tags(tags: set[Tag] | frozenset[Tag], wheel_name: str) -> Tag:

pyodide_build/bash_runner.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
from types import TracebackType
1010
from typing import Any, TextIO
1111

12-
from .build_env import (
12+
from pyodide_build.build_env import (
1313
get_build_environment_vars,
1414
get_pyodide_root,
1515
)
16-
from .common import exit_with_stdio
17-
from .logger import logger
16+
from pyodide_build.common import exit_with_stdio
17+
from pyodide_build.logger import logger
1818

1919

2020
class BashRunnerWithSharedEnvironment:

pyodide_build/build_env.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313

1414
from packaging.tags import Tag, compatible_tags, cpython_tags
1515

16-
from . import __version__
17-
from .common import search_pyproject_toml, xbuildenv_dirname
18-
from .config import ConfigManager
19-
from .recipe import load_all_recipes
16+
from pyodide_build import __version__
17+
from pyodide_build.common import search_pyproject_toml, xbuildenv_dirname
18+
from pyodide_build.config import ConfigManager
19+
from pyodide_build.recipe import load_all_recipes
2020

2121
RUST_BUILD_PRELUDE = """
2222
rustup toolchain install ${RUST_TOOLCHAIN} && rustup default ${RUST_TOOLCHAIN}
@@ -74,7 +74,7 @@ def _init_xbuild_env(*, quiet: bool = False) -> Path:
7474
-------
7575
The path to the Pyodide root directory inside the xbuild environment
7676
"""
77-
from .xbuildenv import CrossBuildEnvManager # avoid circular import
77+
from pyodide_build.xbuildenv import CrossBuildEnvManager # avoid circular import
7878

7979
xbuildenv_path = Path(xbuildenv_dirname()).resolve()
8080
context = redirect_stdout(StringIO()) if quiet else nullcontext()

pyodide_build/buildall.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,17 @@
2929
from rich.spinner import Spinner
3030
from rich.table import Table
3131

32-
from . import build_env, recipe
33-
from .build_env import BuildArgs
34-
from .buildpkg import needs_rebuild
35-
from .common import (
32+
from pyodide_build import build_env, recipe
33+
from pyodide_build.build_env import BuildArgs
34+
from pyodide_build.buildpkg import needs_rebuild
35+
from pyodide_build.common import (
3636
extract_wheel_metadata_file,
3737
find_matching_wheels,
3838
find_missing_executables,
3939
repack_zip_archive,
4040
)
41-
from .io import MetaConfig, _BuildSpecTypes
42-
from .logger import console_stdout, logger
41+
from pyodide_build.io import MetaConfig, _BuildSpecTypes
42+
from pyodide_build.logger import console_stdout, logger
4343

4444

4545
class BuildError(Exception):

pyodide_build/buildpkg.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919

2020
import requests
2121

22-
from . import common, pypabuild
23-
from .bash_runner import BashRunnerWithSharedEnvironment, get_bash_runner
24-
from .build_env import (
22+
from pyodide_build import common, pypabuild
23+
from pyodide_build.bash_runner import BashRunnerWithSharedEnvironment, get_bash_runner
24+
from pyodide_build.build_env import (
2525
RUST_BUILD_PRELUDE,
2626
BuildArgs,
2727
get_build_environment_vars,
@@ -30,7 +30,7 @@
3030
replace_so_abi_tags,
3131
wheel_platform,
3232
)
33-
from .common import (
33+
from pyodide_build.common import (
3434
_environment_substitute_str,
3535
_get_sha256_checksum,
3636
chdir,
@@ -40,8 +40,8 @@
4040
modify_wheel,
4141
retag_wheel,
4242
)
43-
from .io import MetaConfig, _SourceSpec
44-
from .logger import logger
43+
from pyodide_build.io import MetaConfig, _SourceSpec
44+
from pyodide_build.logger import logger
4545

4646

4747
def _make_whlfile(

pyodide_build/cli/build.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,20 @@
1010
import typer
1111
from build import ConfigSettingsType
1212

13-
from ..build_env import check_emscripten_version, get_pyodide_root, init_environment
14-
from ..io import _BuildSpecExports, _ExportTypes
15-
from ..logger import logger
16-
from ..out_of_tree import build
17-
from ..out_of_tree.pypi import (
13+
from pyodide_build.build_env import (
14+
check_emscripten_version,
15+
get_pyodide_root,
16+
init_environment,
17+
)
18+
from pyodide_build.io import _BuildSpecExports, _ExportTypes
19+
from pyodide_build.logger import logger
20+
from pyodide_build.out_of_tree import build
21+
from pyodide_build.out_of_tree.pypi import (
1822
build_dependencies_for_wheel,
1923
build_wheels_from_pypi_requirements,
2024
fetch_pypi_package,
2125
)
22-
from ..pypabuild import parse_backend_flags
26+
from pyodide_build.pypabuild import parse_backend_flags
2327

2428

2529
def convert_exports(exports: str) -> _BuildSpecExports:

pyodide_build/cli/build_recipes.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
import typer
66

7-
from .. import build_env, buildall, buildpkg
8-
from ..build_env import BuildArgs, init_environment
9-
from ..common import get_num_cores
10-
from ..logger import logger
7+
from pyodide_build import build_env, buildall, buildpkg
8+
from pyodide_build.build_env import BuildArgs, init_environment
9+
from pyodide_build.common import get_num_cores
10+
from pyodide_build.logger import logger
1111

1212

1313
@dataclasses.dataclass(eq=False, order=False, kw_only=True)

pyodide_build/cli/config.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import typer
22

3-
from ..build_env import get_build_environment_vars, get_pyodide_root, init_environment
3+
from pyodide_build.build_env import (
4+
get_build_environment_vars,
5+
get_pyodide_root,
6+
init_environment,
7+
)
48

59
app = typer.Typer(help="Manage config variables used in pyodide")
610

pyodide_build/cli/create_zipfile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import typer
55

6-
from ..pyzip import create_zipfile
6+
from pyodide_build.pyzip import create_zipfile
77

88

99
def main(

pyodide_build/cli/py_compile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import typer
55

6-
from .._py_compile import _py_compile_archive, _py_compile_archive_dir
6+
from pyodide_build._py_compile import _py_compile_archive, _py_compile_archive_dir
77

88

99
def main(

pyodide_build/cli/skeleton.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import typer
88

9-
from .. import build_env, mkpkg
10-
from ..logger import logger
9+
from pyodide_build import build_env, mkpkg
10+
from pyodide_build.logger import logger
1111

1212
app = typer.Typer()
1313

pyodide_build/cli/venv.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import typer
44

5-
from ..build_env import init_environment
6-
from ..out_of_tree import venv
5+
from pyodide_build.build_env import init_environment
6+
from pyodide_build.out_of_tree import venv
77

88

99
def main(

pyodide_build/cli/xbuildenv.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import typer
44

5-
from ..build_env import local_versions
6-
from ..common import xbuildenv_dirname
7-
from ..xbuildenv import CrossBuildEnvManager
8-
from ..xbuildenv_releases import (
5+
from pyodide_build.build_env import local_versions
6+
from pyodide_build.common import xbuildenv_dirname
7+
from pyodide_build.xbuildenv import CrossBuildEnvManager
8+
from pyodide_build.xbuildenv_releases import (
99
cross_build_env_metadata_url,
1010
load_cross_build_env_metadata,
1111
)

pyodide_build/common.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
from packaging.utils import canonicalize_name as canonicalize_package_name
2424
from packaging.utils import parse_wheel_filename
2525

26-
from .logger import logger
26+
from pyodide_build.logger import logger
2727

2828

2929
def xbuildenv_dirname() -> str:
30-
from . import __version__
30+
from pyodide_build import __version__
3131

3232
return f".pyodide-xbuildenv-{__version__}"
3333

@@ -204,7 +204,7 @@ def get_num_cores() -> int:
204204
Return the number of CPUs the current process can use.
205205
If the number of CPUs cannot be determined, return 1.
206206
"""
207-
from .vendor.loky import cpu_count
207+
from pyodide_build.vendor.loky import cpu_count
208208

209209
return cpu_count()
210210

pyodide_build/config.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
from pathlib import Path
55
from types import MappingProxyType
66

7-
from .common import _environment_substitute_str, exit_with_stdio, search_pyproject_toml
8-
from .logger import logger
7+
from pyodide_build.common import (
8+
_environment_substitute_str,
9+
exit_with_stdio,
10+
search_pyproject_toml,
11+
)
12+
from pyodide_build.logger import logger
913

1014

1115
class ConfigManager:

pyodide_build/mkpkg.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
from packaging.version import Version
1717
from ruamel.yaml import YAML
1818

19-
from .common import parse_top_level_import_name
20-
from .logger import logger
19+
from pyodide_build.common import parse_top_level_import_name
20+
from pyodide_build.logger import logger
2121

2222

2323
class URLDict(TypedDict):

pyodide_build/out_of_tree/build.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
from build import ConfigSettingsType
55

6-
from .. import build_env, common, pypabuild
7-
from ..build_env import get_pyodide_root, wheel_platform
8-
from ..io import _BuildSpecExports
6+
from pyodide_build import build_env, common, pypabuild
7+
from pyodide_build.build_env import get_pyodide_root, wheel_platform
8+
from pyodide_build.io import _BuildSpecExports
99

1010

1111
def run(

pyodide_build/out_of_tree/pypi.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
from unearth.evaluator import TargetPython
2828
from unearth.finder import PackageFinder
2929

30-
from .. import build_env
31-
from ..common import repack_zip_archive
32-
from ..io import _BuildSpecExports
33-
from ..logger import logger
34-
from . import build
30+
from pyodide_build import build_env
31+
from pyodide_build.common import repack_zip_archive
32+
from pyodide_build.io import _BuildSpecExports
33+
from pyodide_build.logger import logger
34+
from pyodide_build.out_of_tree import build
3535

3636
_PYPI_INDEX = ["https://pypi.org/simple/"]
3737
_PYPI_TRUSTED_HOSTS = ["pypi.org"]

pyodide_build/out_of_tree/venv.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
from pathlib import Path
66
from typing import Any
77

8-
from ..build_env import get_build_flag, get_pyodide_root, in_xbuildenv
9-
from ..common import exit_with_stdio
10-
from ..logger import logger
8+
from pyodide_build.build_env import get_build_flag, get_pyodide_root, in_xbuildenv
9+
from pyodide_build.common import exit_with_stdio
10+
from pyodide_build.logger import logger
1111

1212

1313
def check_result(result: subprocess.CompletedProcess[str], msg: str) -> None:

pyodide_build/pypabuild.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
from build.env import DefaultIsolatedEnv
1616
from packaging.requirements import Requirement
1717

18-
from . import _f2c_fixes, common, pywasmcross
19-
from .build_env import (
18+
from pyodide_build import _f2c_fixes, common, pywasmcross
19+
from pyodide_build.build_env import (
2020
get_build_flag,
2121
get_hostsitepackages,
2222
get_pyversion,
2323
get_unisolated_packages,
2424
platform,
2525
)
26-
from .io import _BuildSpecExports
27-
from .vendor._pypabuild import (
26+
from pyodide_build.io import _BuildSpecExports
27+
from pyodide_build.vendor._pypabuild import (
2828
_STYLES,
2929
_DefaultIsolatedEnv,
3030
_error,

pyodide_build/pyzip.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from pathlib import Path
44
from tempfile import TemporaryDirectory
55

6-
from ._py_compile import _compile
7-
from .common import make_zip_archive
6+
from pyodide_build._py_compile import _compile
7+
from pyodide_build.common import make_zip_archive
88

99

1010
def default_filterfunc(

pyodide_build/recipe.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
from collections.abc import Iterable
33
from pathlib import Path
44

5-
from .io import MetaConfig
6-
from .logger import logger
5+
from pyodide_build.io import MetaConfig
6+
from pyodide_build.logger import logger
77

88

99
@functools.lru_cache(maxsize=1)

pyodide_build/xbuildenv.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
from pyodide_lock import PyodideLockSpec
1010

11-
from . import build_env
12-
from .create_package_index import create_package_index
13-
from .logger import logger
14-
from .xbuildenv_releases import (
11+
from pyodide_build import build_env
12+
from pyodide_build.create_package_index import create_package_index
13+
from pyodide_build.logger import logger
14+
from pyodide_build.xbuildenv_releases import (
1515
CrossBuildEnvReleaseSpec,
1616
cross_build_env_metadata_url,
1717
load_cross_build_env_metadata,

pyproject.toml

+3
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,6 @@ known-third-party = [
158158

159159
[tool.ruff.lint.mccabe]
160160
max-complexity = 31 # C901: Recommended goal is 10
161+
162+
[tool.ruff.lint.flake8-tidy-imports]
163+
ban-relative-imports = "all"

0 commit comments

Comments
 (0)