Skip to content

Commit d16fa64

Browse files
committed
🎨 Updates and misc improvements
1 parent 91d415c commit d16fa64

File tree

9 files changed

+32
-25
lines changed

9 files changed

+32
-25
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.1.0
3+
rev: v0.14.5
44
hooks:
55
- id: ruff
66
args: [--fix]

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ dev = [
3333

3434
[tool.ruff]
3535
line-length = 120
36+
target-version = "py314"
37+
38+
[tool.ruff.lint]
3639
select = ["ALL"]
3740
ignore = [
3841
"T201", # This is a cli
@@ -44,9 +47,8 @@ ignore = [
4447
"FBT001", # Allow boolean function args
4548
"FIX001" # Allow fixme's
4649
]
47-
target-version = "py312"
4850

49-
[tool.ruff.per-file-ignores]
51+
[tool.ruff.lint.per-file-ignores]
5052
"**/test*.py" = ["S101"]
5153

5254
[tool.mypy]

renovate.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,8 @@
4242
"automerge": true
4343
}
4444
],
45-
"platformAutomerge": true
45+
"platformAutomerge": true,
46+
"pre-commit": {
47+
"enabled": true
48+
}
4649
}

src/docker_python_nodejs/build_matrix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def _github_action_set_output(key: str, value: str) -> None:
2828
fp.write(f"{key}={value}")
2929

3030

31-
def build_matrix(new_or_updated: "list[BuildVersion]", ci_event: str) -> None:
31+
def build_matrix(new_or_updated: list[BuildVersion], ci_event: str) -> None:
3232
if not new_or_updated and ci_event == CI_EVENT_SCHEDULED:
3333
logger.info("\n# Scheduled run with no new or updated versions. Doing nothing.")
3434
return

src/docker_python_nodejs/dockerfiles.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import datetime
33
import json
44
import logging
5-
from collections.abc import Mapping
65
from typing import Any
76

87
from jinja2 import Environment, FileSystemLoader, select_autoescape
@@ -15,7 +14,7 @@
1514
env = Environment(loader=FileSystemLoader("./templates"), autoescape=select_autoescape())
1615

1716

18-
def _render_template(template_name: str, context: Mapping[str, Any]) -> str:
17+
def _render_template(template_name: str, context: dict[str, Any]) -> str:
1918
template = env.get_template(template_name)
2019
return template.render(context)
2120

src/docker_python_nodejs/nodejs_versions.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import datetime
2-
from collections.abc import Mapping
32
from typing import TypedDict
43

54
import requests
@@ -38,9 +37,9 @@ class ReleaseScheduleItem(TypedDict):
3837
codename: str
3938

4039

41-
def fetch_nodejs_release_schedule() -> Mapping[str, ReleaseScheduleItem]:
40+
def fetch_nodejs_release_schedule() -> dict[str, ReleaseScheduleItem]:
4241
"""Download list of official releases, skipping unreleased and unsupported versions"""
4342
res = requests.get("https://raw.githubusercontent.com/nodejs/Release/master/schedule.json", timeout=10.0)
4443
res.raise_for_status()
45-
release_schedule: Mapping[str, ReleaseScheduleItem] = res.json()
44+
release_schedule: dict[str, ReleaseScheduleItem] = res.json()
4645
return release_schedule

src/docker_python_nodejs/readme.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ def _replace(name: str, replacement: str, document: str) -> str:
2323

2424

2525
def update_dynamic_readme(
26-
versions: "list[BuildVersion]",
27-
python_versions: "list[SupportedVersion]",
28-
node_versions: "list[SupportedVersion]",
26+
versions: list[BuildVersion],
27+
python_versions: list[SupportedVersion],
28+
node_versions: list[SupportedVersion],
2929
dry_run: bool = False,
3030
) -> None:
3131
"""Read out current README, format fresh README, write back possible changes"""
@@ -44,9 +44,9 @@ def update_dynamic_readme(
4444

4545

4646
def format_readme(
47-
versions: "list[BuildVersion]",
48-
python_versions: "list[SupportedVersion]",
49-
node_versions: "list[SupportedVersion]",
47+
versions: list[BuildVersion],
48+
python_versions: list[SupportedVersion],
49+
node_versions: list[SupportedVersion],
5050
readme: str,
5151
) -> str:
5252
"""Format fresh README based on passed in version. Replaces the whole table with new versions."""
@@ -57,17 +57,17 @@ def format_readme(
5757
return _replace("SUPPORTED_VERSIONS", supported_versions_table, readme_fresh)
5858

5959

60-
def format_tags(versions: "list[BuildVersion]") -> str:
60+
def format_tags(versions: list[BuildVersion]) -> str:
6161
headings = ["Tag", "Python version", "Node.js version", "Distro"]
6262
rows = [[f"`{v.key}`", v.python_canonical, v.nodejs_canonical, v.distro] for v in versions]
6363
return _format_md_table(headings, rows)
6464

6565

6666
def format_supported_versions(
67-
python_versions: "list[SupportedVersion]",
68-
node_versions: "list[SupportedVersion]",
67+
python_versions: list[SupportedVersion],
68+
node_versions: list[SupportedVersion],
6969
) -> str:
70-
def _as_rows(versions: "list[SupportedVersion]") -> list[list[str]]:
70+
def _as_rows(versions: list[SupportedVersion]) -> list[list[str]]:
7171
return [[ver.version, ver.start, ver.end] for ver in sorted(versions, key=lambda x: x.start, reverse=True)]
7272

7373
python_table = _format_md_table(["Python version", "Start", "End"], _as_rows(python_versions))

src/docker_python_nodejs/versions.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import logging
55
import re
66
from dataclasses import dataclass
7-
from pathlib import Path
7+
from typing import TYPE_CHECKING
88

99
import requests
1010
from bs4 import BeautifulSoup
@@ -20,6 +20,9 @@
2020
)
2121
from .settings import DEFAULT_DISTRO, DEFAULT_PLATFORMS, DISTROS, VERSIONS_PATH
2222

23+
if TYPE_CHECKING:
24+
from pathlib import Path
25+
2326
todays_date = datetime.datetime.now(datetime.UTC).date().isoformat()
2427

2528

tests/test_all.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import pytest
99
import responses
10+
1011
from docker_python_nodejs.dockerfiles import render_dockerfile_with_context
1112
from docker_python_nodejs.readme import update_dynamic_readme
1213
from docker_python_nodejs.settings import BASE_PATH, DOCKERFILES_PATH
@@ -39,7 +40,7 @@ def build_version_fixture() -> BuildVersion:
3940
)
4041

4142

42-
@pytest.mark.enable_socket()
43+
@pytest.mark.enable_socket
4344
def test_scrape_supported_python_versions() -> None:
4445
versions = scrape_supported_python_versions()
4546
assert len(versions) > 0
@@ -71,13 +72,13 @@ def test_render_dockerfile_with_context(build_version: BuildVersion) -> None:
7172
class MockPath:
7273
content: str = ""
7374

74-
def __init__(self: "MockPath", content: str) -> None:
75+
def __init__(self: MockPath, content: str) -> None:
7576
self.content = content
7677

77-
def write_text(self: "MockPath", text: str) -> None:
78+
def write_text(self: MockPath, text: str) -> None:
7879
self.content = text
7980

80-
def read_text(self: "MockPath") -> str:
81+
def read_text(self: MockPath) -> str:
8182
return self.content
8283

8384

0 commit comments

Comments
 (0)