Update requirements

This commit is contained in:
Sonny Bakker 2023-08-06 10:52:49 +02:00
parent 2790e9c82e
commit 2f22e635b3
12 changed files with 55 additions and 45 deletions

View file

@ -1,5 +1,14 @@
# Changelog # Changelog
## 0.5.0
- Require python 3.11
- Require node 18 (current LTS)
- Upgrade dependencies
- `django` `3.2` -> `4.2`
- `psycopg` `2` -> `3`
- `psycopg` `2` -> `3`
## 0.4.2 ## 0.4.2
- Set `SECURE_PROXY_SSL_HEADER` setting for production - Set `SECURE_PROXY_SSL_HEADER` setting for production

View file

@ -1,5 +1,5 @@
# stage 1 # stage 1
FROM python:3.9-bullseye as backend FROM python:3.11-bookworm as backend
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
vim \ vim \
@ -18,7 +18,7 @@ RUN pip install -r requirements/base.txt
# stage 2 # stage 2
FROM node:16-bullseye AS frontend-build FROM node:lts-bookworm AS frontend-build
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
git \ git \
@ -36,7 +36,7 @@ RUN npm run build
# stage 3 # stage 3
FROM python:3.9-bullseye as production FROM python:3.11-bookworm as production
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
postgresql-client \ postgresql-client \
@ -51,7 +51,7 @@ RUN mkdir /app/logs
RUN mkdir /app/media RUN mkdir /app/media
RUN mkdir /app/bin RUN mkdir /app/bin
COPY --from=backend /usr/local/lib/python3.9 /usr/local/lib/python3.9 COPY --from=backend /usr/local/lib/python3.11 /usr/local/lib/python3.11
COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery
COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh
@ -81,7 +81,7 @@ RUN python src/manage.py collectstatic --noinput
# (optional) stage 4 # (optional) stage 4
FROM python:3.9-bullseye as development FROM python:3.11-bookworm as development
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
vim \ vim \
@ -96,7 +96,7 @@ RUN mkdir /app/bin
COPY ./requirements /app/requirements COPY ./requirements /app/requirements
COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh
COPY --from=backend /usr/local/lib/python3.9 /usr/local/lib/python3.9 COPY --from=backend /usr/local/lib/python3.11 /usr/local/lib/python3.11
COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery
COPY --from=backend /app/src/ /app/src/ COPY --from=backend /app/src/ /app/src/

View file

@ -1,4 +1,4 @@
FROM node:16-bullseye FROM node:lts-bookworm
WORKDIR /app WORKDIR /app
RUN mkdir /app/src RUN mkdir /app/src

View file

@ -1,6 +1,6 @@
python-linting: python-linting:
stage: lint stage: lint
image: python:3.9-bullseye image: python:3.11-bookworm
before_script: before_script:
- pip install -r requirements/ci.txt - pip install -r requirements/ci.txt
script: script:
@ -14,7 +14,7 @@ python-linting:
javascript-linting: javascript-linting:
stage: lint stage: lint
image: node:16-bullseye image: node:lts-bookworm
before_script: before_script:
- npm install - npm install
script: script:

View file

@ -4,7 +4,7 @@ python-tests:
services: services:
- postgres:15 - postgres:15
- memcached:1.5.22 - memcached:1.5.22
image: python:3.9-bullseye image: python:3.11-bookworm
before_script: before_script:
- pip install -r requirements/ci.txt - pip install -r requirements/ci.txt
script: script:
@ -12,7 +12,7 @@ python-tests:
javascript-tests: javascript-tests:
stage: test stage: test
image: node:16-bullseye image: node:lts-bookworm
before_script: before_script:
- npm install - npm install
script: script:

View file

