From a61bf4df0af259fa387ba0a57abfeae7ce307a45 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 23:08:18 +0000 Subject: [PATCH] chore: upgrade Python version from 3.10 to 3.13 across the project Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/29bd6108-4094-48ca-8976-10df52774551 Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++------ .github/workflows/release.yml | 2 +- .readthedocs.yaml | 2 +- CONTRIBUTING.md | 2 +- README.md | 2 +- backend/Dockerfile | 2 +- docs/deployment/manual.md | 2 +- docs/development/agents.md | 2 +- docs/development/contributing.md | 2 +- docs/development/testing.md | 4 ++-- docs/faq.md | 2 +- docs/reference/architecture.md | 2 +- docs/user_guide/deployment_guide.md | 2 +- pyproject.toml | 6 +++--- 14 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de9133b..b52f2d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,10 +24,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.13' - name: Cache pip packages uses: actions/cache@v4 @@ -72,10 +72,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.13' - name: Cache pip packages uses: actions/cache@v4 @@ -113,10 +113,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.13' - name: Cache pip packages uses: actions/cache@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1c34dce..b5037ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" - name: Semantic Release uses: python-semantic-release/python-semantic-release@v10 diff --git a/.readthedocs.yaml b/.readthedocs.yaml index ecf807c..46f6e10 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,7 +3,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.9" + python: "3.13" mkdocs: configuration: mkdocs.yml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 88330ce..fa6335a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,7 +61,7 @@ Unsure where to begin? You can start by looking through issues tagged with: ### Prerequisites -- Python 3.10 or higher +- Python 3.13 or higher - Docker and Docker Compose (for full stack testing) - Git diff --git a/README.md b/README.md index 95a68e4..e6f12e5 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ Then visit [http://localhost:8080](http://localhost:8080) - DMARC aggregate reports (XML, ZIP, or GZIP format) - Docker + Docker Compose (for production deployment) -- Python 3.10+ (for development) +- Python 3.13+ (for development) --- diff --git a/backend/Dockerfile b/backend/Dockerfile index f261715..9f9fc30 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10-slim +FROM python:3.13-slim WORKDIR /app diff --git a/docs/deployment/manual.md b/docs/deployment/manual.md index 14385a4..3680dfe 100644 --- a/docs/deployment/manual.md +++ b/docs/deployment/manual.md @@ -6,7 +6,7 @@ This guide covers how to deploy DMARQ without Docker, using a traditional instal Before proceeding with a manual installation, ensure you have: -- Python 3.9 or higher +- Python 3.13 or higher - pip and virtualenv - Node.js 16+ (if modifying frontend assets) - PostgreSQL (recommended for production) or SQLite diff --git a/docs/development/agents.md b/docs/development/agents.md index da3b1bc..091e754 100644 --- a/docs/development/agents.md +++ b/docs/development/agents.md @@ -64,7 +64,7 @@ Give your AI assistant context about DMARQ: ```markdown DMARQ is a self-hosted DMARC monitoring platform built with: -- Backend: FastAPI (Python 3.10+) +- Backend: FastAPI (Python 3.13+) - Database: SQLAlchemy ORM (PostgreSQL/SQLite) - Templates: Jinja2 with Tailwind CSS - Architecture: RESTful API with server-side rendering diff --git a/docs/development/contributing.md b/docs/development/contributing.md index 04e1b82..a2952ea 100644 --- a/docs/development/contributing.md +++ b/docs/development/contributing.md @@ -20,7 +20,7 @@ There are many ways to contribute to DMARQ: ### Prerequisites -- Python 3.9+ +- Python 3.13+ - Node.js 16+ (for frontend assets) - Docker and Docker Compose (recommended) - Git diff --git a/docs/development/testing.md b/docs/development/testing.md index 04347c2..a5605d9 100644 --- a/docs/development/testing.md +++ b/docs/development/testing.md @@ -27,7 +27,7 @@ backend/app/tests/ ### Prerequisites -- Python 3.10+ +- Python 3.13+ - Dependencies from `backend/requirements.txt` ### Installation @@ -143,7 +143,7 @@ isort backend/app Tests run automatically on every push and PR via GitHub Actions (`.github/workflows/test.yml`). The CI workflow: -1. Installs dependencies (Python 3.10) +1. Installs dependencies (Python 3.13) 2. Runs `pytest` with coverage 3. Runs linting checks (Black, isort, Flake8, Pylint) 4. Uploads coverage to Codecov \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md index e983b30..89e449b 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -31,7 +31,7 @@ The minimum requirements are: - 2GB RAM (4GB+ recommended for production) - 20GB storage - Docker Engine 20.10.0+ (for Docker installation) -- Python 3.9+ (for manual installation) +- Python 3.13+ (for manual installation) ### How do I install DMARQ? diff --git a/docs/reference/architecture.md b/docs/reference/architecture.md index c7f0779..615f979 100644 --- a/docs/reference/architecture.md +++ b/docs/reference/architecture.md @@ -23,7 +23,7 @@ The core of DMARQ is a FastAPI application that provides: - Background task processing **Key Technologies:** -- Python 3.9+ +- Python 3.13+ - FastAPI framework - Pydantic for data validation - SQLAlchemy ORM for database access diff --git a/docs/user_guide/deployment_guide.md b/docs/user_guide/deployment_guide.md index 3298dbf..616c117 100644 --- a/docs/user_guide/deployment_guide.md +++ b/docs/user_guide/deployment_guide.md @@ -99,7 +99,7 @@ For environments where Docker isn't available, you can install DMARQ manually. ### Prerequisites -- Python 3.9 or higher +- Python 3.13 or higher - pip and virtualenv - Node.js 16+ (if modifying frontend assets) diff --git a/pyproject.toml b/pyproject.toml index 31223d2..521a2a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ version = "1.6.0" description = "A modern, privacy-conscious DMARC monitoring and analysis platform" readme = "README.md" license = {text = "MIT"} -requires-python = ">=3.10" +requires-python = ">=3.13" [tool.semantic_release] version_toml = ["pyproject.toml:project.version"] @@ -22,7 +22,7 @@ match = "main" [tool.black] line-length = 100 -target-version = ['py310'] +target-version = ['py313'] include = '\.pyi?$' extend-exclude = ''' /( @@ -99,7 +99,7 @@ show_missing = true skip_covered = false [tool.mypy] -python_version = "3.10" +python_version = "3.13" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false