Use pip-tools to manage dependencies

This commit is contained in:
Sonny Bakker 2022-05-26 11:12:22 +02:00
parent 53aa8da2dd
commit 20309e70fa
8 changed files with 275 additions and 1369 deletions

View file

@ -1,10 +1,10 @@
FROM python:3.7-buster
RUN pip install poetry
FROM python:3.9-bullseye
WORKDIR /app
COPY poetry.lock pyproject.toml /app/
RUN mkdir /app/src
RUN poetry config virtualenvs.create false && poetry install --no-interaction --extras sentry
COPY ./requirements /app/requirements
COPY . /app/
RUN pip install -r requirements/production.txt -r requirements/development.txt
COPY ./src /app/src

View file

@ -1,9 +1,10 @@
FROM node:12
FROM node:12-bullseye
WORKDIR /app
RUN mkdir /app/src
COPY package.json package-lock.json /app/
RUN npm install
COPY . /app/
COPY ./src /app/src

1315
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,46 +0,0 @@
[tool.poetry]
name = "newsreader"
version = "0.3.13.8"
description = "Webapplication for reading RSS feeds"
authors = ["Sonny <sonnyba871@gmail.com>"]
license = "GPL-3.0"
[tool.poetry.dependencies]
python = "^3.7"
bleach = "^3.1.4"
Django = "^3.2"
celery = "^4.4.2"
beautifulsoup4 = "^4.9.0"
django-axes = "^5.3.1"
django-celery-beat = "^2.0.0"
djangorestframework = "^3.11.0"
drf-yasg = "^1.17.1"
django-registration-redux = "^2.7"
lxml = "^4.5.0"
feedparser = "^6.0.8"
python-memcached = "^1.59"
requests = "^2.23.0"
psycopg2-binary = "^2.8.5"
gunicorn = "^20.0.4"
python-dotenv = "^0.12.0"
sentry-sdk = {version = "^1.0.0", optional = true}
ftfy = "^5.8"
requests_oauthlib = "^1.3.0"
[tool.poetry.extras]
sentry = ["sentry_sdk"]
[tool.poetry.dev-dependencies]
factory-boy = "^2.12.0"
freezegun = "^0.3.15"
django-debug-toolbar = "^2.2"
django-extensions = "^2.2.9"
black = "19.3b0"
isort = "4.3.21"
autoflake = "1.3.1"
tblib = "1.6.0"
coverage = "^5.1"
[build-system]
requires = ["poetry>=1.0.10"]
build-backend = "poetry.masonry.api"

View file

@ -0,0 +1,11 @@
-c production.txt
factory-boy
freezegun
django-debug-toolbar
django-extensions
black
isort
autoflake
tblib
coverage

View file

@ -0,0 +1,82 @@
#
# This file is autogenerated by pip-compile with python 3.7
# To update, run:
#
# pip-compile --output-file=requirements/development.txt requirements/development.in
#
asgiref==3.5.2
# via
# -c requirements/production.txt
# django
autoflake==1.4
# via -r requirements/development.in
black==22.3.0
# via -r requirements/development.in
click==8.1.3
# via black
coverage==6.4
# via -r requirements/development.in
django==3.2.13
# via
# -c requirements/production.txt
# django-debug-toolbar
# django-extensions
django-debug-toolbar==3.4.0
# via -r requirements/development.in
django-extensions==3.1.5
# via -r requirements/development.in
factory-boy==3.2.1
# via -r requirements/development.in
faker==13.12.0
# via factory-boy
freezegun==1.2.1
# via -r requirements/development.in
importlib-metadata==4.11.4
# via
# -c requirements/production.txt
# click
isort==5.10.1
# via -r requirements/development.in
mypy-extensions==0.4.3
# via black
pathspec==0.9.0
# via black
platformdirs==2.5.2
# via black
pyflakes==2.4.0
# via autoflake
python-dateutil==2.8.2
# via
# -c requirements/production.txt
# faker
# freezegun
pytz==2022.1
# via
# -c requirements/production.txt
# django
six==1.16.0
# via
# -c requirements/production.txt
# python-dateutil
sqlparse==0.4.2
# via
# -c requirements/production.txt
# django
# django-debug-toolbar
tblib==1.7.0
# via -r requirements/development.in
tomli==2.0.1
# via black
typed-ast==1.5.4
# via black
typing-extensions==4.2.0
# via
# -c requirements/production.txt
# asgiref
# black
# faker
# importlib-metadata
zipp==3.8.0
# via
# -c requirements/production.txt
# importlib-metadata

