diff --git a/portmap/settings.py b/portmap/settings.py index ed003bb..ddaf4ec 100644 --- a/portmap/settings.py +++ b/portmap/settings.py @@ -55,6 +55,7 @@ "django_htmx.middleware.HtmxMiddleware", "django.contrib.flatpages.middleware.FlatpageFallbackMiddleware", "django_structlog.middlewares.RequestMiddleware", + "allauth.account.middleware.AccountMiddleware" ] if DEBUG: diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..7ecb764 --- /dev/null +++ b/requirements.in @@ -0,0 +1,53 @@ +# Core +Django +psycopg2-binary + +# Auth +django-allauth +python3-openid +requests-oauthlib +authlib +pyjwt + +# Dev & Testing +pytest +pytest-django +pytest-factoryboy +pytest-base-url +factory_boy +Faker +autopep8 +snoop +django-debug-toolbar +django-extensions +django-browser-reload +django-htmx +django-silk +django-structlog +django-environ + +# Google Integrations +google-api-core +google-auth +google-cloud-secret-manager +googleapis-common-protos +grpc-google-iam-v1 +grpcio +grpcio-status +protobuf +rsa + +# Optional Features +playwright +markdown2 +python-slugify +pyyaml + +argon2-cffi +argon2-cffi-bindings +bleach +gprof2dot +greenlet +markdown-it-py +mdurl +pycmarkgfm diff --git a/requirements.txt b/requirements.txt index 34c7ba8..0a8cc98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,80 +1,233 @@ -argon2-cffi==23.1.0 -argon2-cffi-bindings==21.2.0 -asgiref==3.8.1 -asttokens==2.4.1 -autopep8==2.3.1 +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile requirements.in +# +argon2-cffi==25.1.0 + # via -r requirements.in +argon2-cffi-bindings==25.1.0 + # via + # -r requirements.in + # argon2-cffi +asgiref==3.9.1 + # via + # django + # django-allauth + # django-browser-reload + # django-htmx + # django-structlog +asttokens==3.0.0 + # via snoop +authlib==1.6.1 + # via -r requirements.in +autopep8==2.3.2 + # via -r requirements.in bleach==6.2.0 -cachetools==5.5.0 -certifi==2024.8.30 + # via -r requirements.in +cachetools==5.5.2 + # via google-auth +certifi==2025.8.3 + # via requests cffi==1.17.1 -charset-normalizer==3.3.2 -cheap_repr==0.5.2 -cryptography==43.0.1 + # via + # argon2-cffi-bindings + # cryptography + # pycmarkgfm +charset-normalizer==3.4.2 + # via requests +cheap-repr==0.5.2 + # via snoop +cryptography==45.0.5 + # via authlib defusedxml==0.7.1 -Django==4.2.4 -django-allauth==0.54.0 -django-browser-reload==1.11.0 -django-debug-toolbar==4.1.0 -django-environ==0.11.2 -django-extensions==3.2.3 -django-htmx==1.17.2 + # via python3-openid +django==5.2.4 + # via + # -r requirements.in + # django-allauth + # django-browser-reload + # django-debug-toolbar + # django-extensions + # django-htmx + # django-silk + # django-structlog +django-allauth==65.10.0 + # via -r requirements.in +django-browser-reload==1.18.0 + # via -r requirements.in +django-debug-toolbar==6.0.0 + # via -r requirements.in +django-environ==0.12.0 + # via -r requirements.in +django-extensions==4.1 + # via -r requirements.in +django-htmx==1.23.2 + # via -r requirements.in django-ipware==7.0.1 -django-silk==5.0.3 -django-structlog==5.3.0 -executing==2.1.0 -factory_boy==3.3.1 -Faker==29.0.0 -google-api-core==2.20.0 -google-auth==2.35.0 -google-cloud-secret-manager==2.16.1 -googleapis-common-protos==1.65.0 -gprof2dot==2024.6.6 -greenlet==3.0.3 -grpc-google-iam-v1==0.13.1 -grpcio==1.66.1 -grpcio-status==1.62.3 + # via django-structlog +django-silk==5.4.0 + # via -r requirements.in +django-structlog==9.1.1 + # via -r requirements.in +executing==2.2.0 + # via snoop +factory-boy==3.3.3 + # via + # -r requirements.in + # pytest-factoryboy +faker==37.5.3 + # via + # -r requirements.in + # factory-boy +google-api-core[grpc]==2.25.1 + # via + # -r requirements.in + # google-cloud-secret-manager +google-auth==2.40.3 + # via + # -r requirements.in + # google-api-core + # google-cloud-secret-manager +google-cloud-secret-manager==2.24.0 + # via -r requirements.in +googleapis-common-protos[grpc]==1.70.0 + # via + # -r requirements.in + # google-api-core + # grpc-google-iam-v1 + # grpcio-status +gprof2dot==2025.4.14 + # via + # -r requirements.in + # django-silk +greenlet==3.2.3 + # via + # -r requirements.in + # playwright +grpc-google-iam-v1==0.14.2 + # via + # -r requirements.in + # google-cloud-secret-manager +grpcio==1.74.0 + # via + # -r requirements.in + # google-api-core + # googleapis-common-protos + # grpc-google-iam-v1 + # grpcio-status +grpcio-status==1.74.0 + # via + # -r requirements.in + # google-api-core idna==3.10 + # via requests inflection==0.5.1 -iniconfig==2.0.0 -jwt==1.3.1 + # via pytest-factoryboy +iniconfig==2.1.0 + # via pytest markdown-it-py==3.0.0 -markdown2==2.4.13 + # via -r requirements.in +markdown2==2.5.4 + # via -r requirements.in mdurl==0.1.2 -oauthlib==3.2.2 -packaging==24.1 -playwright==1.47.0 + # via + # -r requirements.in + # markdown-it-py +oauthlib==3.3.1 + # via requests-oauthlib +packaging==25.0 + # via + # pytest + # pytest-factoryboy +playwright==1.54.0 + # via -r requirements.in pluggy==1.6.0 -proto-plus==1.24.0 -protobuf==4.25.5 -psycopg2-binary==2.9.6 + # via pytest +proto-plus==1.26.1 + # via + # google-api-core + # google-cloud-secret-manager +protobuf==6.31.1 + # via + # -r requirements.in + # google-api-core + # google-cloud-secret-manager + # googleapis-common-protos + # grpc-google-iam-v1 + # grpcio-status + # proto-plus +psycopg2-binary==2.9.10 + # via -r requirements.in pyasn1==0.6.1 -pyasn1_modules==0.4.1 + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.4.2 + # via google-auth pycmarkgfm==1.2.1 -pycodestyle==2.12.1 + # via -r requirements.in +pycodestyle==2.14.0 + # via autopep8 pycparser==2.22 -pyee==12.0.0 -Pygments==2.18.0 -PyJWT==2.9.0 + # via cffi +pyee==13.0.0 + # via playwright +pygments==2.19.2 + # via + # pytest + # snoop +pyjwt==2.10.1 + # via -r requirements.in pytest==8.4.1 + # via + # -r requirements.in + # pytest-base-url + # pytest-django + # pytest-factoryboy pytest-base-url==2.1.0 -pytest-django==4.7.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in pytest-factoryboy==2.8.1 -pytest-playwright==0.4.4 -python-dateutil==2.9.0.post0 + # via -r requirements.in python-ipware==3.0.0 + # via django-ipware python-slugify==8.0.4 + # via -r requirements.in python3-openid==3.2.0 -PyYAML==6.0.1 -requests==2.32.3 + # via -r requirements.in +pyyaml==6.0.2 + # via -r requirements.in +requests==2.32.4 + # via + # google-api-core + # pytest-base-url + # requests-oauthlib requests-oauthlib==2.0.0 -rich==13.5.2 -rsa==4.9 -setuptools==75.1.0 -six==1.16.0 -snoop==0.4.3 -sqlparse==0.5.1 -structlog==24.4.0 + # via -r requirements.in +rsa==4.9.1 + # via + # -r requirements.in + # google-auth +snoop==0.6.0 + # via -r requirements.in +sqlparse==0.5.3 + # via + # django + # django-debug-toolbar + # django-silk +structlog==25.4.0 + # via django-structlog text-unidecode==1.3 -typing_extensions==4.12.2 -urllib3==2.2.3 + # via python-slugify +typing-extensions==4.14.1 + # via + # pyee + # pytest-factoryboy +tzdata==2025.2 + # via faker +urllib3==2.5.0 + # via requests webencodings==0.5.1 + # via bleach