Skip to content

Commit da7d492

Browse files
committed
Merge remote-tracking branch 'origin/main' into switch-logger-to-rotoger
2 parents 6dbc7e1 + 55c3105 commit da7d492

4 files changed

Lines changed: 165 additions & 147 deletions

File tree

.github/workflows/build-and-test.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python-version: [ "3.14" ]
15+
python-version: [ "3.14.0" ]
1616

1717
env:
1818
PYTHONDONTWRITEBYTECODE: 1
@@ -34,7 +34,7 @@ jobs:
3434
ports:
3535
- 6379:6379
3636
sqldb:
37-
image: postgres:16
37+
image: postgres:17
3838
env:
3939
POSTGRES_USER: panettone
4040
POSTGRES_PASSWORD: secret
@@ -45,12 +45,12 @@ jobs:
4545
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
4646

4747
steps:
48-
- uses: actions/checkout@v4
48+
- uses: actions/checkout@v5
4949
- name: Create database schema
5050
run: PGPASSWORD=secret psql -h 127.0.0.1 -d testdb -U panettone -c "CREATE SCHEMA shakespeare; CREATE SCHEMA happy_hog;"
5151

52-
- name: Install the latest version of uv and set the python version
53-
uses: astral-sh/setup-uv@v5
52+
- name: Install the latest version of uv
53+
uses: astral-sh/setup-uv@v7
5454
with:
5555
python-version: ${{ matrix.python-version }}
5656

Dockerfile

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,31 @@
1-
FROM ubuntu:25.10 AS base
1+
FROM python:3.14.0-slim-trixie AS base
22

33
RUN apt-get update -qy \
44
&& apt-get install -qyy \
55
-o APT::Install-Recommends=false \
66
-o APT::Install-Suggests=false \
77
build-essential \
8-
ca-certificates \
9-
python3-setuptools \
10-
python3.14-dev
8+
ca-certificates
119

12-
13-
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
10+
COPY --from=ghcr.io/astral-sh/uv:0.9.17 /uv /uvx /bin/
1411

1512
ENV UV_LINK_MODE=copy \
1613
UV_COMPILE_BYTECODE=1 \
17-
UV_PYTHON=python3.14 \
14+
UV_PYTHON=python3.14.0 \
1815
UV_PROJECT_ENVIRONMENT=/panettone
1916

2017
COPY pyproject.toml /_lock/
2118
COPY uv.lock /_lock/
2219

2320
RUN cd /_lock && uv sync --locked --no-install-project
2421
##########################################################################
25-
FROM ubuntu:25.10
22+
FROM python:3.14.0-slim-trixie
2623

2724
ENV PATH=/panettone/bin:$PATH
2825

2926
RUN groupadd -r panettone
3027
RUN useradd -r -d /panettone -g panettone -N panettone
3128

32-
STOPSIGNAL SIGINT
33-
34-
RUN apt-get update -qy && apt-get install -qyy \
35-
-o APT::Install-Recommends=false \
36-
-o APT::Install-Suggests=false \
37-
python3.14 \
38-
libpython3.14 \
39-
libpcre3
40-
41-
RUN apt-get clean
42-
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
43-
4429
COPY --from=base --chown=panettone:panettone /panettone /panettone
4530

4631
USER panettone

pyproject.toml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
11
[project]
22
name = "fastapi-sqlalchemy-asyncpg"
3-
version = "1.22.0"
3+
version = "1.24.0"
44
description = "A modern FastAPI application with SQLAlchemy 2.0 and AsyncPG for high-performance async database operations. Features include JWT authentication with Redis token storage, password hashing, connection pooling, data processing with Polars, Rich logging, task scheduling with APScheduler, and Shakespeare datasets integration."
55
readme = "README.md"
66
requires-python = "==3.14.0"
77
dependencies = [
8-
"fastapi[all]==0.121.2",
9-
"pydantic[email]==2.12.4",
8+
"fastapi[all]==0.124.4",
9+
"pydantic[email]==2.12.5",
1010
"pydantic-settings==2.12.0",
11-
"sqlalchemy==2.0.44",
11+
"sqlalchemy==2.0.45",
1212
"uvicorn[standard]==0.38.0",
13-
"asyncpg==0.30.0",
13+
"asyncpg==0.31.0",
1414
"alembic==1.17.2",
1515
"httpx==0.28.1",
16-
"pytest==9.0.1",
16+
"pytest==9.0.2",
1717
"pytest-cov==7.0.0",
1818
"uvloop==0.22.1",
1919
"httptools==0.7.1",
2020
"rich==14.2.0",
2121
"pyjwt==2.10.1",
22-
"redis==7.0.1",
22+
"redis==7.1.0",
2323
"bcrypt==5.0.0",
24-
"polars[pyarrow]==1.35.2",
24+
"polars[pyarrow]==1.36.1",
2525
"python-multipart==0.0.20",
26-
"fastexcel==0.16.0",
26+
"fastexcel==0.18.0",
2727
"inline-snapshot==0.31.1",
28-
"dirty-equals==0.10.0",
29-
"polyfactory==3.0.0",
30-
"granian==2.5.7",
28+
"dirty-equals==0.11",
29+
"polyfactory==3.1.0",
30+
"granian==2.6.0",
3131
"apscheduler[redis,sqlalchemy]>=4.0.0a6",
3232
"rotoger==0.2.1",
3333
]
3434

3535
[tool.uv]
3636
dev-dependencies = [
37-
"ruff==0.14.5",
37+
"ruff==0.14.9",
3838
"devtools[pygments]==0.12.2",
39-
"pyupgrade==3.21.1",
40-
"ipython==9.7.0",
39+
"pyupgrade==3.21.2",
40+
"ipython==9.8.0",
4141
"tryceratops==2.4.1",
4242
]
4343

0 commit comments

Comments
 (0)