Skip to content

Commit

Permalink
Define and test minimum dependency requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
samuelhwilliams committed Jul 25, 2024
1 parent 35d4436 commit c178ef8
Show file tree
Hide file tree
Showing 4 changed files with 214 additions and 11 deletions.
22 changes: 11 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ sqlalchemy = [
]
sqlalchemy-with-utils = [
"Flask-Admin[sqlalchemy]",
"sqlalchemy_utils>=0.36.6",
"sqlalchemy-citext",
"colour",
"email_validator",
"arrow",
"sqlalchemy_utils>=0.38.0",
"sqlalchemy-citext>=1.8.0",
"colour>=0.1.5",
"email_validator>=2",
"arrow>=0.13.0",
]
geoalchemy = [
"Flask-Admin[sqlalchemy]",
"geoalchemy2",
"geoalchemy2>=0.14.0",
"shapely>=2",
]
mongoengine = [ # TODO: seems out-of-date/unmaintained; replace or deprecate?
Expand All @@ -51,14 +51,14 @@ mongoengine = [ # TODO: seems out-of-date/unmaintained; replace or deprecate?
]
pymongo = ["pymongo>=3.7.0"]
peewee = [
"peewee>=3",
"wtf-peewee>=3"
"peewee>=3.14.0",
"wtf-peewee>=3.0.4"
]
s3 = ["boto"] # TODO: migrate to boto3
azure-blob-storage = ["azure-storage-blob<=3"] # TODO: update to v12+
images = ["pillow>=3.3.2"]
export = ["tablib"]
rediscli = ["redis"]
images = ["pillow>=10.0.0"]
export = ["tablib>=3.0.0"]
rediscli = ["redis>=4.0.0"]
translation = ["flask-babel>=3"]
all = [
"Flask-Admin[sqlalchemy]",
Expand Down
31 changes: 31 additions & 0 deletions requirements-skip/tests-min.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
..[all]

flask==2.2.0
werkzeug==2.3.8
wtforms==2.3.0
sqlalchemy==1.4.18
sqlalchemy_utils==0.38.0
sqlalchemy-citext==1.8.0
flask-sqlalchemy==3.0.0

colour==0.1.5
email_validator==2.0.0
arrow==0.13.0

geoalchemy2==0.14.0
shapely==2

pymongo==3.7.0

peewee==3.14.0
wtf-peewee==3.0.4

azure-storage-blob==2.1.0

pillow==10.0.0

flask-babel==3.0.0

tablib==3.0.0

redis==4.0.0
165 changes: 165 additions & 0 deletions requirements-skip/tests-min.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile tests-min.in
#
arrow==0.13.0
# via
# -r tests-min.in
# flask-admin
azure-common==1.1.28
# via
# azure-storage-blob
# azure-storage-common
azure-storage-blob==2.1.0
# via
# -r tests-min.in
# flask-admin
azure-storage-common==2.1.0
# via azure-storage-blob
babel==2.15.0
# via flask-babel
boto==2.49.0
# via flask-admin
certifi==2024.7.4
# via requests
cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via flask
colour==0.1.5
# via
# -r tests-min.in
# flask-admin
cryptography==43.0.0
# via azure-storage-common
deprecated==1.2.14
# via redis
dnspython==2.6.1
# via email-validator
email-validator==2.0.0
# via
# -r tests-min.in
# flask-admin
flask==2.2.0
# via
# -r tests-min.in
# flask-admin
# flask-babel
# flask-sqlalchemy
flask-admin[all,azure-blob-storage,export,geoalchemy,images,peewee,pymongo,rediscli,s3,sqlalchemy,sqlalchemy-with-utils,translation] @ file:///Users/sam/work/personal/flask-admin
# via -r tests-min.in
flask-babel==3.0.0
# via
# -r tests-min.in
# flask-admin
flask-sqlalchemy==3.0.0
# via
# -r tests-min.in
# flask-admin
geoalchemy2==0.14.0
# via
# -r tests-min.in
# flask-admin
greenlet==3.0.3
# via sqlalchemy
idna==3.7
# via
# email-validator
# requests
importlib-metadata==8.2.0
# via flask
itsdangerous==2.2.0
# via flask
jinja2==3.1.4
# via
# flask
# flask-babel
markupsafe==2.1.5
# via
# jinja2
# werkzeug
# wtforms
numpy==1.24.4
# via shapely
packaging==24.1
# via geoalchemy2
peewee==3.14.0
# via
# -r tests-min.in
# flask-admin
# wtf-peewee
pillow==10.0.0
# via
# -r tests-min.in
# flask-admin
pycparser==2.22
# via cffi
pymongo==3.7.0
# via
# -r tests-min.in
# flask-admin
python-dateutil==2.9.0.post0
# via
# arrow
# azure-storage-common
pytz==2022.7.1
# via
# babel
# flask-babel
redis==4.0.0
# via
# -r tests-min.in
# flask-admin
requests==2.32.3
# via azure-storage-common
shapely==2.0.0
# via
# -r tests-min.in
# flask-admin
six==1.16.0
# via
# python-dateutil
# sqlalchemy-utils
sqlalchemy==1.4.18
# via
# -r tests-min.in
# flask-admin
# flask-sqlalchemy
# geoalchemy2
# sqlalchemy-citext
# sqlalchemy-utils
sqlalchemy-citext==1.8.0
# via
# -r tests-min.in
# flask-admin
sqlalchemy-utils==0.38.0
# via
# -r tests-min.in
# flask-admin
tablib==3.0.0
# via
# -r tests-min.in
# flask-admin
urllib3==2.2.2
# via requests
werkzeug==2.3.8
# via
# -r tests-min.in
# flask
wrapt==1.16.0
# via deprecated
wtf-peewee==3.0.4
# via
# -r tests-min.in
# flask-admin
wtforms==2.3.0
# via
# -r tests-min.in
# flask-admin
# wtf-peewee
zipp==3.19.2
# via importlib-metadata
7 changes: 7 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ envlist =
py3{8,9,10,11,12}
py312-noflaskbabel # only tested against latest of all configurations, sans flask-babel
py312-flaskmongoengine
py{38,312}-min
# style
typing
docs
Expand All @@ -28,6 +29,12 @@ commands =
flaskmongoengine: pytest -v --tb=short --basetemp={envtmpdir} flask_admin/tests -W 'default::DeprecationWarning' {posargs}
!flaskmongoengine: pytest -v --tb=short --basetemp={envtmpdir} flask_admin/tests --ignore flask_admin/tests/mongoengine {posargs}

[testenv:{py38,312}-min]
deps =
-r requirements-skip/tests-min.txt
-r requirements/tests.in
commands = pytest -v --tb=short --basetemp={envtmpdir} flask_admin/tests -W 'default::DeprecationWarning' --ignore flask_admin/tests/mongoengine {posargs}

[testenv:style]
deps = pre-commit
skip_install = true
Expand Down

0 comments on commit c178ef8

Please sign in to comment.