From 3f7573357c8ab8e424b89fd0509a344645747c01 Mon Sep 17 00:00:00 2001 From: Pedro Monteiro <83892026+peda-cos@users.noreply.github.com> Date: Sun, 11 Oct 2026 01:56:41 -0300 Subject: [PATCH 1/6] fix: parenthesize multi-catch that only parses on 3.14 PEP 758 syntax requires Python 3.14, but the script metadata declares requires-python >= 3.11. Reported by ty check run per #15187. --- web_programming/crypto_price_tracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_programming/crypto_price_tracker.py b/web_programming/crypto_price_tracker.py index 514f352b5e6c..b4be85ea5120 100644 --- a/web_programming/crypto_price_tracker.py +++ b/web_programming/crypto_price_tracker.py @@ -24,7 +24,7 @@ def crypto_price(coin: str = "bitcoin") -> float: url = f"https://api.coingecko.com/api/v3/simple/price?ids={coin}&vs_currencies=usd" try: json_response = httpx2.get(url, timeout=10).raise_for_status().json() - except httpx2.RequestError, ValueError, KeyError: + except (httpx2.RequestError, ValueError, KeyError): return 0.0 return float(json_response.get(coin, {}).get("usd", 0.0)) From 879a12ec0635ded41c2418fdca2b6c9958ddf22c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 11 Oct 2026 04:59:17 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- web_programming/crypto_price_tracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_programming/crypto_price_tracker.py b/web_programming/crypto_price_tracker.py index b4be85ea5120..514f352b5e6c 100644 --- a/web_programming/crypto_price_tracker.py +++ b/web_programming/crypto_price_tracker.py @@ -24,7 +24,7 @@ def crypto_price(coin: str = "bitcoin") -> float: url = f"https://api.coingecko.com/api/v3/simple/price?ids={coin}&vs_currencies=usd" try: json_response = httpx2.get(url, timeout=10).raise_for_status().json() - except (httpx2.RequestError, ValueError, KeyError): + except httpx2.RequestError, ValueError, KeyError: return 0.0 return float(json_response.get(coin, {}).get("usd", 0.0)) From 29714fa082f72fdd26d95588b9b90fb77dfafc5b Mon Sep 17 00:00:00 2001 From: Pedro Monteiro <83892026+peda-cos@users.noreply.github.com> Date: Sun, 11 Oct 2026 02:31:57 -0300 Subject: [PATCH 3/6] fix: declare 3.14 in crypto_price_tracker PEP 723 metadata The unparenthesized multi-catch (PEP 758) only parses on 3.14+. Parenthesizing is not an option: ruff-format 0.16.10 with the repo's py315 target re-emits the parenthesized form, so pre-commit.ci reverts it on every push. Align the declared minimum instead. --- web_programming/crypto_price_tracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_programming/crypto_price_tracker.py b/web_programming/crypto_price_tracker.py index 514f352b5e6c..97642d212a8d 100644 --- a/web_programming/crypto_price_tracker.py +++ b/web_programming/crypto_price_tracker.py @@ -3,7 +3,7 @@ """ # /// script -# requires-python = ">=3.11" +# requires-python = ">=3.14" # dependencies = [ # "httpx2", # ] From c3e0fa89aa4ba573401ae067ce8ecb693ae80967 Mon Sep 17 00:00:00 2001 From: Pedro Monteiro <83892026+peda-cos@users.noreply.github.com> Date: Sun, 11 Oct 2026 02:31:57 -0300 Subject: [PATCH 4/6] fix: alias datetime import to dt in maths/zellers_congruence Clears ICN001, which fails on master and blocks every PR ruff check. --- maths/zellers_congruence.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maths/zellers_congruence.py b/maths/zellers_congruence.py index b958ed3b8659..12ebe6c57f01 100644 --- a/maths/zellers_congruence.py +++ b/maths/zellers_congruence.py @@ -1,5 +1,5 @@ import argparse -import datetime +import datetime as dt def zeller(date_input: str) -> str: @@ -120,7 +120,7 @@ def zeller(date_input: str) -> str: ) # Get datetime obj for validation - dt_ck = datetime.date(int(y), int(m), int(d)) + dt_ck = dt.date(int(y), int(m), int(d)) # Start math if m <= 2: From ea53b6ec92a2311b93c68fb6048d35957891601e Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 10 Oct 2026 20:42:02 -1000 Subject: [PATCH 5/6] Refactor datetime import in zellers_congruence.py Replaced 'datetime as dt' with 'datetime' for clarity. --- maths/zellers_congruence.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maths/zellers_congruence.py b/maths/zellers_congruence.py index 12ebe6c57f01..b958ed3b8659 100644 --- a/maths/zellers_congruence.py +++ b/maths/zellers_congruence.py @@ -1,5 +1,5 @@ import argparse -import datetime as dt +import datetime def zeller(date_input: str) -> str: @@ -120,7 +120,7 @@ def zeller(date_input: str) -> str: ) # Get datetime obj for validation - dt_ck = dt.date(int(y), int(m), int(d)) + dt_ck = datetime.date(int(y), int(m), int(d)) # Start math if m <= 2: From c847af1aafafabba2a782e3060af82876ee9fd75 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 10 Oct 2026 20:42:51 -1000 Subject: [PATCH 6/6] Update required Python version to 3.15 --- web_programming/crypto_price_tracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_programming/crypto_price_tracker.py b/web_programming/crypto_price_tracker.py index 97642d212a8d..477b64458f3f 100644 --- a/web_programming/crypto_price_tracker.py +++ b/web_programming/crypto_price_tracker.py @@ -3,7 +3,7 @@ """ # /// script -# requires-python = ">=3.14" +# requires-python = ">=3.15" # dependencies = [ # "httpx2", # ]