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>
This commit is contained in:
@@ -24,10 +24,10 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.13
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.13'
|
||||||
|
|
||||||
- name: Cache pip packages
|
- name: Cache pip packages
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
@@ -72,10 +72,10 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.13
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.13'
|
||||||
|
|
||||||
- name: Cache pip packages
|
- name: Cache pip packages
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
@@ -113,10 +113,10 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.13
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.13'
|
||||||
|
|
||||||
- name: Cache pip packages
|
- name: Cache pip packages
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.13"
|
||||||
|
|
||||||
- name: Semantic Release
|
- name: Semantic Release
|
||||||
uses: python-semantic-release/python-semantic-release@v10
|
uses: python-semantic-release/python-semantic-release@v10
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ version: 2
|
|||||||
build:
|
build:
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
tools:
|
tools:
|
||||||
python: "3.9"
|
python: "3.13"
|
||||||
|
|
||||||
mkdocs:
|
mkdocs:
|
||||||
configuration: mkdocs.yml
|
configuration: mkdocs.yml
|
||||||
|
|||||||
+1
-1
@@ -61,7 +61,7 @@ Unsure where to begin? You can start by looking through issues tagged with:
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Python 3.10 or higher
|
- Python 3.13 or higher
|
||||||
- Docker and Docker Compose (for full stack testing)
|
- Docker and Docker Compose (for full stack testing)
|
||||||
- Git
|
- Git
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ Then visit [http://localhost:8080](http://localhost:8080)
|
|||||||
|
|
||||||
- DMARC aggregate reports (XML, ZIP, or GZIP format)
|
- DMARC aggregate reports (XML, ZIP, or GZIP format)
|
||||||
- Docker + Docker Compose (for production deployment)
|
- Docker + Docker Compose (for production deployment)
|
||||||
- Python 3.10+ (for development)
|
- Python 3.13+ (for development)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FROM python:3.10-slim
|
FROM python:3.13-slim
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
Before proceeding with a manual installation, ensure you have:
|
||||||
|
|
||||||
- Python 3.9 or higher
|
- Python 3.13 or higher
|
||||||
- pip and virtualenv
|
- pip and virtualenv
|
||||||
- Node.js 16+ (if modifying frontend assets)
|
- Node.js 16+ (if modifying frontend assets)
|
||||||
- PostgreSQL (recommended for production) or SQLite
|
- PostgreSQL (recommended for production) or SQLite
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ Give your AI assistant context about DMARQ:
|
|||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
DMARQ is a self-hosted DMARC monitoring platform built with:
|
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)
|
- Database: SQLAlchemy ORM (PostgreSQL/SQLite)
|
||||||
- Templates: Jinja2 with Tailwind CSS
|
- Templates: Jinja2 with Tailwind CSS
|
||||||
- Architecture: RESTful API with server-side rendering
|
- Architecture: RESTful API with server-side rendering
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ There are many ways to contribute to DMARQ:
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Python 3.9+
|
- Python 3.13+
|
||||||
- Node.js 16+ (for frontend assets)
|
- Node.js 16+ (for frontend assets)
|
||||||
- Docker and Docker Compose (recommended)
|
- Docker and Docker Compose (recommended)
|
||||||
- Git
|
- Git
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ backend/app/tests/
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Python 3.10+
|
- Python 3.13+
|
||||||
- Dependencies from `backend/requirements.txt`
|
- Dependencies from `backend/requirements.txt`
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
@@ -143,7 +143,7 @@ isort backend/app
|
|||||||
Tests run automatically on every push and PR via GitHub Actions (`.github/workflows/test.yml`).
|
Tests run automatically on every push and PR via GitHub Actions (`.github/workflows/test.yml`).
|
||||||
|
|
||||||
The CI workflow:
|
The CI workflow:
|
||||||
1. Installs dependencies (Python 3.10)
|
1. Installs dependencies (Python 3.13)
|
||||||
2. Runs `pytest` with coverage
|
2. Runs `pytest` with coverage
|
||||||
3. Runs linting checks (Black, isort, Flake8, Pylint)
|
3. Runs linting checks (Black, isort, Flake8, Pylint)
|
||||||
4. Uploads coverage to Codecov
|
4. Uploads coverage to Codecov
|
||||||
+1
-1
@@ -31,7 +31,7 @@ The minimum requirements are:
|
|||||||
- 2GB RAM (4GB+ recommended for production)
|
- 2GB RAM (4GB+ recommended for production)
|
||||||
- 20GB storage
|
- 20GB storage
|
||||||
- Docker Engine 20.10.0+ (for Docker installation)
|
- 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?
|
### How do I install DMARQ?
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ The core of DMARQ is a FastAPI application that provides:
|
|||||||
- Background task processing
|
- Background task processing
|
||||||
|
|
||||||
**Key Technologies:**
|
**Key Technologies:**
|
||||||
- Python 3.9+
|
- Python 3.13+
|
||||||
- FastAPI framework
|
- FastAPI framework
|
||||||
- Pydantic for data validation
|
- Pydantic for data validation
|
||||||
- SQLAlchemy ORM for database access
|
- SQLAlchemy ORM for database access
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ For environments where Docker isn't available, you can install DMARQ manually.
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Python 3.9 or higher
|
- Python 3.13 or higher
|
||||||
- pip and virtualenv
|
- pip and virtualenv
|
||||||
- Node.js 16+ (if modifying frontend assets)
|
- Node.js 16+ (if modifying frontend assets)
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -4,7 +4,7 @@ version = "1.6.0"
|
|||||||
description = "A modern, privacy-conscious DMARC monitoring and analysis platform"
|
description = "A modern, privacy-conscious DMARC monitoring and analysis platform"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = {text = "MIT"}
|
license = {text = "MIT"}
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.13"
|
||||||
|
|
||||||
[tool.semantic_release]
|
[tool.semantic_release]
|
||||||
version_toml = ["pyproject.toml:project.version"]
|
version_toml = ["pyproject.toml:project.version"]
|
||||||
@@ -22,7 +22,7 @@ match = "main"
|
|||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 100
|
line-length = 100
|
||||||
target-version = ['py310']
|
target-version = ['py313']
|
||||||
include = '\.pyi?$'
|
include = '\.pyi?$'
|
||||||
extend-exclude = '''
|
extend-exclude = '''
|
||||||
/(
|
/(
|
||||||
@@ -99,7 +99,7 @@ show_missing = true
|
|||||||
skip_covered = false
|
skip_covered = false
|
||||||
|
|
||||||
[tool.mypy]
|
[tool.mypy]
|
||||||
python_version = "3.10"
|
python_version = "3.13"
|
||||||
warn_return_any = true
|
warn_return_any = true
|
||||||
warn_unused_configs = true
|
warn_unused_configs = true
|
||||||
disallow_untyped_defs = false
|
disallow_untyped_defs = false
|
||||||
|
|||||||
Reference in New Issue
Block a user