From eaf6c3d99076e25a2b50a28671a0ddd530c6001f Mon Sep 17 00:00:00 2001 From: Steven Bal Date: Fri, 26 Jan 2024 13:24:20 +0100 Subject: [PATCH] :heavy_plus_sign: Replace dependencies with open-api-framework deps --- Dockerfile | 1 + requirements/base.in | 37 +------------- requirements/base.txt | 76 ++++++++++++++++++---------- requirements/ci.txt | 110 +++++++++++++++++++++++++++++++++------- requirements/dev.txt | 115 +++++++++++++++++++++++++++++++++--------- 5 files changed, 232 insertions(+), 107 deletions(-) diff --git a/Dockerfile b/Dockerfile index 47a2e051..24a819f9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ build-essential \ libpq-dev \ + git \ && rm -rf /var/lib/apt/lists/* WORKDIR /app diff --git a/requirements/base.in b/requirements/base.in index 9491acfd..bb7dbf86 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -1,37 +1,2 @@ -# Core python libraries -Pillow # handle images -psycopg2 # database driver -pytz # handle timezones -python-dotenv # environment variables for secrets -python-decouple # processing of envvar configs -jsonschema - -# Framework libraries -django -django-admin-index -django-axes -django-choices -django-hijack +git+https://github.com/stevenbal/open-api-dependencies.git@feature/objecttypes-compat#egg=open_api_framework django-jsonsuit -django-redis -django-rosetta -django-sniplates -maykin-django-two-factor-auth -maykin-django-two-factor-auth[phonenumbers] -mozilla-django-oidc-db -sharing-configs - -# API libraries -djangorestframework -# django-extra-fields -django-filter -drf-nested-routers -drf-spectacular - -# WSGI servers & monitoring - production oriented -uwsgi -sentry-sdk # error monitoring -elastic-apm # Elastic APM integration - -# Common ground libraries -commonground-api-common diff --git a/requirements/base.txt b/requirements/base.txt index e5ba0be9..fb71d3c9 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -44,8 +44,8 @@ click-plugins==1.1.1 # via celery click-repl==0.2.0 # via celery -commonground-api-common==1.10.2 - # via -r requirements/base.in +commonground-api-common[markdown-docs,markdown_docs]==1.10.2 + # via open-api-framework coreapi==2.3.3 # via drf-yasg coreschema==0.0.4 @@ -60,7 +60,6 @@ cryptography==40.0.2 # pyopenssl django==3.2.20 # via - # -r requirements/base.in # commonground-api-common # django-admin-index # django-axes @@ -69,6 +68,7 @@ django==3.2.20 # django-formtools # django-hijack # django-jsonsuit + # django-markup # django-otp # django-phonenumber-field # django-privates @@ -76,6 +76,7 @@ django==3.2.20 # django-relativedelta # django-rest-framework-condition # django-rosetta + # django-sendfile2 # django-simple-certmanager # django-sniplates # django-solo @@ -87,28 +88,31 @@ django==3.2.20 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # sharing-configs # zgw-consumers django-admin-index==3.0.0 - # via -r requirements/base.in + # via open-api-framework django-axes==6.0.1 - # via -r requirements/base.in + # via open-api-framework django-better-admin-arrayfield==1.4.2 # via mozilla-django-oidc-db django-choices==1.7.2 # via - # -r requirements/base.in # commonground-api-common + # open-api-framework django-filter==23.2 # via - # -r requirements/base.in # commonground-api-common + # open-api-framework django-formtools==2.4.1 # via maykin-django-two-factor-auth django-hijack==3.3.0 - # via -r requirements/base.in + # via open-api-framework django-jsonsuit==0.5.0 # via -r requirements/base.in +django-markup==1.3 + # via commonground-api-common django-ordered-model==3.7.4 # via django-admin-index django-otp==1.2.0 @@ -118,19 +122,19 @@ django-phonenumber-field==5.2.0 django-privates==2.0.0.post0 # via django-simple-certmanager django-redis==5.2.0 - # via -r requirements/base.in + # via open-api-framework django-relativedelta==2.0.0 # via zgw-consumers django-rest-framework-condition==0.1.1 # via commonground-api-common django-rosetta==0.9.9 - # via -r requirements/base.in + # via open-api-framework django-sendfile2==0.7.0 # via django-privates django-simple-certmanager==1.3.0 # via zgw-consumers django-sniplates==0.7.1 - # via -r requirements/base.in + # via open-api-framework django-solo==2.0.0 # via # commonground-api-common @@ -140,26 +144,29 @@ django-solo==2.0.0 # zgw-consumers djangorestframework==3.12.4 # via - # -r requirements/base.in # commonground-api-common + # djangorestframework-gis # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.4.2 # via # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via open-api-framework drf-nested-routers==0.93.4 # via - # -r requirements/base.in # commonground-api-common + # open-api-framework drf-spectacular==0.26.2 - # via -r requirements/base.in + # via open-api-framework drf-yasg==1.21.5 # via commonground-api-common elastic-apm==6.15.1 - # via -r requirements/base.in + # via open-api-framework face==20.1.1 # via glom faker==18.9.0 @@ -170,9 +177,13 @@ gemma-zds-client==2.0.0 # notifications-api-common # zgw-consumers glom==23.3.0 - # via mozilla-django-oidc-db + # via + # mozilla-django-oidc-db + # open-api-framework idna==3.4 # via requests +importlib-metadata==7.0.1 + # via markdown inflection==0.5.1 # via # drf-spectacular @@ -189,20 +200,24 @@ josepy==1.13.0 # via mozilla-django-oidc jsonschema==4.17.3 # via - # -r requirements/base.in # drf-spectacular + # open-api-framework kombu==5.2.4 # via celery +markdown==3.5.2 + # via commonground-api-common markupsafe==2.1.2 # via jinja2 maykin-django-two-factor-auth[phonenumbers]==2.0.4 - # via -r requirements/base.in + # via open-api-framework mozilla-django-oidc==2.0.0 # via mozilla-django-oidc-db mozilla-django-oidc-db==0.12.0 - # via -r requirements/base.in + # via open-api-framework notifications-api-common==0.2.2 # via commonground-api-common +open-api-framework @ git+https://github.com/stevenbal/open-api-dependencies.git@feature/objecttypes-compat + # via -r requirements/base.in oyaml==1.0 # via commonground-api-common packaging==23.1 @@ -210,13 +225,13 @@ packaging==23.1 phonenumbers==8.13.11 # via maykin-django-two-factor-auth pillow==9.5.0 - # via -r requirements/base.in + # via open-api-framework polib==1.2.0 # via django-rosetta prompt-toolkit==3.0.38 # via click-repl psycopg2==2.9.6 - # via -r requirements/base.in + # via open-api-framework pycparser==2.21 # via cffi pyjwt==2.7.0 @@ -235,15 +250,15 @@ python-dateutil==2.8.2 # django-relativedelta # faker python-decouple==3.8 - # via -r requirements/base.in + # via open-api-framework python-dotenv==1.0.0 - # via -r requirements/base.in + # via open-api-framework pytz==2023.3 # via - # -r requirements/base.in # celery # django # drf-yasg + # open-api-framework pyyaml==6.0 # via # commonground-api-common @@ -271,13 +286,14 @@ ruamel-yaml==0.17.26 ruamel-yaml-clib==0.2.7 # via ruamel-yaml sentry-sdk==1.23.1 - # via -r requirements/base.in + # via open-api-framework sharing-configs==0.1.2 - # via -r requirements/base.in + # via open-api-framework six==1.16.0 # via # click-repl # django-choices + # django-markup # isodate # python-dateutil # qrcode @@ -295,7 +311,7 @@ urllib3==1.26.15 # requests # sentry-sdk uwsgi==2.0.21 - # via -r requirements/base.in + # via open-api-framework vine==5.0.0 # via # amqp @@ -306,7 +322,11 @@ wcwidth==0.2.6 wrapt==1.15.0 # via elastic-apm zgw-consumers==0.26.1 - # via notifications-api-common + # via + # notifications-api-common + # open-api-framework +zipp==3.17.0 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index 456b6a14..71d86cef 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -70,8 +70,11 @@ click-repl==0.2.0 # via # -r requirements/base.txt # celery -commonground-api-common==1.10.2 - # via -r requirements/base.txt +commonground-api-common[markdown-docs]==1.10.2 + # via + # -r requirements/base.txt + # commonground-api-common + # open-api-framework coreapi==2.3.3 # via # -r requirements/base.txt @@ -104,6 +107,7 @@ django==3.2.20 # django-hijack # django-jenkins # django-jsonsuit + # django-markup # django-otp # django-phonenumber-field # django-privates @@ -123,12 +127,17 @@ django==3.2.20 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # sharing-configs # zgw-consumers django-admin-index==3.0.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-axes==6.0.1 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-better-admin-arrayfield==1.4.2 # via # -r requirements/base.txt @@ -137,20 +146,28 @@ django-choices==1.7.2 # via # -r requirements/base.txt # commonground-api-common + # open-api-framework django-filter==23.2 # via # -r requirements/base.txt # commonground-api-common + # open-api-framework django-formtools==2.4.1 # via # -r requirements/base.txt # maykin-django-two-factor-auth django-hijack==3.3.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-jenkins==0.110.0 # via -r requirements/test-tools.in django-jsonsuit==0.5.0 # via -r requirements/base.txt +django-markup==1.3 + # via + # -r requirements/base.txt + # commonground-api-common django-ordered-model==3.7.4 # via # -r requirements/base.txt @@ -168,7 +185,9 @@ django-privates==2.0.0.post0 # -r requirements/base.txt # django-simple-certmanager django-redis==5.2.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-relativedelta==2.0.0 # via # -r requirements/base.txt @@ -178,7 +197,9 @@ django-rest-framework-condition==0.1.1 # -r requirements/base.txt # commonground-api-common django-rosetta==0.9.9 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-sendfile2==0.7.0 # via # -r requirements/base.txt @@ -188,7 +209,9 @@ django-simple-certmanager==1.3.0 # -r requirements/base.txt # zgw-consumers django-sniplates==0.7.1 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework django-solo==2.0.0 # via # -r requirements/base.txt @@ -203,27 +226,38 @@ djangorestframework==3.12.4 # via # -r requirements/base.txt # commonground-api-common + # djangorestframework-gis # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.4.2 # via # -r requirements/base.txt # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via + # -r requirements/base.txt + # open-api-framework drf-nested-routers==0.93.4 # via # -r requirements/base.txt # commonground-api-common + # open-api-framework drf-spectacular==0.26.2 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework drf-yasg==1.21.5 # via # -r requirements/base.txt # commonground-api-common elastic-apm==6.15.1 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework face==20.1.1 # via # -r requirements/base.txt @@ -247,10 +281,15 @@ glom==23.3.0 # via # -r requirements/base.txt # mozilla-django-oidc-db + # open-api-framework idna==3.4 # via # -r requirements/base.txt # requests +importlib-metadata==7.0.1 + # via + # -r requirements/base.txt + # markdown inflection==0.5.1 # via # -r requirements/base.txt @@ -280,28 +319,40 @@ jsonschema==4.17.3 # via # -r requirements/base.txt # drf-spectacular + # open-api-framework kombu==5.2.4 # via # -r requirements/base.txt # celery lxml==4.9.2 # via pyquery +markdown==3.5.2 + # via + # -r requirements/base.txt + # commonground-api-common markupsafe==2.1.2 # via # -r requirements/base.txt # jinja2 maykin-django-two-factor-auth[phonenumbers]==2.0.4 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # maykin-django-two-factor-auth + # open-api-framework mozilla-django-oidc==2.0.0 # via # -r requirements/base.txt # mozilla-django-oidc-db mozilla-django-oidc-db==0.12.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework notifications-api-common==0.2.2 # via # -r requirements/base.txt # commonground-api-common +open-api-framework @ git+https://github.com/stevenbal/open-api-dependencies.git@feature/objecttypes-compat + # via -r requirements/base.txt oyaml==1.0 # via # -r requirements/base.txt @@ -315,7 +366,9 @@ phonenumbers==8.13.11 # -r requirements/base.txt # maykin-django-two-factor-auth pillow==9.5.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework polib==1.2.0 # via # -r requirements/base.txt @@ -325,7 +378,9 @@ prompt-toolkit==3.0.38 # -r requirements/base.txt # click-repl psycopg2==2.9.6 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework pycparser==2.21 # via # -r requirements/base.txt @@ -354,15 +409,20 @@ python-dateutil==2.8.2 # faker # freezegun python-decouple==3.8 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework python-dotenv==1.0.0 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework pytz==2023.3 # via # -r requirements/base.txt # celery # django # drf-yasg + # open-api-framework pyyaml==6.0 # via # -r requirements/base.txt @@ -403,14 +463,19 @@ ruamel-yaml-clib==0.2.7 # -r requirements/base.txt # ruamel-yaml sentry-sdk==1.23.1 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework sharing-configs==0.1.2 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework six==1.16.0 # via # -r requirements/base.txt # click-repl # django-choices + # django-markup # isodate # python-dateutil # qrcode @@ -436,7 +501,9 @@ urllib3==1.26.15 # requests # sentry-sdk uwsgi==2.0.21 - # via -r requirements/base.txt + # via + # -r requirements/base.txt + # open-api-framework vine==5.0.0 # via # -r requirements/base.txt @@ -461,6 +528,11 @@ zgw-consumers==0.26.1 # via # -r requirements/base.txt # notifications-api-common + # open-api-framework +zipp==3.17.0 + # via + # -r requirements/base.txt + # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/dev.txt b/requirements/dev.txt index 5f0e41af..b0ef0106 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -86,8 +86,11 @@ click-repl==0.2.0 # via # -r requirements/ci.txt # celery -commonground-api-common==1.10.2 - # via -r requirements/ci.txt +commonground-api-common[markdown-docs]==1.10.2 + # via + # -r requirements/ci.txt + # commonground-api-common + # open-api-framework coreapi==2.3.3 # via # -r requirements/ci.txt @@ -124,6 +127,7 @@ django==3.2.20 # django-hijack # django-jenkins # django-jsonsuit + # django-markup # django-otp # django-phonenumber-field # django-privates @@ -143,12 +147,17 @@ django==3.2.20 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # sharing-configs # zgw-consumers django-admin-index==3.0.0 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-axes==6.0.1 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-better-admin-arrayfield==1.4.2 # via # -r requirements/ci.txt @@ -157,6 +166,7 @@ django-choices==1.7.2 # via # -r requirements/ci.txt # commonground-api-common + # open-api-framework django-debug-toolbar==4.1.0 # via -r requirements/dev.in django-extensions==3.2.1 @@ -165,16 +175,21 @@ django-filter==23.2 # via # -r requirements/ci.txt # commonground-api-common + # open-api-framework django-formtools==2.4.1 # via # -r requirements/ci.txt # maykin-django-two-factor-auth django-hijack==3.3.0 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-jenkins==0.110.0 # via -r requirements/ci.txt django-jsonsuit==0.5.0 # via -r requirements/ci.txt +django-markup==1.3 + # via -r requirements/ci.txt django-ordered-model==3.7.4 # via # -r requirements/ci.txt @@ -192,7 +207,9 @@ django-privates==2.0.0.post0 # -r requirements/ci.txt # django-simple-certmanager django-redis==5.2.0 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-relativedelta==2.0.0 # via # -r requirements/ci.txt @@ -202,7 +219,9 @@ django-rest-framework-condition==0.1.1 # -r requirements/ci.txt # commonground-api-common django-rosetta==0.9.9 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-sendfile2==0.7.0 # via # -r requirements/ci.txt @@ -212,7 +231,9 @@ django-simple-certmanager==1.3.0 # -r requirements/ci.txt # zgw-consumers django-sniplates==0.7.1 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework django-solo==2.0.0 # via # -r requirements/ci.txt @@ -227,15 +248,21 @@ djangorestframework==3.12.4 # via # -r requirements/ci.txt # commonground-api-common + # djangorestframework-gis # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.4.2 # via # -r requirements/ci.txt # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via + # -r requirements/ci.txt + # open-api-framework docutils==0.18.1 # via # sphinx @@ -244,14 +271,19 @@ drf-nested-routers==0.93.4 # via # -r requirements/ci.txt # commonground-api-common + # open-api-framework drf-spectacular==0.26.2 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework drf-yasg==1.21.5 # via # -r requirements/ci.txt # commonground-api-common elastic-apm==6.15.1 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework face==20.1.1 # via # -r requirements/ci.txt @@ -277,14 +309,18 @@ glom==23.3.0 # via # -r requirements/ci.txt # mozilla-django-oidc-db + # open-api-framework idna==3.4 # via # -r requirements/ci.txt # requests imagesize==1.4.1 # via sphinx -importlib-metadata==6.6.0 - # via sphinx +importlib-metadata==7.0.1 + # via + # -r requirements/ci.txt + # markdown + # sphinx inflection==0.5.1 # via # -r requirements/ci.txt @@ -317,6 +353,7 @@ jsonschema==4.17.3 # via # -r requirements/ci.txt # drf-spectacular + # open-api-framework kombu==5.2.4 # via # -r requirements/ci.txt @@ -325,12 +362,17 @@ lxml==4.9.2 # via # -r requirements/ci.txt # pyquery +markdown==3.5.2 + # via -r requirements/ci.txt markupsafe==2.1.2 # via # -r requirements/ci.txt # jinja2 maykin-django-two-factor-auth[phonenumbers]==2.0.4 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # maykin-django-two-factor-auth + # open-api-framework mccabe==0.7.0 # via flake8 mozilla-django-oidc==2.0.0 @@ -338,13 +380,17 @@ mozilla-django-oidc==2.0.0 # -r requirements/ci.txt # mozilla-django-oidc-db mozilla-django-oidc-db==0.12.0 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework mypy-extensions==1.0.0 # via black notifications-api-common==0.2.2 # via # -r requirements/ci.txt # commonground-api-common +open-api-framework @ git+https://github.com/stevenbal/open-api-dependencies.git@feature/objecttypes-compat + # via -r requirements/ci.txt oyaml==1.0 # via # -r requirements/ci.txt @@ -363,8 +409,10 @@ phonenumbers==8.13.11 # -r requirements/ci.txt # maykin-django-two-factor-auth pillow==9.5.0 - # via -r requirements/ci.txt -pip-tools==6.13.0 + # via + # -r requirements/ci.txt + # open-api-framework +pip-tools==7.3.0 # via -r requirements/dev.in platformdirs==3.5.1 # via black @@ -377,7 +425,9 @@ prompt-toolkit==3.0.38 # -r requirements/ci.txt # click-repl psycopg2==2.9.6 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework pycodestyle==2.10.0 # via flake8 pycparser==2.21 @@ -414,15 +464,20 @@ python-dateutil==2.8.2 # faker # freezegun python-decouple==3.8 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework python-dotenv==1.0.0 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework pytz==2023.3 # via # -r requirements/ci.txt # celery # django # drf-yasg + # open-api-framework pyyaml==6.0 # via # -r requirements/ci.txt @@ -463,14 +518,19 @@ ruamel-yaml-clib==0.2.7 # -r requirements/ci.txt # ruamel-yaml sentry-sdk==1.23.1 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework sharing-configs==0.1.2 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework six==1.16.0 # via # -r requirements/ci.txt # click-repl # django-choices + # django-markup # isodate # python-dateutil # qrcode @@ -513,6 +573,8 @@ tomli==2.0.1 # via # black # build + # pip-tools + # pyproject-hooks typing-extensions==4.5.0 # via black uritemplate==4.1.1 @@ -528,7 +590,9 @@ urllib3==1.26.15 # requests # sentry-sdk uwsgi==2.0.21 - # via -r requirements/ci.txt + # via + # -r requirements/ci.txt + # open-api-framework vine==5.0.0 # via # -r requirements/ci.txt @@ -561,8 +625,11 @@ zgw-consumers==0.26.1 # via # -r requirements/ci.txt # notifications-api-common -zipp==3.15.0 - # via importlib-metadata + # open-api-framework +zipp==3.17.0 + # via + # -r requirements/ci.txt + # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip