Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Running phase: unpackPhase unpacking source archive /nix/store/y83a928i2fyhkr2j8p00i9j1isb7qdj5-kmap-cli source root is kmap-cli setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "kmap-cli/tests/test_kmap_cli.py" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built kmap_cli-0.1.0-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for kmap_cli-0.1.0-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed kmap_cli-0.1.0-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0 checking for references to /build/ in /nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0... patching script interpreter paths in /nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0 stripping (with command strip and flags -S -p) in /nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0/lib /nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0/bin shrinking RPATHs of ELF executables and libraries in /nix/store/ajhfb67zfzd49q5qiawp75rxijnqjz96-kmap-cli-0.1.0-dist checking for references to /build/ in /nix/store/ajhfb67zfzd49q5qiawp75rxijnqjz96-kmap-cli-0.1.0-dist... patching script interpreter paths in /nix/store/ajhfb67zfzd49q5qiawp75rxijnqjz96-kmap-cli-0.1.0-dist Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6 wrapping `/nix/store/h9lfn159gd9alrqzbg06bfl4df912am9-kmap-cli-0.1.0/bin/kmap-cli'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase EXE001 Shebang is present but file is not executable --> kmap_cli.py:1:1 | 1 | #!/usr/bin/env python3 | ^^^^^^^^^^^^^^^^^^^^^^ 2 | from __future__ import annotations | UP022 Prefer `capture_output` over sending `stdout` and `stderr` to `PIPE` --> kmap_cli.py:149:18 | 147 | return None 148 | try: 149 | result = subprocess.run( | __________________^ 150 | | args, 151 | | check=True, 152 | | stdout=subprocess.PIPE, 153 | | stderr=subprocess.PIPE, 154 | | text=True, 155 | | timeout=10, 156 | | ) | |_________^ 157 | except (subprocess.SubprocessError, OSError) as error: 158 | raise ConfigError(f"secret command failed: {error}") from error | help: Replace with `capture_output` keyword argument RUF100 [*] Unused `noqa` directive (non-enabled: `S310`) --> kmap_cli.py:435:91 | 433 | headers["Content-Type"] = "application/json" 434 | data = json.dumps(body).encode("utf-8") 435 | request = urllib.request.Request(url, data=data, headers=headers, method=method) # noqa: S310 | ^^^^^^^^^^^^ 436 | try: 437 | with urllib.request.urlopen(request, timeout=15) as response: # noqa: S310 | help: Remove unused `noqa` directive | 434 | data = json.dumps(body).encode("utf-8") - request = urllib.request.Request(url, data=data, headers=headers, method=method) # noqa: S310 435 + request = urllib.request.Request(url, data=data, headers=headers, method=method) 436 | try: | RUF100 [*] Unused `noqa` directive (non-enabled: `S310`) --> kmap_cli.py:437:76 | 435 | request = urllib.request.Request(url, data=data, headers=headers, method=method) # noqa: S310 436 | try: 437 | with urllib.request.urlopen(request, timeout=15) as response: # noqa: S310 | ^^^^^^^^^^^^ 438 | parsed = json.loads(response.read().decode("utf-8")) 439 | except urllib.error.HTTPError as error: | help: Remove unused `noqa` directive | 436 | try: - with urllib.request.urlopen(request, timeout=15) as response: # noqa: S310 437 + with urllib.request.urlopen(request, timeout=15) as response: 438 | parsed = json.loads(response.read().decode("utf-8")) | PYI041 [*] Use `float` instead of `int | float` --> kmap_cli.py:711:29 | 711 | def format_distance(meters: int | float) -> str: | ^^^^^^^^^^^ 712 | if meters < 1000: 713 | return f"{meters:.0f} m" | help: Remove redundant type | 710 | - def format_distance(meters: int | float) -> str: 711 + def format_distance(meters: float) -> str: 712 | if meters < 1000: | RUF007 Prefer `itertools.pairwise()` over `zip()` when iterating over successive pairs --> kmap_cli.py:884:32 | 882 | segments: list[dict[str, object]] = [] 883 | has_routes = False 884 | for origin, destination in zip(places, places[1:]): | ^^^ 885 | routes = client.transit_routes( 886 | Point(origin.x, origin.y), | help: Replace `zip()` with `itertools.pairwise()` Found 6 errors. [*] 3 fixable with the `--fix` option (2 hidden fixes can be enabled with the `--unsafe-fixes` option).