From 196cb8a65b6c4ebcf6008c9a73eb6b369761f966 Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Sat, 24 Oct 2026 04:56:40 +0200 Subject: [PATCH] download NLTK stopword at image build time instead of container boot --- Dockerfile | 2 ++ src/cogs/word_cloud.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8b443e4..724ab0f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,8 @@ COPY pyproject.toml uv.lock .python-version ./ RUN uv sync --locked --no-dev --no-cache +RUN .venv/bin/python -m nltk.downloader -d /usr/local/share/nltk_data stopwords + COPY . . ENV PATH="/app/.venv/bin:$PATH" diff --git a/src/cogs/word_cloud.py b/src/cogs/word_cloud.py index 79e4c25..365ed60 100644 --- a/src/cogs/word_cloud.py +++ b/src/cogs/word_cloud.py @@ -45,7 +45,10 @@ class WordCloud(commands.Cog): self.consenting_users = [] self.populate_consenting_users() - nltk.download("stopwords") + try: + nltk.data.find("corpora/stopwords") + except LookupError: + nltk.download("stopwords") self.insert_cache_loop.start()