Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .github/workflows/lint-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ jobs:
lint:
runs-on: ubuntu-latest

container: python:3.12
container: python:3.13

steps:
- name: checkout
uses: actions/checkout@v7

- name: install uv
uses: astral-sh/setup-uv@v9.0.0
uses: astral-sh/setup-uv@v10.0.1
with:
version: "0.12.1"
version: "0.12.10"
enable-cache: true

- name: install dependencies
Expand All @@ -43,7 +43,7 @@ jobs:
test-unit:
runs-on: ubuntu-latest

container: python:3.12
container: python:3.13

env:
TZ: Europe/Berlin
Expand All @@ -53,9 +53,9 @@ jobs:
uses: actions/checkout@v7

- name: install uv
uses: astral-sh/setup-uv@v9.0.0
uses: astral-sh/setup-uv@v10.0.1
with:
version: "0.12.1"
version: "0.12.10"
enable-cache: true

- name: install dependencies
Expand All @@ -67,7 +67,7 @@ jobs:
test-integration:
runs-on: ubuntu-latest

container: python:3.12
container: python:3.13

env:
TZ: Europe/Berlin
Expand All @@ -91,9 +91,9 @@ jobs:
uses: actions/checkout@v7

- name: install uv
uses: astral-sh/setup-uv@v9.0.0
uses: astral-sh/setup-uv@v10.0.1
with:
version: "0.12.1"
version: "0.12.10"
enable-cache: true

- name: install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ repos:
- id: check-yaml

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.16.1
rev: v0.16.6
hooks:
- id: ruff-format
- id: ruff
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# syntax=docker/dockerfile:1

FROM python:3.12-alpine3.21
FROM python:3.13-alpine3.24

# Bring in the uv binary from the official, pinned image (kept up to date by dependabot).
COPY --from=ghcr.io/astral-sh/uv:0.12.1 /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:0.12.10 /uv /uvx /bin/

RUN apk update && \
apk upgrade && \
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile.prod
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:1

# Builder stage: resolve and install the production dependencies into a self-contained venv
FROM python:3.12-alpine3.21 AS builder
FROM python:3.13-alpine3.24 AS builder

# Bring in the uv binary from the official, pinned image (kept up to date by dependabot).
COPY --from=ghcr.io/astral-sh/uv:0.12.1 /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:0.12.10 /uv /uvx /bin/

# Install geos-dev and alpine-sdk (which contains the compilers needed for building wheels)
RUN apk update && \
Expand All @@ -28,7 +28,7 @@ RUN uv sync --frozen --no-dev


# Actual application runtime stage (without build dependencies)
FROM python:3.12-alpine3.21 AS runtime
FROM python:3.13-alpine3.24 AS runtime

# Install geos at system level (needed as a sub-dependency of mapbox-vector-tile)
RUN apk update && \
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

This application is a flask application with following requirements:
* Docker (for docker / dev deployment)
* Python 3.12+ (for virtual environment deployment)
* Python 3.13+ (for virtual environment deployment)
* SQLAlchemy-compatible SQL-server (e.g. MariaDB or Postgre)
* An AMQP-Queue (eg RabbitMQ)

Expand Down
6 changes: 3 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ services:
retries: 3

regionalschluessel-importer:
image: ghcr.io/osgeo/gdal:alpine-small-3.12.1
image: ghcr.io/osgeo/gdal:alpine-small-3.13.3
user: *local-user
volumes:
- ./scripts:/scripts
Expand All @@ -83,7 +83,7 @@ services:
command: ["/scripts/import-regionalschluessel.sh"]

rabbitmq:
image: rabbitmq:latest
image: rabbitmq:4.2
user: rabbitmq
environment:
# Disable spammy logging
Expand All @@ -95,7 +95,7 @@ services:
retries: 20

redis:
image: redis:7.2
image: redis:8.10
healthcheck:
test: redis-cli ping
interval: 1s
Expand Down
18 changes: 9 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
name = "ocpdb"
version = "2.15.2"
description = "Open ChargePoint DataBase - aggregates EV charging station data from multiple sources."
requires-python = ">= 3.12"
requires-python = ">= 3.13"
dependencies = [
"gunicorn~=26.0.0",
"gunicorn~=26.2.0",
"Flask~=3.1.3",
"Flask-Failsafe~=0.2.0",
"Flask-SQLAlchemy~=3.1.1",
"Flask-Celery-Helper~=1.1.0",
"Flask-Migrate~=4.1.0",
"Flask-CORS~=6.0.5",
"SQLAlchemy~=2.0.51",
"SQLAlchemy~=2.0.52",
"requests~=2.34.2",
"alembic~=1.18.5",
"lxml~=6.1.1",
"alembic~=1.19.2",
"lxml~=6.1.3",
"mercantile~=1.2.1",
"psycopg2-binary~=2.9.12",
"python-dotenv~=1.2.2",
"click~=8.4.2",
"python-dotenv~=1.2.3",
"click~=8.5.0",
"pymysql~=1.2.0",
"pyyaml~=6.0.3",
"validataclass~=0.13.1",
Expand All @@ -34,7 +34,7 @@ dependencies = [
# binary butterfly shared libraries (https://git.binary-butterfly.de/public_libraries)
# flask-openapi and butterfly_pubsub are served from the private index (see [tool.uv.sources]);
# validataclass-search-queries is published on PyPI.
"flask-openapi~=2.3.3",
"flask-openapi~=2.4.0",
"validataclass-search-queries~=0.6.1",
"butterfly_pubsub~=3.0.0",
]
Expand All @@ -45,7 +45,7 @@ dev = [
"pytest~=9.1.1",
"pytest-cov~=7.1.0",
"requests-mock~=1.12.1",
"ruff~=0.16.1",
"ruff~=0.16.6",
"openapi-core~=0.23.1",
]

Expand Down
Loading
Loading