Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions portmap/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
"django_htmx.middleware.HtmxMiddleware",
"django.contrib.flatpages.middleware.FlatpageFallbackMiddleware",
"django_structlog.middlewares.RequestMiddleware",
"allauth.account.middleware.AccountMiddleware"
]

if DEBUG:
Expand Down
53 changes: 53 additions & 0 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -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
271 changes: 212 additions & 59 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -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