View file

@ -0,0 +1,22 @@
django~=3.2
celery~=4.4
gunicorn~=20.0
psycopg2
django-axes
django-celery-beat~=2.0.0
django-registration-redux~=2.7
django-rest-framework
drf-yasg
python-memcached
python-dotenv~=0.12
sentry-sdk~=1.0
ftfy~=5.8
requests
requests_oauthlib
feedparser
bleach
beautifulsoup4
lxml

151
requirements/production.txt Normal file
View file

@ -0,0 +1,151 @@
#
# This file is autogenerated by pip-compile with python 3.7
# To update, run:
#
# pip-compile --output-file=requirements/production.txt requirements/production.in
#
amqp==2.6.1
# via kombu
asgiref==3.5.2
# via django
beautifulsoup4==4.11.1
# via -r requirements/production.in
billiard==3.6.4.0
# via celery
bleach==5.0.0
# via -r requirements/production.in
celery==4.4.7
# via
# -r requirements/production.in
# django-celery-beat
certifi==2022.5.18.1
# via
# requests
# sentry-sdk
charset-normalizer==2.0.12
# via requests
coreapi==2.3.3
# via drf-yasg
coreschema==0.0.4
# via
# coreapi
# drf-yasg
django==3.2.13
# via
# -r requirements/production.in
# django-axes
# django-celery-beat
# django-timezone-field
# djangorestframework
# drf-yasg
django-axes==5.33.0
# via -r requirements/production.in
django-celery-beat==2.0.0
# via -r requirements/production.in
django-ipware==4.0.2
# via django-axes
django-registration-redux==2.10
# via -r requirements/production.in
django-rest-framework==0.1.0
# via -r requirements/production.in
django-timezone-field==4.2.3
# via django-celery-beat
djangorestframework==3.13.1
# via
# django-rest-framework
# drf-yasg
drf-yasg==1.20.0
# via -r requirements/production.in
feedparser==6.0.10
# via -r requirements/production.in
ftfy==5.9
# via -r requirements/production.in
gunicorn==20.1.0
# via -r requirements/production.in
idna==3.3
# via requests
importlib-metadata==4.11.4
# via kombu
inflection==0.5.1
# via drf-yasg
itypes==1.2.0
# via coreapi
jinja2==3.1.2
# via coreschema
kombu==4.6.11
# via celery
lxml==4.8.0
# via -r requirements/production.in
markupsafe==2.1.1
# via jinja2
oauthlib==3.2.0
# via requests-oauthlib
packaging==21.3
# via drf-yasg
psycopg2==2.9.3
# via -r requirements/production.in
pyparsing==3.0.9
# via packaging
python-crontab==2.6.0
# via django-celery-beat
python-dateutil==2.8.2
# via python-crontab
python-dotenv==0.20.0
# via -r requirements/production.in
python-memcached==1.59
# via -r requirements/production.in
pytz==2022.1
# via
# celery
# django
# django-timezone-field
# djangorestframework
requests==2.27.1
# via
# -r requirements/production.in
# coreapi
# requests-oauthlib
requests-oauthlib==1.3.1
# via -r requirements/production.in
ruamel-yaml==0.17.21
# via drf-yasg
ruamel-yaml-clib==0.2.6
# via ruamel-yaml
sentry-sdk==1.5.12
# via -r requirements/production.in
sgmllib3k==1.0.0
# via feedparser
six==1.16.0
# via
# bleach
# python-dateutil
# python-memcached
soupsieve==2.3.2.post1
# via beautifulsoup4
sqlparse==0.4.2
# via django
typing-extensions==4.2.0
# via
# asgiref
# importlib-metadata
uritemplate==4.1.1
# via
# coreapi
# drf-yasg
urllib3==1.26.9
# via
# requests
# sentry-sdk
vine==1.3.0
# via
# amqp
# celery
wcwidth==0.2.5
# via ftfy
webencodings==0.5.1
# via bleach
zipp==3.8.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools