diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c9bbce14..1fd3d8e8 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -20,7 +20,7 @@ updates: # Every Monday schedule: interval: "weekly" - # Ignore minor version updates (3.12 -> 3.13) but update patch versions + # Ignore minor version updates (3.13 -> 3.14) but update patch versions ignore: - dependency-name: "*" update-types: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6080877..90ce9107 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" # Consider using pre-commit.ci for open source project - name: Run pre-commit diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a2d7890..6de8ad98 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ exclude: "^docs/|/migrations/|devcontainer.json" default_stages: [pre-commit] default_language_version: - python: python3.12 + python: python3.13 repos: - repo: https://github.com/pre-commit/pre-commit-hooks diff --git a/.readthedocs.yml b/.readthedocs.yml index d6074ec6..9918824f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.12" + python: "3.13" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/CLAUDE.md b/CLAUDE.md index 326c3627..479e78bf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ Democrasite is a Django web application that implements democratic voting on Git ## Tech Stack -- **Python 3.12 / Django 5.x** with PostgreSQL, Redis, Celery +- **Python 3.13 / Django 5.x** with PostgreSQL, Redis, Celery - **Docker Compose** for local development (all commands run inside containers) - **Django REST Framework** with JWT auth and drf-spectacular for API docs - **django-allauth** for GitHub/Google OAuth @@ -35,6 +35,7 @@ just loaddata # Load fixtures (democrasite + activitypub) ``` To run a single test file or test: + ```bash just run pytest democrasite/webiscite/tests/test_models.py just run pytest democrasite/webiscite/tests/test_models.py::TestBill::test_method_name -v diff --git a/compose/local/django/Dockerfile b/compose/local/django/Dockerfile index aaee02d6..0363dd16 100644 --- a/compose/local/django/Dockerfile +++ b/compose/local/django/Dockerfile @@ -1,5 +1,5 @@ # define an alias for the specific python version used in this file. -FROM docker.io/python:3.12.11-slim-bookworm AS python +FROM docker.io/python:3.13.12-slim-bookworm AS python # Python build stage FROM python AS python-build-stage diff --git a/compose/production/django/Dockerfile b/compose/production/django/Dockerfile index 30d87cde..a80eed18 100644 --- a/compose/production/django/Dockerfile +++ b/compose/production/django/Dockerfile @@ -1,5 +1,5 @@ # define an alias for the specific python version used in this file. -FROM docker.io/python:3.12.11-slim-bookworm AS python +FROM docker.io/python:3.13.12-slim-bookworm AS python # Python build stage FROM python AS python-build-stage diff --git a/docker-compose.local.yml b/docker-compose.local.yml index 89cdc8a1..21e9574a 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -66,7 +66,7 @@ services: # logging: *loki-logging redis: - image: docker.io/redis:6 + image: docker.io/redis:7 container_name: democrasite-local-redis # logging: *loki-logging diff --git a/docker-compose.production.yml b/docker-compose.production.yml index 0f345076..853ee713 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -86,7 +86,7 @@ services: logging: *logging redis: - image: docker.io/redis:6 + image: docker.io/redis:7 networks: - backend logging: *logging diff --git a/pyproject.toml b/pyproject.toml index 7e6740a6..6653ffb8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ plugins = ["django_coverage_plugin"] # ==== mypy ==== [tool.mypy] -python_version = "3.12" +python_version = "3.13" check_untyped_defs = true ignore_missing_imports = true warn_unused_ignores = true