diff --git a/.github/workflows/codeql-lint.yml b/.github/workflows/codeql-lint.yml index 992893ae..37122caa 100644 --- a/.github/workflows/codeql-lint.yml +++ b/.github/workflows/codeql-lint.yml @@ -118,7 +118,7 @@ jobs: - name: Setup Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: - python-version: '3.13' + python-version: '3.14' cache: 'pip' - name: Install linting tools @@ -141,7 +141,7 @@ jobs: - name: Setup Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: - python-version: '3.13' + python-version: '3.14' cache: 'pip' - name: Install dependencies diff --git a/Makefile b/Makefile index fe4054e2..ad15bad1 100755 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ install: ## Install backend dependencies @echo "Installing backend..." @test -d $(VENV) || $(PY) -m venv $(VENV) @$(VENV)/bin/python -c 'import sys; sys.exit(sys.version_info < (3, 10))' || \ - { echo "ERROR: $(VENV) is $$($(VENV)/bin/python -V); requirements-dev.txt needs Python >= 3.10 (repo targets 3.13). Recreate the venv with a newer PY=."; exit 1; } + { echo "ERROR: $(VENV) is $$($(VENV)/bin/python -V); requirements-dev.txt needs Python >= 3.10 (repo targets 3.14). Recreate the venv with a newer PY=."; exit 1; } @$(VENV)/bin/python -m pip install --upgrade pip @$(VENV)/bin/pip install -r requirements.txt @$(VENV)/bin/pip install -r requirements-dev.txt diff --git a/README.md b/README.md index 230f29c8..c446003c 100755 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ A self-hosted, all-in-one media asset manager for your Plex/ARR stack. [![MIT License](https://img.shields.io/badge/license-MIT-463fbc?style=flat-square)](https://opensource.org/licenses/MIT) -[![Python](https://img.shields.io/badge/python-3.13%2B-1992f3?style=flat-square)](https://www.python.org/) +[![Python](https://img.shields.io/badge/python-3.14%2B-1992f3?style=flat-square)](https://www.python.org/) [![Docker Image](https://img.shields.io/badge/ghcr.io-chodeus%2Fchub-463fbc?style=flat-square&logo=docker&logoColor=white)](https://github.com/chodeus/chub/pkgs/container/chub) [![GitHub Issues](https://img.shields.io/github/issues/chodeus/chub?color=463fbc&style=flat-square)](https://github.com/chodeus/chub/issues) [![GitHub Stars](https://img.shields.io/github/stars/chodeus/chub?color=53e8f0&style=flat-square)](https://github.com/chodeus/chub/stargazers) diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index ab64cb17..fe4927a7 100755 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -28,7 +28,7 @@ RUN npm ci COPY frontend/ ./ RUN npm run build -FROM python:3.13-slim@sha256:6771159cd4fa5d9bba1258caf0b82e6b73458c694d178ad97c5e925c2d0e1a91 AS builder +FROM python:3.14-slim@sha256:ce40764625a4ff50df3548277632e7f96c4e77fe75fa848aae9885476e7df5a4 AS builder ARG NODE_MAJOR=24 COPY --from=node /usr/local/bin/node /usr/local/bin/node @@ -85,7 +85,7 @@ COPY --from=frontend /app/frontend/dist ./frontend/dist # ------------------------- # Stage 2: Final runtime image # ------------------------- -FROM python:3.13-slim@sha256:6771159cd4fa5d9bba1258caf0b82e6b73458c694d178ad97c5e925c2d0e1a91 +FROM python:3.14-slim@sha256:ce40764625a4ff50df3548277632e7f96c4e77fe75fa848aae9885476e7df5a4 WORKDIR /app @@ -97,7 +97,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # Copy only Python runtime and site-packages from builder -COPY --from=builder /usr/local/lib/python3.13/site-packages /usr/local/lib/python3.13/site-packages +COPY --from=builder /usr/local/lib/python3.14/site-packages /usr/local/lib/python3.14/site-packages COPY --from=builder /usr/local/bin /usr/local/bin # Copy rclone binary (installed to /usr/bin by rclone install script) diff --git a/pyproject.toml b/pyproject.toml index 35022d40..6c1b186d 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,13 +9,13 @@ line_length = 88 # For Black, set target-version to the lowest Python version you support, e.g., "py39", "py310", "py311" [tool.black] line-length = 88 -target-version = ["py313"] +target-version = ["py314"] skip-string-normalization = false skip-magic-trailing-comma = false [tool.ruff] line-length = 88 -target-version = "py313" +target-version = "py314" [tool.ruff.lint] extend-select = [] diff --git a/requirements-dev.txt b/requirements-dev.txt index 71535586..b14bc8d0 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,6 @@ # Test-only dependencies — never installed into the runtime image. # httpx backs Starlette's TestClient; the rest are pytest and its own deps. -# Requires Python >= 3.10 (pytest 9 / iniconfig 2); CI and Docker are on 3.13. +# Requires Python >= 3.10 (pytest 9 / iniconfig 2); CI and Docker are on 3.14. httpx==0.28.1 iniconfig==2.3.0 packaging==26.3