# This file was autogenerated by uv via the following command:
#    uv pip compile --extra excel --extra dev --python-version 3.9 --output-file constraints.txt pyproject.toml
alabaster==0.7.16
    # via sphinx
anyio==4.9.0
    # via watchfiles
babel==2.17.0
    # via
    #   fava (pyproject.toml)
    #   flask-babel
    #   sphinx
backports-tarfile==1.2.0
    # via jaraco-context
beancount==3.1.0
    # via
    #   fava (pyproject.toml)
    #   beangulp
    #   beanquery
beangulp==0.2.0
    # via fava (pyproject.toml)
beanquery==0.2.0
    # via fava (pyproject.toml)
beautifulsoup4==4.13.3
    # via
    #   beangulp
    #   furo
blinker==1.9.0
    # via flask
build==1.2.2.post1
    # via fava (pyproject.toml)
cachetools==5.5.2
    # via tox
certifi==2025.1.31
    # via requests
cffi==1.17.1
    # via cryptography
cfgv==3.4.0
    # via pre-commit
chardet==5.2.0
    # via
    #   beangulp
    #   tox
charset-normalizer==3.4.1
    # via requests
cheroot==10.0.1
    # via fava (pyproject.toml)
click==8.1.8
    # via
    #   fava (pyproject.toml)
    #   beancount
    #   beangulp
    #   beanquery
    #   flask
colorama==0.4.6
    # via tox
coverage==7.7.1
    # via pytest-cov
cryptography==44.0.2
    # via secretstorage
distlib==0.3.9
    # via virtualenv
docutils==0.21.2
    # via
    #   readme-renderer
    #   sphinx
et-xmlfile==2.0.0
    # via openpyxl
exceptiongroup==1.2.2
    # via
    #   anyio
    #   pytest
filelock==3.18.0
    # via
    #   tox
    #   virtualenv
flask==3.1.0
    # via
    #   fava (pyproject.toml)
    #   flask-babel
flask-babel==4.0.0
    # via fava (pyproject.toml)
furo==2024.8.6
    # via fava (pyproject.toml)
id==1.5.0
    # via twine
identify==2.6.9
    # via pre-commit
idna==3.10
    # via
    #   anyio
    #   requests
imagesize==1.4.1
    # via sphinx
importlib-metadata==8.6.1
    # via
    #   build
    #   flask
    #   keyring
    #   sphinx
    #   twine
iniconfig==2.1.0
    # via pytest
itsdangerous==2.2.0
    # via flask
jaraco-classes==3.4.0
    # via keyring
jaraco-context==6.0.1
    # via keyring
jaraco-functools==4.1.0
    # via
    #   cheroot
    #   keyring
jeepney==0.9.0
    # via
    #   keyring
    #   secretstorage
jinja2==3.1.6
    # via
    #   fava (pyproject.toml)
    #   flask
    #   flask-babel
    #   sphinx
keyring==25.6.0
    # via twine
lml==0.2.0
    # via
    #   pyexcel
    #   pyexcel-io
lxml==5.3.1
    # via
    #   beangulp
    #   pyexcel-ezodf
    #   pyexcel-ods3
markdown-it-py==3.0.0
    # via rich
markdown2==2.5.3
    # via fava (pyproject.toml)
markupsafe==3.0.2
    # via
    #   jinja2
    #   werkzeug
mdurl==0.1.2
    # via markdown-it-py
more-itertools==10.6.0
    # via
    #   cheroot
    #   jaraco-classes
    #   jaraco-functools
mypy==1.15.0
    # via fava (pyproject.toml)
mypy-extensions==1.0.0
    # via mypy
nh3==0.2.21
    # via readme-renderer
nodeenv==1.9.1
    # via pre-commit
openpyxl==3.1.5
    # via pyexcel-xlsx
packaging==24.2
    # via
    #   build
    #   pyproject-api
    #   pytest
    #   sphinx
    #   tox
    #   tox-uv
    #   twine
platformdirs==4.3.7
    # via
    #   tox
    #   virtualenv
