https://github.com/python/cpython/commit/678e0b818c0d6063907f55263bbc0e194b492c8e
commit: 678e0b818c0d6063907f55263bbc0e194b492c8e
branch: main
author: sobolevn <[email protected]>
committer: sobolevn <[email protected]>
date: 2025-10-09T01:13:27+03:00
summary:
gh-139590: Stricter `ruff` rules for `Tools/wasm` (#139752)
files:
M .pre-commit-config.yaml
M Tools/wasm/.ruff.toml
M Tools/wasm/emscripten/__main__.py
M Tools/wasm/emscripten/wasm_assets.py
M Tools/wasm/wasi/__main__.py
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0e00ffb3bd2d66..b0311f052798ad 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -26,6 +26,10 @@ repos:
name: Run Ruff (lint) on Tools/peg_generator/
args: [--exit-non-zero-on-fix, --config=Tools/peg_generator/.ruff.toml]
files: ^Tools/peg_generator/
+ - id: ruff-check
+ name: Run Ruff (lint) on Tools/wasm/
+ args: [--exit-non-zero-on-fix, --config=Tools/wasm/.ruff.toml]
+ files: ^Tools/wasm/
- id: ruff-format
name: Run Ruff (format) on Doc/
args: [--check]
diff --git a/Tools/wasm/.ruff.toml b/Tools/wasm/.ruff.toml
index aabcf8dc4f502e..3d8e59fa3f22c4 100644
--- a/Tools/wasm/.ruff.toml
+++ b/Tools/wasm/.ruff.toml
@@ -22,7 +22,4 @@ select = [
]
ignore = [
"E501", # Line too long
- "F541", # f-string without any placeholders
- "PYI024", # Use `typing.NamedTuple` instead of `collections.namedtuple`
- "PYI025", # Use `from collections.abc import Set as AbstractSet`
]
diff --git a/Tools/wasm/emscripten/__main__.py
b/Tools/wasm/emscripten/__main__.py
index fdf3142c0a3b1a..c88e9edba6d230 100644
--- a/Tools/wasm/emscripten/__main__.py
+++ b/Tools/wasm/emscripten/__main__.py
@@ -3,16 +3,16 @@
import argparse
import contextlib
import functools
+import hashlib
import os
import shutil
import subprocess
import sys
import sysconfig
-import hashlib
import tempfile
-from urllib.request import urlopen
from pathlib import Path
from textwrap import dedent
+from urllib.request import urlopen
try:
from os import process_cpu_count as cpu_count
@@ -33,9 +33,7 @@
PREFIX_DIR = CROSS_BUILD_DIR / HOST_TRIPLE / "prefix"
LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local"
-LOCAL_SETUP_MARKER = "# Generated by Tools/wasm/emscripten.py\n".encode(
- "utf-8"
-)
+LOCAL_SETUP_MARKER = b"# Generated by Tools/wasm/emscripten.py\n"
def updated_env(updates={}):
@@ -432,6 +430,7 @@ def main():
make_build,
configure_host,
make_host,
+ clean,
):
subcommand.add_argument(
"--quiet",
diff --git a/Tools/wasm/emscripten/wasm_assets.py
b/Tools/wasm/emscripten/wasm_assets.py
index 90f318f319a9f1..384790872353b2 100755
--- a/Tools/wasm/emscripten/wasm_assets.py
+++ b/Tools/wasm/emscripten/wasm_assets.py
@@ -15,7 +15,6 @@
import sys
import sysconfig
import zipfile
-from typing import Dict
# source directory
SRCDIR = pathlib.Path(__file__).parents[3].absolute()
@@ -134,7 +133,7 @@ def filterfunc(filename: str) -> bool:
pzf.writepy(entry, filterfunc=filterfunc)
-def detect_extension_modules(args: argparse.Namespace) -> Dict[str, bool]:
+def detect_extension_modules(args: argparse.Namespace) -> dict[str, bool]:
modules = {}
# disabled by Modules/Setup.local ?
@@ -149,7 +148,7 @@ def detect_extension_modules(args: argparse.Namespace) ->
Dict[str, bool]:
# disabled by configure?
with open(args.sysconfig_data) as f:
data = f.read()
- loc: Dict[str, Dict[str, str]] = {}
+ loc: dict[str, dict[str, str]] = {}
exec(data, globals(), loc)
for key, value in loc["build_time_vars"].items():
diff --git a/Tools/wasm/wasi/__main__.py b/Tools/wasm/wasi/__main__.py
index a0658cb351a86f..b2f643ddbfc213 100644
--- a/Tools/wasm/wasi/__main__.py
+++ b/Tools/wasm/wasi/__main__.py
@@ -16,7 +16,6 @@
import sysconfig
import tempfile
-
CHECKOUT = pathlib.Path(__file__).parent.parent.parent.parent
assert (CHECKOUT / "configure").is_file(), (
"Please update the location of the file"
@@ -28,9 +27,9 @@
LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local"
LOCAL_SETUP_MARKER = (
- "# Generated by Tools/wasm/wasi .\n"
- "# Required to statically build extension modules."
-).encode("utf-8")
+ b"# Generated by Tools/wasm/wasi .\n"
+ b"# Required to statically build extension modules."
+)
WASI_SDK_VERSION = 24
@@ -154,8 +153,7 @@ def build_python_is_pydebug():
test = "import sys, test.support; sys.exit(test.support.Py_DEBUG)"
result = subprocess.run(
[build_python_path(), "-c", test],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ capture_output=True,
)
return bool(result.returncode)
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]