@ -1,6 +1,6 @@
{ {
"name": "newsreader", "name": "newsreader",
"version": "0.4.2", "version": "0.5.0",
"description": "Application for viewing RSS feeds", "description": "Application for viewing RSS feeds",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View file

@ -1,24 +1,24 @@
[project] [project]
name = 'newsreader' name = 'newsreader'
version = '0.4.2' version = '0.5.0'
authors = [{name = 'Sonny', email= 'sonnyba871@gmail.com'}] authors = [{name = 'Sonny', email= 'sonnyba871@gmail.com'}]
license = {text = 'GPL-3.0'} license = {text = 'GPL-3.0'}
requires-python = '>=3.11' requires-python = '>=3.11'
dependencies = [ dependencies = [
'django~=3.2', 'django~=4.2.0',
'celery~=5.0', 'celery~=5.0',
'psycopg2', 'psycopg~=3.1.10',
'django-axes', 'django-axes',
'django-celery-beat~=2.5.0', 'django-celery-beat~=2.5.0',
'django-registration-redux~=2.7', 'django-registration-redux~=2.12.0',
'django-rest-framework', 'django-rest-framework',
'drf-yasg', 'drf-yasg',
'python-memcached', 'python-memcached',
'python-dotenv~=0.12', 'python-dotenv~=1.0.0',
'ftfy~=5.8', 'ftfy~=6.1.1',
'requests', 'requests',
'requests_oauthlib', 'requests_oauthlib',
@ -47,4 +47,4 @@ development = [
ci = ['coverage>=5.3.1'] ci = ['coverage>=5.3.1']
production = ['gunicorn~=20.0', 'sentry-sdk~=1.0'] production = ['gunicorn~=21.2.0', 'sentry-sdk~=1.26.0']

View file

@ -36,7 +36,7 @@ click-repl==0.3.0
# via celery # via celery
cron-descriptor==1.4.0 cron-descriptor==1.4.0
# via django-celery-beat # via django-celery-beat
django==3.2.19 django==4.2.4
# via # via
# django-axes # django-axes
# django-celery-beat # django-celery-beat
@ -62,7 +62,7 @@ drf-yasg==1.21.6
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
feedparser==6.0.10 feedparser==6.0.10
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
ftfy==5.9 ftfy==6.1.1
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
idna==3.4 idna==3.4
# via requests # via requests
@ -78,7 +78,7 @@ packaging==23.1
# via drf-yasg # via drf-yasg
prompt-toolkit==3.0.38 prompt-toolkit==3.0.38
# via click-repl # via click-repl
psycopg2==2.9.6 psycopg==3.1.10
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
python-crontab==2.7.1 python-crontab==2.7.1
# via django-celery-beat # via django-celery-beat
@ -86,13 +86,12 @@ python-dateutil==2.8.2
# via # via
# celery # celery
# python-crontab # python-crontab
python-dotenv==0.21.1 python-dotenv==1.0.0
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
python-memcached==1.59 python-memcached==1.59
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
pytz==2023.3 pytz==2023.3
# via # via
# django
# django-timezone-field # django-timezone-field
# djangorestframework # djangorestframework
# drf-yasg # drf-yasg
@ -119,6 +118,7 @@ typing-extensions==4.6.3
# via # via
# asgiref # asgiref
# kombu # kombu
# psycopg
tzdata==2023.3 tzdata==2023.3
# via # via
# celery # celery

View file

@ -81,7 +81,7 @@ cron-descriptor==1.4.0
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# django-celery-beat # django-celery-beat
django==3.2.19 django==4.2.4
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-axes # django-axes
@ -137,7 +137,7 @@ freezegun==1.2.2
# via # via
# -r requirements/testing.txt # -r requirements/testing.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
ftfy==5.9 ftfy==6.1.1
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -192,7 +192,7 @@ prompt-toolkit==3.0.38
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# click-repl # click-repl
psycopg2==2.9.6 psycopg==3.1.10
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -213,7 +213,7 @@ python-dateutil==2.8.2
# faker # faker
# freezegun # freezegun
# python-crontab # python-crontab
python-dotenv==0.21.1 python-dotenv==1.0.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -225,7 +225,6 @@ pytz==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# django
# django-timezone-field # django-timezone-field
# djangorestframework # djangorestframework
# drf-yasg # drf-yasg
@ -281,6 +280,7 @@ typing-extensions==4.6.3
# asgiref # asgiref
# black # black
# kombu # kombu
# psycopg
tzdata==2023.3 tzdata==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt

View file

@ -82,7 +82,7 @@ cron-descriptor==1.4.0
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# django-celery-beat # django-celery-beat
django==3.2.19 django==4.2.4
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-axes # django-axes
@ -144,7 +144,7 @@ freezegun==1.2.2
# via # via
# -r requirements/testing.txt # -r requirements/testing.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
ftfy==5.9 ftfy==6.1.1
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -202,7 +202,7 @@ prompt-toolkit==3.0.38
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# click-repl # click-repl
psycopg2==2.9.6 psycopg==3.1.10
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -225,7 +225,7 @@ python-dateutil==2.8.2
# faker # faker
# freezegun # freezegun
# python-crontab # python-crontab
python-dotenv==0.21.1 python-dotenv==1.0.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -237,7 +237,6 @@ pytz==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# -r requirements/testing.txt # -r requirements/testing.txt
# django
# django-timezone-field # django-timezone-field
# djangorestframework # djangorestframework
# drf-yasg # drf-yasg
@ -296,6 +295,7 @@ typing-extensions==4.6.3
# asgiref # asgiref
# black # black
# kombu # kombu
# psycopg
tzdata==2023.3 tzdata==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt

View file

@ -61,7 +61,7 @@ cron-descriptor==1.4.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-celery-beat # django-celery-beat
django==3.2.19 django==4.2.4
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-axes # django-axes
@ -103,11 +103,11 @@ feedparser==6.0.10
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
ftfy==5.9 ftfy==6.1.1
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
gunicorn==20.1.0 gunicorn==21.2.0
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
idna==3.4 idna==3.4
# via # via
@ -133,11 +133,12 @@ packaging==23.1
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# drf-yasg # drf-yasg
# gunicorn
prompt-toolkit==3.0.38 prompt-toolkit==3.0.38
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# click-repl # click-repl
psycopg2==2.9.6 psycopg==3.1.10
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -150,7 +151,7 @@ python-dateutil==2.8.2
# -r requirements/base.txt # -r requirements/base.txt
# celery # celery
# python-crontab # python-crontab
python-dotenv==0.21.1 python-dotenv==1.0.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -161,7 +162,6 @@ python-memcached==1.59
pytz==2023.3 pytz==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django
# django-timezone-field # django-timezone-field
# djangorestframework # djangorestframework
# drf-yasg # drf-yasg
@ -203,6 +203,7 @@ typing-extensions==4.6.3
# -r requirements/base.txt # -r requirements/base.txt
# asgiref # asgiref
# kombu # kombu
# psycopg
tzdata==2023.3 tzdata==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt

View file

@ -65,7 +65,7 @@ cron-descriptor==1.4.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-celery-beat # django-celery-beat
django==3.2.19 django==4.2.4
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django-axes # django-axes
@ -113,7 +113,7 @@ feedparser==6.0.10
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
freezegun==1.2.2 freezegun==1.2.2
# via newsreader (pyproject.toml) # via newsreader (pyproject.toml)
ftfy==5.9 ftfy==6.1.1
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -154,7 +154,7 @@ prompt-toolkit==3.0.38
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# click-repl # click-repl
psycopg2==2.9.6 psycopg==3.1.10
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -171,7 +171,7 @@ python-dateutil==2.8.2
# faker # faker
# freezegun # freezegun
# python-crontab # python-crontab
python-dotenv==0.21.1 python-dotenv==1.0.0
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# newsreader (pyproject.toml) # newsreader (pyproject.toml)
@ -182,7 +182,6 @@ python-memcached==1.59
pytz==2023.3 pytz==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt
# django
# django-timezone-field # django-timezone-field
# djangorestframework # djangorestframework
# drf-yasg # drf-yasg
@ -229,6 +228,7 @@ typing-extensions==4.6.3
# asgiref # asgiref
# black # black
# kombu # kombu
# psycopg
tzdata==2023.3 tzdata==2023.3
# via # via
# -r requirements/base.txt # -r requirements/base.txt