pluggy==1.5.0
    # via
    #   pytest
    #   tox
ply==3.11
    # via fava (pyproject.toml)
pre-commit==4.2.0
    # via fava (pyproject.toml)
pycparser==2.22
    # via cffi
pyexcel==0.7.2
    # via fava (pyproject.toml)
pyexcel-ezodf==0.3.4
    # via pyexcel-ods3
pyexcel-io==0.6.7
    # via
    #   pyexcel
    #   pyexcel-ods3
    #   pyexcel-xlsx
pyexcel-ods3==0.6.1
    # via fava (pyproject.toml)
pyexcel-xlsx==0.6.1
    # via fava (pyproject.toml)
pygments==2.19.1
    # via
    #   furo
    #   readme-renderer
    #   rich
    #   sphinx
pyproject-api==1.9.0
    # via tox
pyproject-hooks==1.2.0
    # via build
pytest==8.3.5
    # via
    #   fava (pyproject.toml)
    #   pytest-cov
pytest-cov==6.0.0
    # via fava (pyproject.toml)
python-dateutil==2.9.0.post0
    # via
    #   beancount
    #   beanquery
python-magic==0.4.27
    # via beangulp
pytz==2025.2
    # via flask-babel
pyyaml==6.0.2
    # via pre-commit
readme-renderer==44.0
    # via twine
regex==2024.11.6
    # via beancount
requests==2.32.3
    # via
    #   fava (pyproject.toml)
    #   id
    #   requests-toolbelt
    #   sphinx
    #   twine
requests-toolbelt==1.0.0
    # via twine
rfc3986==2.0.0
    # via twine
rich==13.9.4
    # via twine
secretstorage==3.3.3
    # via keyring
setuptools==78.0.2
    # via
    #   fava (pyproject.toml)
    #   types-setuptools
simplejson==3.20.1
    # via fava (pyproject.toml)
six==1.17.0
    # via python-dateutil
sniffio==1.3.1
    # via anyio
snowballstemmer==2.2.0
    # via sphinx
soupsieve==2.6
    # via beautifulsoup4
sphinx==7.4.7
    # via
    #   fava (pyproject.toml)
    #   furo
    #   sphinx-autodoc-typehints
    #   sphinx-basic-ng
sphinx-autodoc-typehints==2.3.0
    # via fava (pyproject.toml)
sphinx-basic-ng==1.0.0b2
    # via furo
sphinxcontrib-applehelp==2.0.0
    # via sphinx
sphinxcontrib-devhelp==2.0.0
    # via sphinx
sphinxcontrib-htmlhelp==2.1.0
    # via sphinx
sphinxcontrib-jsmath==1.0.1
    # via sphinx
sphinxcontrib-qthelp==2.0.0
    # via sphinx
sphinxcontrib-serializinghtml==2.0.0
    # via sphinx
tatsu-lts==5.13.1
    # via beanquery
texttable==1.7.0
    # via pyexcel
tomli==2.2.1
    # via
    #   build
    #   coverage
    #   mypy
    #   pyproject-api
    #   pytest
    #   sphinx
    #   tox
tox==4.24.2
    # via
    #   fava (pyproject.toml)
    #   tox-uv
tox-uv==1.25.0
    # via fava (pyproject.toml)
twine==6.1.0
    # via fava (pyproject.toml)
types-setuptools==76.0.0.20250313
    # via fava (pyproject.toml)
types-simplejson==3.20.0.20250318
    # via fava (pyproject.toml)
typing-extensions==4.12.2
    # via
    #   anyio
    #   beautifulsoup4
    #   mypy
    #   rich
    #   tox
    #   tox-uv
urllib3==2.3.0
    # via
    #   requests
    #   twine
uv==0.6.9
    # via tox-uv
virtualenv==20.29.3
    # via
    #   pre-commit
    #   tox
watchfiles==1.0.4
    # via fava (pyproject.toml)
werkzeug==3.1.3
    # via
    #   fava (pyproject.toml)
    #   flask
zipp==3.21.0
    # via importlib-metadata
