Skip to content

Commit

Permalink
tests: keep constraints-old.txt "up-to-date"
Browse files Browse the repository at this point in the history
Add the `--upgrade` flag to go to the lowest version. Add some lower
bounds for some of the transitive dependencies to get it to run again.

Also, add excel deps to old_deps environment.
  • Loading branch information
yagebu committed Sep 15, 2024
1 parent e91ac0c commit 78de554
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 78 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ update-snapshots:
# Update the constraints file for Python dependencies
.PHONY: update-constraints
update-constraints:
uv pip compile --quiet --all-extras --upgrade --output-file constraints.txt pyproject.toml
uv pip compile --quiet --resolution=lowest --output-file constraints-old.txt pyproject.toml
uv pip compile --quiet --extra excel --extra dev --upgrade --output-file constraints.txt pyproject.toml
uv pip compile --quiet --extra excel --extra old_deps_pins --resolution=lowest --upgrade --output-file constraints-old.txt pyproject.toml

# Update the frontend dependencies.
.PHONY: update-frontend-deps
Expand Down
150 changes: 78 additions & 72 deletions constraints-old.txt
Original file line number Diff line number Diff line change
@@ -1,137 +1,143 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --resolution=lowest --output-file constraints-old.txt pyproject.toml
# uv pip compile --extra excel --extra old_deps_pins --resolution=lowest --output-file constraints-old.txt pyproject.toml
anyio==3.0.0
# via watchfiles
attrs==19.2.0
# via pytest
babel==2.7.0
# via
# fava (pyproject.toml)
# flask-babel
beancount==2.3.6
beancount==2.3.5
# via fava (pyproject.toml)
beautifulsoup4==4.12.3
# via beancount
bottle==0.12.25
beautifulsoup4==4.0.1
# via beancount
cachetools==5.3.2
# via google-auth
certifi==2024.2.2
# via requests
chardet==5.2.0
bottle==0.12.20
# via
# fava (pyproject.toml)
# beancount
chardet==1.0
# via beancount
charset-normalizer==3.3.2
# via requests
cheroot==8.0.0
# via fava (pyproject.toml)
click==8.0.0
# via
# fava (pyproject.toml)
# flask
et-xmlfile==1.0.0
# via openpyxl
flask==2.2.0
# via
# fava (pyproject.toml)
# flask-babel
flask-babel==1.0.0
# via fava (pyproject.toml)
google-api-core==2.17.1
# via google-api-python-client
google-api-python-client==2.119.0
google-api-python-client==1.0
# via beancount
google-auth==2.28.1
# via
# google-api-core
# google-api-python-client
# google-auth-httplib2
google-auth-httplib2==0.2.0
httplib2==0.7.6
# via google-api-python-client
googleapis-common-protos==1.62.0
# via google-api-core
httplib2==0.22.0
# via
# google-api-python-client
# google-auth-httplib2
idna==3.6
idna==2.8
# via anyio
importlib-metadata==3.6.0
# via
# anyio
# requests
iniconfig==2.0.0
# fava (pyproject.toml)
# pluggy
iniconfig==0.1
# via pytest
itsdangerous==2.1.2
itsdangerous==2.0.0
# via flask
jaraco-functools==4.0.0
# via cheroot
# via
# fava (pyproject.toml)
# cheroot
jdcal==1.0.1
# via openpyxl
jinja2==3.0.0
# via
# fava (pyproject.toml)
# flask
# flask-babel
lxml==5.1.0
# via beancount
lml==0.0.1
# via
# pyexcel
# pyexcel-io
lxml==5.0.0
# via
# fava (pyproject.toml)
# beancount
# pyexcel-ezodf
# pyexcel-ods3
markdown2==2.3.0
# via fava (pyproject.toml)
markupsafe==2.1.5
markupsafe==2.1.1
# via
# jinja2
# werkzeug
more-itertools==10.2.0
more-itertools==6.0.0
# via
# fava (pyproject.toml)
# cheroot
# jaraco-functools
packaging==23.2
openpyxl==2.4.4
# via pyexcel-xlsx
packaging==14.0
# via pytest
pdfminer2==20151206
# via beancount
pluggy==1.4.0
pluggy==0.12.0
# via pytest
ply==3.4
# via
# fava (pyproject.toml)
# beancount
protobuf==4.25.3
# via
# google-api-core
# googleapis-common-protos
pyasn1==0.5.1
# via
# pyasn1-modules
# rsa
pyasn1-modules==0.3.0
# via google-auth
pyparsing==3.1.1
# via httplib2
pytest==8.0.1
# via beancount
python-dateutil==2.8.2
# via beancount
python-magic==0.4.27
pyexcel==0.5.0
# via fava (pyproject.toml)
pyexcel-ezodf==0.3.3
# via pyexcel-ods3
pyexcel-io==0.5.1
# via
# pyexcel
# pyexcel-ods3
# pyexcel-xlsx
pyexcel-ods3==0.5.0
# via fava (pyproject.toml)
pyexcel-xlsx==0.5.0
# via fava (pyproject.toml)
pytest==7.2.0
# via
# fava (pyproject.toml)
# beancount
python-dateutil==2.1
# via
# fava (pyproject.toml)
# beancount
python-gflags==1.3
# via google-api-python-client
python-magic==0.4.12
# via beancount
pytz==2024.1
pytz==2020.1
# via
# fava (pyproject.toml)
# babel
# flask-babel
requests==2.31.0
# via
# beancount
# google-api-core
rsa==4.9
# via google-auth
requests==0.2.0
# via beancount
setuptools==67.0.0
# via fava (pyproject.toml)
simplejson==3.16.0
# via fava (pyproject.toml)
six==1.16.0
# via
# fava (pyproject.toml)
# cheroot
# pdfminer2
# python-dateutil
sniffio==1.1.0
# via anyio
soupsieve==2.5
# via beautifulsoup4
uritemplate==4.1.1
# via google-api-python-client
urllib3==2.2.1
# via requests
texttable==0.8.3
# via pyexcel
watchfiles==0.20.0
# via fava (pyproject.toml)
werkzeug==2.2.0
# via
# fava (pyproject.toml)
# flask
zipp==0.5.0
# via importlib-metadata
6 changes: 3 additions & 3 deletions constraints.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --all-extras --output-file constraints.txt pyproject.toml
# uv pip compile --extra excel --extra dev --output-file constraints.txt pyproject.toml
alabaster==1.0.0
# via sphinx
altgraph==0.17.4
Expand Down Expand Up @@ -95,7 +95,7 @@ httplib2==0.22.0
# google-auth-httplib2
identify==2.6.1
# via pre-commit
idna==3.9
idna==3.10
# via
# anyio
# requests
Expand Down Expand Up @@ -274,7 +274,7 @@ rsa==4.9
# via google-auth
secretstorage==3.3.3
# via keyring
setuptools==74.1.2
setuptools==75.0.0
# via
# fava (pyproject.toml)
# pyinstaller
Expand Down
16 changes: 15 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,23 @@ dev = [
"types-setuptools",
"types-simplejson",
]
# Pin some lower bounds for transitive dependencies in the old_deps tests
# This a basically determined by increasing them until getting a combination that runs.
old_deps_pins = [
"bottle>=0.12.20", # older ones didn't build
"importlib_metadata>=3.6",
"jaraco-functools>=4",
"lxml>=5", # older ones don't have wheels for recent Python versions
"more-itertools>=6",
"pytest>=7.2", # also used for running the tests of Fava, needs to somewhat recent
"python-dateutil>=2",
"pytz>=2020",
"setuptools>=67",
"six>=1.16",
]

[build-system]
requires = ["setuptools>=60", "setuptools_scm>=8.0", "Babel>=2.7,<3", "wheel"]
requires = ["setuptools>=67", "setuptools_scm>=8.0", "Babel>=2.7,<3", "wheel"]
build-backend = "_build_backend"
backend-path = ["."]

Expand Down
1 change: 1 addition & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ commands =
pytest --cov=fava --cov-report=html --cov-fail-under=90 {posargs:tests}

[testenv:old_deps]
extras = excel
set_env =
SNAPSHOT_IGNORE=true
deps =
Expand Down

0 comments on commit 78de554

Please sign in to comment.