Improve packaging using pip-compile

This commit is contained in:
Spitap
2024-12-18 17:51:38 +01:00
committed by Spitfireap
parent 1aefb47a30
commit fb448bc26d
8 changed files with 1409 additions and 97 deletions
+267 -8
View File
@@ -1,8 +1,267 @@
django-bower
django-debug-toolbar
pre-commit
black
pylint
django-extensions
Werkzeug
pyOpenSSL
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --extra=dev --output-file=dev-requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
astroid==3.3.5
# via pylint
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
black==24.10.0
# via modoboa (pyproject.toml)
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
cfgv==3.4.0
# via pre-commit
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via
# black
# rq
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
# pyopenssl
defusedxml==0.7.1
# via modoboa (pyproject.toml)
dill==0.3.9
# via pylint
distlib==0.3.9
# via virtualenv
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-bower
# django-ckeditor
# django-cors-headers
# django-debug-toolbar
# django-extensions
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-bower==5.2.0
# via modoboa (pyproject.toml)
django-ckeditor==6.7.1
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-debug-toolbar==4.4.6
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-extensions==3.2.3
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via
# tldextract
# virtualenv
gevent==24.2.1
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
identify==2.6.1
# via pre-commit
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
isort==5.13.2
# via pylint
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
markupsafe==3.0.2
# via werkzeug
mccabe==0.7.0
# via pylint
mypy-extensions==1.0.0
# via black
nodeenv==1.9.1
# via pre-commit
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
packaging==24.1
# via black
passlib==1.7.4
# via modoboa (pyproject.toml)
pathspec==0.12.1
# via black
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
platformdirs==4.3.6
# via
# black
# pylint
# virtualenv
pre-commit==4.0.1
# via modoboa (pyproject.toml)
progressbar33==2.4
# via modoboa (pyproject.toml)
pycparser==2.22
# via cffi
pylint==3.3.1
# via modoboa (pyproject.toml)
pyopenssl==24.2.1
# via modoboa (pyproject.toml)
python-dateutil==2.9.0.post0
# via modoboa (pyproject.toml)
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via
# drf-spectacular
# pre-commit
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via
# django-bower
# python-dateutil
sqlparse==0.5.1
# via
# django
# django-debug-toolbar
tldextract==5.1.2
# via modoboa (pyproject.toml)
tomlkit==0.13.2
# via pylint
typing-extensions==4.12.2
# via
# dj-database-url
# jwcrypto
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
virtualenv==20.27.1
# via pre-commit
werkzeug==3.1.1
# via modoboa (pyproject.toml)
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
# The following packages are considered to be unsafe in a requirements file:
# setuptools
+215 -1
View File
@@ -1 +1,215 @@
django-auth-ldap<5.0.0
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --extra=ldap --output-file=ldap-requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via rq
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
defusedxml==0.7.1
# via modoboa (pyproject.toml)
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-auth-ldap
# django-ckeditor
# django-cors-headers
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-auth-ldap==5.1.0
# via modoboa (pyproject.toml)
django-ckeditor==6.7.1
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via tldextract
gevent==24.2.1
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
passlib==1.7.4
# via modoboa (pyproject.toml)
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
progressbar33==2.4
# via modoboa (pyproject.toml)
pyasn1==0.6.1
# via
# pyasn1-modules
# python-ldap
pyasn1-modules==0.4.1
# via python-ldap
pycparser==2.22
# via cffi
python-dateutil==2.9.0.post0
# via modoboa (pyproject.toml)
python-ldap==3.4.4
# via django-auth-ldap
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via drf-spectacular
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via python-dateutil
sqlparse==0.5.1
# via django
tldextract==5.1.2
# via modoboa (pyproject.toml)
typing-extensions==4.12.2
# via
# dj-database-url
# jwcrypto
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
# The following packages are considered to be unsafe in a requirements file:
# setuptools
+206 -1
View File
@@ -1 +1,206 @@
mysqlclient<2.2.5
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --extra=mysql --output-file=mysql-requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via rq
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
defusedxml==0.7.1
# via modoboa (pyproject.toml)
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-ckeditor
# django-cors-headers
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-ckeditor==6.7.1
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via tldextract
gevent==24.2.1
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
mysqlclient==2.2.4
# via modoboa (pyproject.toml)
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
passlib==1.7.4
# via modoboa (pyproject.toml)
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
progressbar33==2.4
# via modoboa (pyproject.toml)
pycparser==2.22
# via cffi
python-dateutil==2.9.0.post0
# via modoboa (pyproject.toml)
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via drf-spectacular
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via python-dateutil
sqlparse==0.5.1
# via django
tldextract==5.1.2
# via modoboa (pyproject.toml)
typing-extensions==4.12.2
# via
# dj-database-url
# jwcrypto
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
# The following packages are considered to be unsafe in a requirements file:
# setuptools
+209 -1
View File
@@ -1 +1,209 @@
psycopg[binary]>=3.1
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --extra=postgresql --output-file=postgresql-requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via rq
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
defusedxml==0.7.1
# via modoboa (pyproject.toml)
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-ckeditor
# django-cors-headers
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-ckeditor==6.7.1
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via tldextract
gevent==24.2.1
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
passlib==1.7.4
# via modoboa (pyproject.toml)
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
progressbar33==2.4
# via modoboa (pyproject.toml)
psycopg[binary]==3.2.3
# via modoboa (pyproject.toml)
psycopg-binary==3.2.3
# via psycopg
pycparser==2.22
# via cffi
python-dateutil==2.9.0.post0
# via modoboa (pyproject.toml)
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via drf-spectacular
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via python-dateutil
sqlparse==0.5.1
# via django
tldextract==5.1.2
# via modoboa (pyproject.toml)
typing-extensions==4.12.2
# via
# dj-database-url
# jwcrypto
# psycopg
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
# The following packages are considered to be unsafe in a requirements file:
# setuptools
+71 -11
View File
@@ -4,11 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "modoboa"
dynamic = [
"version",
"dependencies",
"optional-dependencies"
]
dynamic = ["version"]
authors = [
{ name="Antoine Nguyen", email="tonio@ngyn.org" },
]
@@ -32,6 +28,76 @@ classifiers = [
]
keywords = ["email"]
license = {file = "LICENSE"}
dependencies = [
"django>4.0,<5.0",
"django-ckeditor==6.7.1",
"django-phonenumber-field[phonenumbers]==8.0.0",
"django-reversion==5.0.12",
"django-xforwardedfor-middleware==2.0",
"django-otp==1.5.0",
"django-filter",
"django-rename-app==0.1.7",
"django-environ",
"dj-database-url",
"djangorestframework>=3.14,<3.16",
"drf-spectacular",
"uritemplate",
"django-oauth-toolkit",
"django-cors-headers",
"passlib~=1.7.4",
"bcrypt", # Requires libffi-dev and python-dev
"asgiref",
"dnspython==2.6.1",
"feedparser==6.0.11",
"fido2==1.1.3",
"gevent==24.2.1",
"Pillow", # Optional dependency for django-ckeditor
"progressbar33==2.4",
"python-dateutil",
"cryptography",
"pytz",
"requests",
"lxml==4.9.4", # FIXME: issue with version 5+
"chardet",
"ovh",
"oath",
"redis>=4.2.0rc1",
"rrdtool>=0.1.10",
"qrcode",
"aiosmtplib",
# PDF credentials
"reportlab",
# DMARC
"tldextract>=2.0.2",
"defusedxml>=0.6.0",
"python-magic>=0.4.24",
# RQ
"rq>=1.13.0",
"django-rq",
# Sieve
"sievelib>=1.4.1"
]
[project.optional-dependencies]
dev = [
"django-bower",
"django-debug-toolbar",
"pre-commit",
"black",
"pylint",
"django-extensions",
"Werkzeug",
"pyOpenSSL"
]
mysql = ["mysqlclient<2.2.5"]
postgresql = ["psycopg[binary]>=3.1"]
test = [
"argon2-cffi>=16.1.0",
"factory-boy<3.4.0",
"httmock==1.4.0",
"testfixtures==8.3.0",
"tox",
]
ldap = ["django-auth-ldap>=1.3.0"]
[project.scripts]
modoboa-cli = "modoboa:modoboa_admin"
@@ -45,9 +111,3 @@ Issues = "https://github.com/modoboa/modoboa/issues"
[tool.setuptools.dynamic]
version = {attr = "modoboa.version.get_version"}
dependencies = {file = ["requirements.txt"]}
optional-dependencies.dev = { file = ["dev-requirements.txt"] }
optional-dependencies.test = { file = ["test-requirements.txt"] }
optional-dependencies.ldap = { file = ["ldap-requirements.txt"] }
optional-dependencies.mysql = { file = ["mysql-requirements.txt"] }
optional-dependencies.postgresql = { file = ["postgresql-requirements.txt"] }
+195 -47
View File
@@ -1,56 +1,204 @@
django>4.0,<5.0
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --output-file=requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via rq
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
defusedxml==0.7.1
# via modoboa (pyproject.toml)
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-ckeditor
# django-cors-headers
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-ckeditor==6.7.1
django-phonenumber-field[phonenumbers]==8.0.0
django-reversion==5.0.12
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
django-filter
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
django-environ
dj-database-url
djangorestframework>=3.14,<3.16
drf-spectacular
uritemplate
django-oauth-toolkit
django-cors-headers
passlib~=1.7.4
bcrypt # Requires libffi-dev and python-dev
asgiref
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via tldextract
gevent==24.2.1
Pillow # Optional dependency for django-ckeditor
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
passlib==1.7.4
# via modoboa (pyproject.toml)
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
progressbar33==2.4
python-dateutil
cryptography
pytz
requests
lxml[html_clean]
chardet
ovh
oath
redis>=4.2.0rc1
rrdtool>=0.1.10
qrcode
# via modoboa (pyproject.toml)
pycparser==2.22
# via cffi
python-dateutil==2.9.0.post0
# via modoboa (pyproject.toml)
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via drf-spectacular
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via python-dateutil
sqlparse==0.5.1
# via django
tldextract==5.1.2
# via modoboa (pyproject.toml)
typing-extensions==4.12.2
# via
# dj-database-url
# jwcrypto
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
aiosmtplib
# PDF credentials
reportlab
# DMARC
tldextract>=2.0.2
defusedxml>=0.6.0
python-magic>=0.4.24
# RQ
rq>=1.13.0
django-rq
# Sieve
sievelib>=1.4.1
# The following packages are considered to be unsafe in a requirements file:
# setuptools
-25
View File
@@ -1,25 +0,0 @@
[isort]
atomic = true
combine_as_imports = true
combine_star = true
default_section = THIRDPARTY
indent = ' '
known_django = django
known_drf = rest_framework
known_first_party = modoboa,test_project
multi_line_output = 5
no_lines_before = LOCALFOLDER
not_skip = __init__.py
sections = FUTURE,STDLIB,THIRDPARTY,DJANGO,DRF,FIRSTPARTY,LOCALFOLDER
skip_glob = **/migrations/*.py
use_parentheses = true
[pep8]
exclude = migrations
max-line-length = 80
[flake8]
exclude = migrations
max-line-length = 80
per-file-ignores =
modoboa/core/commands/templates/settings.py.tpl: E265
+246 -3
View File
@@ -1,5 +1,248 @@
argon2-cffi>=16.1.0
factory-boy<3.4.0
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --extra=test --output-file=test-requirements.txt pyproject.toml
#
aiosmtplib==3.0.2
# via modoboa (pyproject.toml)
argon2-cffi==23.1.0
# via modoboa (pyproject.toml)
argon2-cffi-bindings==21.2.0
# via argon2-cffi
asgiref==3.8.1
# via
# django
# django-cors-headers
# modoboa (pyproject.toml)
attrs==24.2.0
# via
# jsonschema
# referencing
bcrypt==4.2.0
# via modoboa (pyproject.toml)
cachetools==5.5.0
# via tox
certifi==2024.8.30
# via requests
cffi==1.17.1
# via
# argon2-cffi-bindings
# cryptography
chardet==5.2.0
# via
# modoboa (pyproject.toml)
# reportlab
# tox
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via rq
colorama==0.4.6
# via tox
cryptography==43.0.3
# via
# fido2
# jwcrypto
# modoboa (pyproject.toml)
defusedxml==0.7.1
# via modoboa (pyproject.toml)
distlib==0.3.9
# via virtualenv
dj-database-url==2.3.0
# via modoboa (pyproject.toml)
django==4.2.16
# via
# dj-database-url
# django-ckeditor
# django-cors-headers
# django-filter
# django-js-asset
# django-oauth-toolkit
# django-otp
# django-phonenumber-field
# django-rename-app
# django-reversion
# django-rq
# django-xforwardedfor-middleware
# djangorestframework
# drf-spectacular
# modoboa (pyproject.toml)
django-ckeditor==6.7.1
# via modoboa (pyproject.toml)
django-cors-headers==4.6.0
# via modoboa (pyproject.toml)
django-environ==0.11.2
# via modoboa (pyproject.toml)
django-filter==24.3
# via modoboa (pyproject.toml)
django-js-asset==2.2.0
# via django-ckeditor
django-oauth-toolkit==3.0.1
# via modoboa (pyproject.toml)
django-otp==1.5.0
# via modoboa (pyproject.toml)
django-phonenumber-field[phonenumbers]==8.0.0
# via modoboa (pyproject.toml)
django-rename-app==0.1.7
# via modoboa (pyproject.toml)
django-reversion==5.0.12
# via modoboa (pyproject.toml)
django-rq==3.0.0
# via modoboa (pyproject.toml)
django-xforwardedfor-middleware==2.0
# via modoboa (pyproject.toml)
djangorestframework==3.15.2
# via
# drf-spectacular
# modoboa (pyproject.toml)
dnspython==2.6.1
# via modoboa (pyproject.toml)
drf-spectacular==0.27.2
# via modoboa (pyproject.toml)
factory-boy==3.3.1
# via modoboa (pyproject.toml)
faker==30.8.2
# via factory-boy
feedparser==6.0.11
# via modoboa (pyproject.toml)
fido2==1.1.3
# via modoboa (pyproject.toml)
filelock==3.16.1
# via
# tldextract
# tox
# virtualenv
gevent==24.2.1
# via modoboa (pyproject.toml)
greenlet==3.1.1
# via gevent
httmock==1.4.0
# via modoboa (pyproject.toml)
idna==3.10
# via
# requests
# tldextract
inflection==0.5.1
# via drf-spectacular
jsonschema==4.23.0
# via drf-spectacular
jsonschema-specifications==2024.10.1
# via jsonschema
jwcrypto==1.5.6
# via django-oauth-toolkit
lxml==4.9.4
# via modoboa (pyproject.toml)
oath==1.4.4
# via modoboa (pyproject.toml)
oauthlib==3.2.2
# via
# django-oauth-toolkit
# requests-oauthlib
ovh==1.2.0
# via modoboa (pyproject.toml)
packaging==24.1
# via
# pyproject-api
# tox
passlib==1.7.4
# via modoboa (pyproject.toml)
phonenumbers==8.13.48
# via django-phonenumber-field
pillow==11.0.0
# via
# modoboa (pyproject.toml)
# reportlab
platformdirs==4.3.6
# via
# tox
# virtualenv
pluggy==1.5.0
# via tox
progressbar33==2.4
# via modoboa (pyproject.toml)
pycparser==2.22
# via cffi
pyproject-api==1.8.0
# via tox
python-dateutil==2.9.0.post0
# via
# faker
# modoboa (pyproject.toml)
python-magic==0.4.27
# via modoboa (pyproject.toml)
pytz==2024.2
# via modoboa (pyproject.toml)
pyyaml==6.0.2
# via drf-spectacular
qrcode==8.0
# via modoboa (pyproject.toml)
redis==5.2.0
# via
# django-rq
# modoboa (pyproject.toml)
# rq
referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
reportlab==4.2.5
# via modoboa (pyproject.toml)
requests==2.32.3
# via
# django-oauth-toolkit
# httmock
# modoboa (pyproject.toml)
# ovh
# requests-file
# requests-oauthlib
# tldextract
requests-file==2.1.0
# via tldextract
requests-oauthlib==2.0.0
# via ovh
rpds-py==0.20.1
# via
# jsonschema
# referencing
rq==2.0.0
# via
# django-rq
# modoboa (pyproject.toml)
rrdtool==0.1.16
# via modoboa (pyproject.toml)
sgmllib3k==1.0.0
# via feedparser
sievelib==1.4.1
# via modoboa (pyproject.toml)
six==1.16.0
# via python-dateutil
sqlparse==0.5.1
# via django
testfixtures==8.3.0
tox
# via modoboa (pyproject.toml)
tldextract==5.1.2
# via modoboa (pyproject.toml)
tox==4.23.2
# via modoboa (pyproject.toml)
typing-extensions==4.12.2
# via
# dj-database-url
# faker
# jwcrypto
# sievelib
uritemplate==4.1.1
# via
# drf-spectacular
# modoboa (pyproject.toml)
urllib3==2.2.3
# via requests
virtualenv==20.27.1
# via tox
zope-event==5.0
# via gevent
zope-interface==7.1.1
# via gevent
# The following packages are considered to be unsafe in a requirements file:
# setuptools