diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dded3cb5..da39aa77 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,7 +79,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: '3.10' + python-version: '3.11' - uses: actions/setup-node@v2-beta with: node-version: '17' diff --git a/.readthedocs.yaml b/.readthedocs.yaml index cf55a079..5619e15d 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -15,7 +15,7 @@ build: - libxmlsec1-openssl - wget tools: - python: '3.10' + python: '3.11' python: install: diff --git a/Dockerfile b/Dockerfile index 3aeedc56..e1682fe9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage 1 - Compile needed python dependencies -FROM python:3.10-slim-bookworm AS build +FROM python:3.11-slim-bookworm AS build RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ pkg-config \ @@ -34,7 +34,7 @@ RUN npm run build # Stage 3 - Build docker image suitable for execution and deployment -FROM python:3.10-slim-bookworm AS production +FROM python:3.11-slim-bookworm AS production # Stage 3.1 - Set up the needed production dependencies # install all the dependencies for GeoDjango @@ -65,7 +65,7 @@ RUN mkdir /app/log /app/config /app/media /app/private-media VOLUME ["/app/log", "/app/media", "/app/private-media"] # copy backend build deps -COPY --from=build /usr/local/lib/python3.10 /usr/local/lib/python3.10 +COPY --from=build /usr/local/lib/python3.11 /usr/local/lib/python3.11 COPY --from=build /usr/local/bin/uwsgi /usr/local/bin/uwsgi COPY --from=build /usr/local/bin/celery /usr/local/bin/celery diff --git a/INSTALL.rst b/INSTALL.rst index de9498d8..fa19b1fc 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -18,7 +18,7 @@ Prerequisites You need the following libraries and/or programs: -* `Python`_ 3.10 +* `Python`_ 3.11 * Python `Virtualenv`_ and `Pip`_ * `PostgreSQL`_ 11 or above * `Node.js`_ diff --git a/requirements/base.in b/requirements/base.in index 06e6d59c..d764f73a 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -1,51 +1 @@ -# Core python libraries -celery -click<8.1.0 # click>=8.1.0 causes issues with black https://github.com/psf/black/issues/2964 -jq -jsonschema -markdown # used to render some markdown in code to html -psycopg2 -python-dateutil -python-dotenv # environment variables for secrets -python-decouple # processing of envvar configs -requests -requests-cache -zgw-consumers -self-certifi -bleach - -# Framework libraries -django~=3.2.23 -django-axes -django-cors-headers -django-db-logger -django-extra-views -django-log-outgoing-requests -django-markup -django-redis -django-rosetta -django-sniplates -mozilla-django-oidc-db - -# Admin and UI libraries -django-admin-index -django-sniplates -django-jsonform - -# API libraries -djangorestframework -djangorestframework-inclusions -drf-spectacular - -commonground-api-common -gemma-zds-client<2.0.0 # lots of breaking changes in 2.0.0 -zgw-consumers>=0.25.0 # newest with simple cert manager - -# task queue -celery - -# WSGI servers & monitoring - production oriented -uwsgi -sentry_sdk # error monitoring sentry -flower # task monitoring -elastic-apm # Elastic APM integration +open-api-framework diff --git a/requirements/base.txt b/requirements/base.txt index e99e8093..30ca4059 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # ./bin/compile_dependencies.sh @@ -10,36 +10,29 @@ asgiref==3.7.2 # via # django # django-cors-headers -async-timeout==4.0.3 - # via redis attrs==23.2.0 # via - # cattrs # glom # jsonschema # referencing - # requests-cache billiard==3.6.4.0 # via celery bleach==6.1.0 - # via -r requirements/base.in + # via open-api-framework boltons==23.1.1 # via # face # glom -cattrs==23.2.3 - # via requests-cache celery==5.2.7 # via - # -r requirements/base.in # flower # notifications-api-common + # open-api-framework certifi==2023.11.17 # via # django-simple-certmanager # elastic-apm # requests - # self-certifi # sentry-sdk cffi==1.16.0 # via cryptography @@ -47,7 +40,6 @@ charset-normalizer==3.3.2 # via requests click==8.0.4 # via - # -r requirements/base.in # celery # click-didyoumean # click-plugins @@ -59,7 +51,7 @@ click-plugins==1.1.1 click-repl==0.3.0 # via celery commonground-api-common==1.12.1 - # via -r requirements/base.in + # via open-api-framework coreapi==2.3.3 # via commonground-api-common coreschema==0.0.4 @@ -72,26 +64,19 @@ cryptography==41.0.7 # pyopenssl django==3.2.23 # via - # -r requirements/base.in # commonground-api-common # django-admin-index - # django-appconf # django-axes # django-cors-headers - # django-db-logger - # django-extra-views # django-filter # django-jsonform - # django-log-outgoing-requests # django-markup # django-privates # django-redis # django-relativedelta # django-rest-framework-condition - # django-rosetta # django-sendfile2 # django-simple-certmanager - # django-sniplates # django-solo # djangorestframework # djangorestframework-inclusions @@ -101,90 +86,80 @@ django==3.2.23 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # zgw-consumers django-admin-index==3.1.0 - # via -r requirements/base.in -django-appconf==1.0.6 - # via django-log-outgoing-requests + # via open-api-framework django-axes==6.3.0 - # via -r requirements/base.in + # via open-api-framework django-cors-headers==4.3.1 - # via -r requirements/base.in -django-db-logger==0.1.13 - # via -r requirements/base.in -django-extra-views==0.14.0 - # via -r requirements/base.in + # via open-api-framework django-filter==23.5 - # via commonground-api-common + # via + # commonground-api-common + # open-api-framework django-jsonform==2.21.4 # via - # -r requirements/base.in # mozilla-django-oidc-db -django-log-outgoing-requests==0.6.0 - # via -r requirements/base.in + # open-api-framework django-markup==1.8.1 - # via -r requirements/base.in + # via open-api-framework django-ordered-model==3.7.4 # via django-admin-index django-privates==2.0.0.post0 # via django-simple-certmanager django-redis==5.4.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 django-sendfile2==0.7.0 # via django-privates django-simple-certmanager==1.4.1 # via zgw-consumers -django-sniplates==0.7.2 - # via -r requirements/base.in django-solo==2.2.0 # via # commonground-api-common - # django-log-outgoing-requests # mozilla-django-oidc-db # notifications-api-common # zgw-consumers djangorestframework==3.12.4 # via - # -r requirements/base.in # commonground-api-common + # djangorestframework-gis # djangorestframework-inclusions # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.2.0 # via # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via open-api-framework djangorestframework-inclusions==1.2.0 - # via -r requirements/base.in + # via open-api-framework drf-nested-routers==0.93.4 # via commonground-api-common drf-spectacular==0.27.0 - # via -r requirements/base.in + # via open-api-framework drf-yasg==1.21.7 # via commonground-api-common ecs-logging==2.1.0 # via elastic-apm elastic-apm==6.20.0 - # via -r requirements/base.in -exceptiongroup==1.2.0 - # via cattrs + # via open-api-framework face==20.1.1 # via glom faker==22.2.0 # via zgw-consumers flower==2.0.1 - # via -r requirements/base.in + # via open-api-framework gemma-zds-client==1.0.1 # via - # -r requirements/base.in # commonground-api-common # notifications-api-common # zgw-consumers @@ -208,40 +183,32 @@ jinja2==3.1.3 # via coreschema josepy==1.14.0 # via mozilla-django-oidc -jq==1.6.0 - # via -r requirements/base.in jsonschema==4.21.0 - # via - # -r requirements/base.in - # drf-spectacular + # via drf-spectacular jsonschema-specifications==2023.12.1 # via jsonschema kombu==5.3.5 # via celery -markdown==3.5.2 - # via -r requirements/base.in markupsafe==2.1.3 # via jinja2 mozilla-django-oidc==4.0.0 # via mozilla-django-oidc-db mozilla-django-oidc-db==0.14.1 - # via -r requirements/base.in + # via open-api-framework notifications-api-common==0.2.2 # via commonground-api-common +open-api-framework==0.1.0 + # via -r requirements/base.in oyaml==1.0 # via commonground-api-common packaging==23.2 # via drf-yasg -platformdirs==4.1.0 - # via requests-cache -polib==1.2.0 - # via django-rosetta prometheus-client==0.19.0 # via flower prompt-toolkit==3.0.43 # via click-repl psycopg2==2.9.9 - # via -r requirements/base.in + # via open-api-framework pycparser==2.21 # via cffi pyjwt==2.8.0 @@ -255,13 +222,12 @@ pyopenssl==23.3.0 # zgw-consumers python-dateutil==2.8.2 # via - # -r requirements/base.in # 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.post1 # via # celery @@ -283,59 +249,43 @@ referencing==0.32.1 # jsonschema-specifications requests==2.31.0 # via - # -r requirements/base.in # commonground-api-common # coreapi - # django-log-outgoing-requests - # django-rosetta # gemma-zds-client # mozilla-django-oidc - # requests-cache + # open-api-framework # requests-mock # zgw-consumers -requests-cache==1.1.1 - # via -r requirements/base.in requests-mock==1.11.0 # via zgw-consumers rpds-py==0.17.1 # via # jsonschema # referencing -self-certifi==1.0.0 - # via -r requirements/base.in sentry-sdk==1.39.2 - # via -r requirements/base.in + # via open-api-framework six==1.16.0 # via # bleach - # django-db-logger # isodate # python-dateutil # requests-mock - # url-normalize sqlparse==0.4.4 # via django tornado==6.4 # via flower -typing-extensions==4.9.0 - # via - # asgiref - # cattrs uritemplate==4.1.1 # via # coreapi # drf-spectacular # drf-yasg -url-normalize==1.4.3 - # via requests-cache urllib3==2.1.0 # via # elastic-apm # requests - # requests-cache # sentry-sdk uwsgi==2.0.23 - # via -r requirements/base.in + # via open-api-framework vine==5.1.0 # via # amqp @@ -349,8 +299,8 @@ wrapt==1.14.1 # via elastic-apm zgw-consumers==0.27.0 # via - # -r requirements/base.in # notifications-api-common + # open-api-framework # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index 05479f59..249100e5 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # ./bin/compile_dependencies.sh @@ -19,20 +19,13 @@ asgiref==3.7.2 # django-cors-headers astroid==3.0.2 # via pylint -async-timeout==4.0.3 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # redis attrs==23.2.0 # via # -c requirements/base.txt # -r requirements/base.txt - # cattrs # glom # jsonschema # referencing - # requests-cache babel==2.14.0 # via sphinx beautifulsoup4==4.12.2 @@ -48,23 +41,20 @@ bleach==6.1.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework boltons==23.1.1 # via # -c requirements/base.txt # -r requirements/base.txt # face # glom -cattrs==23.2.3 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # requests-cache celery==5.2.7 # via # -c requirements/base.txt # -r requirements/base.txt # flower # notifications-api-common + # open-api-framework certifi==2023.11.17 # via # -c requirements/base.txt @@ -72,7 +62,6 @@ certifi==2023.11.17 # django-simple-certmanager # elastic-apm # requests - # self-certifi # sentry-sdk cffi==1.16.0 # via @@ -88,6 +77,7 @@ click==8.0.4 # via # -c requirements/base.txt # -r requirements/base.txt + # -r requirements/test-tools.in # black # celery # click-didyoumean @@ -112,6 +102,7 @@ commonground-api-common==1.12.1 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework commonmark==0.9.1 # via recommonmark coreapi==2.3.3 @@ -142,24 +133,18 @@ django==3.2.23 # -r requirements/base.txt # commonground-api-common # django-admin-index - # django-appconf # django-axes # django-cors-headers - # django-db-logger - # django-extra-views # django-filter # django-jenkins # django-jsonform - # django-log-outgoing-requests # django-markup # django-privates # django-redis # django-relativedelta # django-rest-framework-condition - # django-rosetta # django-sendfile2 # django-simple-certmanager - # django-sniplates # django-solo # djangorestframework # djangorestframework-inclusions @@ -169,37 +154,29 @@ django==3.2.23 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # zgw-consumers django-admin-index==3.1.0 # via # -c requirements/base.txt # -r requirements/base.txt -django-appconf==1.0.6 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # django-log-outgoing-requests + # open-api-framework django-axes==6.3.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework django-cors-headers==4.3.1 # via # -c requirements/base.txt # -r requirements/base.txt -django-db-logger==0.1.13 - # via - # -c requirements/base.txt - # -r requirements/base.txt -django-extra-views==0.14.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt + # open-api-framework django-filter==23.5 # via # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common + # open-api-framework django-jenkins==0.110.0 # via -r requirements/test-tools.in django-jsonform==2.21.4 @@ -207,14 +184,12 @@ django-jsonform==2.21.4 # -c requirements/base.txt # -r requirements/base.txt # mozilla-django-oidc-db -django-log-outgoing-requests==0.6.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt + # open-api-framework django-markup==1.8.1 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework django-ordered-model==3.7.4 # via # -c requirements/base.txt @@ -229,6 +204,7 @@ django-redis==5.4.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework django-relativedelta==2.0.0 # via # -c requirements/base.txt @@ -239,10 +215,6 @@ django-rest-framework-condition==0.1.1 # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common -django-rosetta==0.9.9 - # via - # -c requirements/base.txt - # -r requirements/base.txt django-sendfile2==0.7.0 # via # -c requirements/base.txt @@ -253,16 +225,11 @@ django-simple-certmanager==1.4.1 # -c requirements/base.txt # -r requirements/base.txt # zgw-consumers -django-sniplates==0.7.2 - # via - # -c requirements/base.txt - # -r requirements/base.txt django-solo==2.2.0 # via # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common - # django-log-outgoing-requests # mozilla-django-oidc-db # notifications-api-common # zgw-consumers @@ -273,21 +240,29 @@ djangorestframework==3.12.4 # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common + # djangorestframework-gis # djangorestframework-inclusions # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.2.0 # via # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via + # -c requirements/base.txt + # -r requirements/base.txt + # open-api-framework djangorestframework-inclusions==1.2.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework docutils==0.18.1 # via # recommonmark @@ -303,6 +278,7 @@ drf-spectacular==0.27.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework drf-yasg==1.21.7 # via # -c requirements/base.txt @@ -317,11 +293,7 @@ elastic-apm==6.20.0 # via # -c requirements/base.txt # -r requirements/base.txt -exceptiongroup==1.2.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # cattrs + # open-api-framework face==20.1.1 # via # -c requirements/base.txt @@ -341,6 +313,7 @@ flower==2.0.1 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework freezegun==1.4.0 # via -r requirements/test-tools.in gemma-zds-client==1.0.1 @@ -403,10 +376,6 @@ josepy==1.14.0 # -c requirements/base.txt # -r requirements/base.txt # mozilla-django-oidc -jq==1.6.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt jsonschema==4.21.0 # via # -c requirements/base.txt @@ -423,10 +392,7 @@ kombu==5.3.5 # -r requirements/base.txt # celery markdown==3.5.2 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # sphinx-markdown-tables + # via sphinx-markdown-tables markupsafe==2.1.3 # via # -c requirements/base.txt @@ -445,6 +411,7 @@ mozilla-django-oidc-db==0.14.1 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework mypy-extensions==1.0.0 # via black notifications-api-common==0.2.2 @@ -452,6 +419,10 @@ notifications-api-common==0.2.2 # -c requirements/base.txt # -r requirements/base.txt # commonground-api-common +open-api-framework==0.1.0 + # via + # -c requirements/base.txt + # -r requirements/base.txt oyaml==1.0 # via # -c requirements/base.txt @@ -470,16 +441,8 @@ pep8==1.7.1 # via -r requirements/test-tools.in platformdirs==4.1.0 # via - # -c requirements/base.txt - # -r requirements/base.txt # black # pylint - # requests-cache -polib==1.2.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # django-rosetta prometheus-client==0.19.0 # via # -c requirements/base.txt @@ -494,6 +457,7 @@ psycopg2==2.9.9 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework pycodestyle==2.11.1 # via flake8 pycparser==2.21 @@ -533,10 +497,12 @@ python-decouple==3.8 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework python-dotenv==1.0.0 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework pytz==2023.3.post1 # via # -c requirements/base.txt @@ -573,18 +539,12 @@ requests==2.31.0 # -r requirements/base.txt # commonground-api-common # coreapi - # django-log-outgoing-requests - # django-rosetta # gemma-zds-client # mozilla-django-oidc - # requests-cache + # open-api-framework # requests-mock # sphinx # zgw-consumers -requests-cache==1.1.1 - # via - # -c requirements/base.txt - # -r requirements/base.txt requests-mock==1.11.0 # via # -c requirements/base.txt @@ -597,24 +557,19 @@ rpds-py==0.17.1 # -r requirements/base.txt # jsonschema # referencing -self-certifi==1.0.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt sentry-sdk==1.39.2 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework six==1.16.0 # via # -c requirements/base.txt # -r requirements/base.txt # bleach - # django-db-logger # isodate # python-dateutil # requests-mock - # url-normalize snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -653,10 +608,6 @@ sqlparse==0.4.4 # django tblib==3.0.0 # via -r requirements/test-tools.in -tomli==2.0.1 - # via - # black - # pylint tomlkit==0.12.3 # via pylint tornado==6.4 @@ -664,14 +615,6 @@ tornado==6.4 # -c requirements/base.txt # -r requirements/base.txt # flower -typing-extensions==4.9.0 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # asgiref - # astroid - # black - # cattrs uritemplate==4.1.1 # via # -c requirements/base.txt @@ -679,23 +622,18 @@ uritemplate==4.1.1 # coreapi # drf-spectacular # drf-yasg -url-normalize==1.4.3 - # via - # -c requirements/base.txt - # -r requirements/base.txt - # requests-cache urllib3==2.1.0 # via # -c requirements/base.txt # -r requirements/base.txt # elastic-apm # requests - # requests-cache # sentry-sdk uwsgi==2.0.23 # via # -c requirements/base.txt # -r requirements/base.txt + # open-api-framework vine==5.1.0 # via # -c requirements/base.txt @@ -731,6 +669,7 @@ zgw-consumers==0.27.0 # -c requirements/base.txt # -r requirements/base.txt # notifications-api-common + # open-api-framework # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/dev.txt b/requirements/dev.txt index 27770296..9cf6523d 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # ./bin/compile_dependencies.sh @@ -25,20 +25,13 @@ astroid==3.0.2 # -c requirements/ci.txt # -r requirements/ci.txt # pylint -async-timeout==4.0.3 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # redis attrs==23.2.0 # via # -c requirements/ci.txt # -r requirements/ci.txt - # cattrs # glom # jsonschema # referencing - # requests-cache babel==2.14.0 # via # -c requirements/ci.txt @@ -62,6 +55,7 @@ bleach==6.1.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework boltons==23.1.1 # via # -c requirements/ci.txt @@ -70,17 +64,13 @@ boltons==23.1.1 # glom build==1.0.3 # via pip-tools -cattrs==23.2.3 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # requests-cache celery==5.2.7 # via # -c requirements/ci.txt # -r requirements/ci.txt # flower # notifications-api-common + # open-api-framework certifi==2023.11.17 # via # -c requirements/ci.txt @@ -88,7 +78,6 @@ certifi==2023.11.17 # django-simple-certmanager # elastic-apm # requests - # self-certifi # sentry-sdk cffi==1.16.0 # via @@ -129,6 +118,7 @@ commonground-api-common==1.12.1 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework commonmark==0.9.1 # via # -c requirements/ci.txt @@ -170,26 +160,20 @@ django==3.2.23 # commonground-api-common # ddt-api-calls # django-admin-index - # django-appconf # django-axes # django-cors-headers - # django-db-logger # django-debug-toolbar # django-extensions - # django-extra-views # django-filter # django-jenkins # django-jsonform - # django-log-outgoing-requests # django-markup # django-privates # django-redis # django-relativedelta # django-rest-framework-condition - # django-rosetta # django-sendfile2 # django-simple-certmanager - # django-sniplates # django-solo # djangorestframework # djangorestframework-inclusions @@ -199,41 +183,33 @@ django==3.2.23 # mozilla-django-oidc # mozilla-django-oidc-db # notifications-api-common + # open-api-framework # zgw-consumers django-admin-index==3.1.0 # via # -c requirements/ci.txt # -r requirements/ci.txt -django-appconf==1.0.6 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # django-log-outgoing-requests + # open-api-framework django-axes==6.3.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework django-cors-headers==4.3.1 # via # -c requirements/ci.txt # -r requirements/ci.txt -django-db-logger==0.1.13 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt + # open-api-framework django-debug-toolbar==4.2.0 # via -r requirements/dev.in django-extensions==3.2.3 # via -r requirements/dev.in -django-extra-views==0.14.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt django-filter==23.5 # via # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common + # open-api-framework django-jenkins==0.110.0 # via # -c requirements/ci.txt @@ -243,14 +219,12 @@ django-jsonform==2.21.4 # -c requirements/ci.txt # -r requirements/ci.txt # mozilla-django-oidc-db -django-log-outgoing-requests==0.6.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt + # open-api-framework django-markup==1.8.1 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework django-ordered-model==3.7.4 # via # -c requirements/ci.txt @@ -265,6 +239,7 @@ django-redis==5.4.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework django-relativedelta==2.0.0 # via # -c requirements/ci.txt @@ -275,10 +250,6 @@ django-rest-framework-condition==0.1.1 # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common -django-rosetta==0.9.9 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt django-sendfile2==0.7.0 # via # -c requirements/ci.txt @@ -289,16 +260,11 @@ django-simple-certmanager==1.4.1 # -c requirements/ci.txt # -r requirements/ci.txt # zgw-consumers -django-sniplates==0.7.2 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt django-solo==2.2.0 # via # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common - # django-log-outgoing-requests # mozilla-django-oidc-db # notifications-api-common # zgw-consumers @@ -311,21 +277,29 @@ djangorestframework==3.12.4 # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common + # djangorestframework-gis # djangorestframework-inclusions # drf-nested-routers # drf-spectacular # drf-yasg # notifications-api-common + # open-api-framework djangorestframework-camel-case==1.2.0 # via # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common # notifications-api-common +djangorestframework-gis==1.0 + # via + # -c requirements/ci.txt + # -r requirements/ci.txt + # open-api-framework djangorestframework-inclusions==1.2.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework docutils==0.18.1 # via # -c requirements/ci.txt @@ -343,6 +317,7 @@ drf-spectacular==0.27.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework drf-yasg==1.21.7 # via # -c requirements/ci.txt @@ -357,11 +332,7 @@ elastic-apm==6.20.0 # via # -c requirements/ci.txt # -r requirements/ci.txt -exceptiongroup==1.2.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # cattrs + # open-api-framework face==20.1.1 # via # -c requirements/ci.txt @@ -385,6 +356,7 @@ flower==2.0.1 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework freezegun==1.4.0 # via # -c requirements/ci.txt @@ -453,10 +425,6 @@ josepy==1.14.0 # -c requirements/ci.txt # -r requirements/ci.txt # mozilla-django-oidc -jq==1.6.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt jsonschema==4.21.0 # via # -c requirements/ci.txt @@ -497,6 +465,7 @@ mozilla-django-oidc-db==0.14.1 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework mypy-extensions==1.0.0 # via # -c requirements/ci.txt @@ -507,6 +476,10 @@ notifications-api-common==0.2.2 # -c requirements/ci.txt # -r requirements/ci.txt # commonground-api-common +open-api-framework==0.1.0 + # via + # -c requirements/ci.txt + # -r requirements/ci.txt oyaml==1.0 # via # -c requirements/ci.txt @@ -537,12 +510,6 @@ platformdirs==4.1.0 # -r requirements/ci.txt # black # pylint - # requests-cache -polib==1.2.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # django-rosetta prometheus-client==0.19.0 # via # -c requirements/ci.txt @@ -557,6 +524,7 @@ psycopg2==2.9.9 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework pycodestyle==2.11.1 # via # -c requirements/ci.txt @@ -608,10 +576,12 @@ python-decouple==3.8 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework python-dotenv==1.0.0 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework pytz==2023.3.post1 # via # -c requirements/ci.txt @@ -651,18 +621,12 @@ requests==2.31.0 # commonground-api-common # coreapi # ddt-api-calls - # django-log-outgoing-requests - # django-rosetta # gemma-zds-client # mozilla-django-oidc - # requests-cache + # open-api-framework # requests-mock # sphinx # zgw-consumers -requests-cache==1.1.1 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt requests-mock==1.11.0 # via # -c requirements/ci.txt @@ -675,24 +639,19 @@ rpds-py==0.17.1 # -r requirements/ci.txt # jsonschema # referencing -self-certifi==1.0.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt sentry-sdk==1.39.2 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework six==1.16.0 # via # -c requirements/ci.txt # -r requirements/ci.txt # bleach - # django-db-logger # isodate # python-dateutil # requests-mock - # url-normalize snowballstemmer==2.2.0 # via # -c requirements/ci.txt @@ -770,15 +729,6 @@ tblib==3.0.0 # via # -c requirements/ci.txt # -r requirements/ci.txt -tomli==2.0.1 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # black - # build - # pip-tools - # pylint - # pyproject-hooks tomlkit==0.12.3 # via # -c requirements/ci.txt @@ -789,14 +739,6 @@ tornado==6.4 # -c requirements/ci.txt # -r requirements/ci.txt # flower -typing-extensions==4.9.0 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # asgiref - # astroid - # black - # cattrs uritemplate==4.1.1 # via # -c requirements/ci.txt @@ -804,23 +746,18 @@ uritemplate==4.1.1 # coreapi # drf-spectacular # drf-yasg -url-normalize==1.4.3 - # via - # -c requirements/ci.txt - # -r requirements/ci.txt - # requests-cache urllib3==2.1.0 # via # -c requirements/ci.txt # -r requirements/ci.txt # elastic-apm # requests - # requests-cache # sentry-sdk uwsgi==2.0.23 # via # -c requirements/ci.txt # -r requirements/ci.txt + # open-api-framework vine==5.1.0 # via # -c requirements/ci.txt @@ -865,6 +802,7 @@ zgw-consumers==0.27.0 # -c requirements/ci.txt # -r requirements/ci.txt # notifications-api-common + # open-api-framework # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/test-tools.in b/requirements/test-tools.in index 92808d90..5c3814ba 100644 --- a/requirements/test-tools.in +++ b/requirements/test-tools.in @@ -13,6 +13,7 @@ tblib waitress>=2.1.1 # Code formatting +click<8.1.0 # click>=8.1.0 causes issues with black https://github.com/psf/black/issues/2964 black isort flake8 diff --git a/src/openklant/conf/base.py b/src/openklant/conf/base.py index 4d893e5f..5fbda2c0 100644 --- a/src/openklant/conf/base.py +++ b/src/openklant/conf/base.py @@ -409,7 +409,6 @@ AXES_CACHE = "axes" # refers to CACHES setting AXES_FAILURE_LIMIT = 5 # Default: 3 AXES_LOCK_OUT_AT_FAILURE = True # Default: True -AXES_USE_USER_AGENT = False # Default: False AXES_COOLOFF_TIME = datetime.timedelta(minutes=5) # after testing, the REMOTE_ADDR does not appear to be included with nginx (so single # reverse proxy) and the ipware detection didn't properly work. On K8s you typically have @@ -417,13 +416,8 @@ # bringing the total of reverse proxies to 2 - meaning HTTP_X_FORWARDED_FOR basically # looks like ``$realIp,$ingressIp``. -> to get to $realIp, there is only 1 extra reverse # proxy included. -AXES_PROXY_COUNT = NUM_PROXIES - 1 if NUM_PROXIES else None -AXES_ONLY_USER_FAILURES = ( - False # Default: False (you might want to block on username rather than IP) -) -AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP = ( - False # Default: False (you might want to block on username and IP) -) +AXES_IPWARE_PROXY_COUNT = NUM_PROXIES - 1 if NUM_PROXIES else None +AXES_LOCKOUT_PARAMETERS = ["ip_address"] # The default meta precedence order IPWARE_META_PRECEDENCE_ORDER = ( "HTTP_X_FORWARDED_FOR", diff --git a/src/openklant/templates/sniplates/form.html b/src/openklant/templates/sniplates/form.html deleted file mode 100644 index 757fc0f0..00000000 --- a/src/openklant/templates/sniplates/form.html +++ /dev/null @@ -1,102 +0,0 @@ -{% extends 'sniplates/django.html' %} -{% load sniplates staticfiles i18n %} - - -{% block _label %} -{% if label %} - -{% endif %} -{% endblock %} - - -{% block _errors %} -{% if errors %} - {% for error in errors %} - {{ error }} - {% endfor %} -{% endif %} -{% endblock %} - - -{% block input %} -{% with input_type=input_type|default:"text" %} - -{% endwith %} -{% endblock %} - - -{% block TextInput %} -{% reuse "_label" %} -{% reuse "input" %} - -{% if not no_error %} - {% reuse "_errors" %} -{% endif %} -{% endblock %} - - -{% block EmailInput %} -{% reuse "_label" %} -{% reuse "input" input_type="email" %} -{% reuse "_errors" %} -{% endblock %} - - -{% block NumberInput %} -{% reuse "_label" %} -{% reuse "input" input_type="number" raw_value=value %} -{% reuse "_errors" %} -{% endblock %} - - -{% block URLInput %} -{% reuse "_label" %} -{% reuse "input" input_type="url" %} -{% reuse "_errors" %} -{% endblock %} - - -{% block PasswordInput %} -{% reuse "_label" %} -{% reuse "input" input_type="password" value="" %} -{% reuse "_errors" %} -{% endblock %} - - -{% block Textarea %} -{% reuse "_label" %} - -{% reuse "_errors" %} -{% endblock %} - - -{% block RadioButton %} -
- {% for val, display in choices %} -
- - -
- {% endfor %} -
-{% reuse "_errors" %} -{% endblock %}