diff --git a/xkcd-script/generator/Dockerfile b/xkcd-script/generator/Dockerfile index b96cc0e..c42606c 100644 --- a/xkcd-script/generator/Dockerfile +++ b/xkcd-script/generator/Dockerfile @@ -9,5 +9,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3-pip \ && rm -rf /var/lib/apt/lists/* -RUN pip3 install --break-system-packages \ - scikit-image scipy matplotlib parse +# Direct deps are listed in requirements.in; requirements.txt is a fully +# resolved lockfile produced by `uv pip compile`. Regenerate after editing +# requirements.in: +# uv pip compile xkcd-script/generator/requirements.in \ +# -o xkcd-script/generator/requirements.txt --python-version 3.12 +COPY requirements.txt /tmp/requirements.txt +RUN pip3 install --break-system-packages -r /tmp/requirements.txt diff --git a/xkcd-script/generator/requirements.in b/xkcd-script/generator/requirements.in new file mode 100644 index 0000000..83528c8 --- /dev/null +++ b/xkcd-script/generator/requirements.in @@ -0,0 +1,4 @@ +scikit-image +scipy +matplotlib +parse diff --git a/xkcd-script/generator/requirements.txt b/xkcd-script/generator/requirements.txt new file mode 100644 index 0000000..5308717 --- /dev/null +++ b/xkcd-script/generator/requirements.txt @@ -0,0 +1,18 @@ +contourpy==1.3.3 +cycler==0.12.1 +fonttools==4.62.1 +imageio==2.37.3 +kiwisolver==1.5.0 +lazy-loader==0.5 +matplotlib==3.10.9 +networkx==3.6.1 +numpy==2.4.4 +packaging==26.2 +parse==1.22.0 +pillow==12.2.0 +pyparsing==3.3.2 +python-dateutil==2.9.0.post0 +scikit-image==0.26.0 +scipy==1.17.1 +six==1.17.0 +tifffile==2026.5.2