# This file was autogenerated by uv via the following command:
#    uv export --no-hashes --no-editable --dev --group docs --format requirements.txt
.
alabaster==1.0.0
    # via sphinx
annotated-types==0.7.0
    # via pydantic
anyio==4.13.0
    # via
    #   httpx
    #   jupyter-server
appdirs==1.4.4
    # via sphinx-immaterial
appnope==0.1.4 ; sys_platform == 'darwin'
    # via ipykernel
argon2-cffi==25.1.0
    # via jupyter-server
argon2-cffi-bindings==25.1.0
    # via argon2-cffi
arro3-core==0.8.0
    # via batchcorder
arrow==1.4.0
    # via isoduration
astroid==4.1.1
    # via sphinx-autoapi
asttokens==3.0.1
    # via stack-data
async-lru==2.3.0
    # via jupyterlab
attrs==26.1.0
    # via
    #   jsonschema
    #   referencing
babel==2.18.0
    # via
    #   jupyterlab-server
    #   sphinx
beautifulsoup4==4.14.3
    # via nbconvert
bleach==6.3.0
    # via nbconvert
certifi==2026.2.25
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via
    #   argon2-cffi-bindings
    #   pyzmq
cfgv==3.5.0
    # via pre-commit
charset-normalizer==3.4.6
    # via requests
colorama==0.4.6
    # via
    #   griffecli
    #   ipython
    #   pytest
    #   sphinx
comm==0.2.3
    # via
    #   ipykernel
    #   ipywidgets
coverage==7.13.4
    # via pytest-cov
debugpy==1.8.20
    # via ipykernel
decorator==5.2.1
    # via ipython
defusedxml==0.7.1
    # via nbconvert
distlib==0.4.0
    # via virtualenv
docutils==0.22.4
    # via
    #   myst-parser
    #   sphinx
duckdb==1.5.0
executing==2.2.1
    # via stack-data
fastjsonschema==2.21.2
    # via nbformat
filelock==3.25.2
    # via
    #   python-discovery
    #   virtualenv
fqdn==1.5.1
    # via jsonschema
griffe==2.0.0
griffecli==2.0.0
    # via griffe
griffelib==2.0.0
    # via
    #   griffe
    #   griffecli
h11==0.16.0
    # via httpcore
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via jupyterlab
identify==2.6.17
    # via pre-commit
idna==3.11
    # via
    #   anyio
    #   httpx
    #   jsonschema
    #   requests
imagesize==2.0.0
    # via sphinx
iniconfig==2.3.0
    # via pytest
ipykernel==7.2.0
    # via
    #   jupyter
    #   jupyter-console
    #   jupyterlab
ipython==9.10.0
    # via
    #   ipykernel
    #   ipywidgets
    #   jupyter-console
ipython-pygments-lexers==1.1.1
    # via ipython
ipywidgets==8.1.8
    # via jupyter
isoduration==20.11.0
    # via jsonschema
jedi==0.19.2
    # via ipython
jinja2==3.1.6
    # via
    #   jupyter-server
    #   jupyterlab
    #   jupyterlab-server
    #   myst-parser
    #   nbconvert
    #   sphinx
    #   sphinx-autoapi
json5==0.14.0
    # via jupyterlab-server
jsonpointer==3.1.1
    # via jsonschema
jsonschema==4.26.0
    # via
    #   jupyter-events
    #   jupyterlab-server
    #   nbformat
jsonschema-specifications==2025.9.1
    # via jsonschema
jupyter==1.1.1
jupyter-client==8.8.0
    # via
    #   ipykernel
    #   jupyter-console
    #   jupyter-server
    #   nbclient
jupyter-console==6.6.3
    # via jupyter
jupyter-core==5.9.1
    # via
    #   ipykernel
    #   jupyter-client
    #   jupyter-console
    #   jupyter-server
    #   jupyterlab
    #   nbclient
    #   nbconvert
    #   nbformat
jupyter-events==0.12.0
    # via jupyter-server
jupyter-lsp==2.3.0
    # via jupyterlab
jupyter-server==2.17.0
    # via
    #   jupyter-lsp
    #   jupyterlab
    #   jupyterlab-server
    #   notebook
    #   notebook-shim
jupyter-server-terminals==0.5.4
    # via jupyter-server
jupyterlab==4.5.6
    # via
    #   jupyter
    #   notebook
jupyterlab-pygments==0.3.0
    # via nbconvert
jupyterlab-server==2.28.0
    # via
    #   jupyterlab
    #   notebook
jupyterlab-widgets==3.0.16
    # via ipywidgets
lark==1.3.1
    # via rfc3987-syntax
librt==0.8.1 ; platform_python_implementation != 'PyPy'
    # via mypy
markdown-it-py==4.0.0
    # via
    #   mdit-py-plugins
    #   myst-parser
markupsafe==3.0.3
    # via
    #   jinja2
    #   nbconvert
    #   sphinx-immaterial
matplotlib-inline==0.2.1
    # via
    #   ipykernel
    #   ipython
mdit-py-plugins==0.5.0
    # via myst-parser
mdurl==0.1.2
    # via markdown-it-py
mistune==3.2.0
    # via nbconvert
mypy==1.19.1
mypy-extensions==1.1.0
    # via mypy
myst-parser==5.0.0
nbclient==0.10.4
    # via nbconvert
nbconvert==7.17.0
    # via
    #   jupyter
    #   jupyter-server
nbformat==5.10.4
    # via
    #   jupyter-server
    #   nbclient
    #   nbconvert
nest-asyncio==1.6.0
    # via ipykernel
nodeenv==1.10.0
    # via
    #   pre-commit
    #   pyright
notebook==7.5.5
    # via jupyter
notebook-shim==0.2.4
    # via
    #   jupyterlab
    #   notebook
numpy==2.4.4
    # via pandas
overrides==7.7.0 ; python_full_version < '3.12'
    # via jupyter-server
packaging==26.0
    # via
    #   ipykernel
    #   jupyter-events
    #   jupyter-server
    #   jupyterlab
    #   jupyterlab-server
    #   nbconvert
    #   pytest
    #   sphinx
pandas==3.0.1
pandocfilters==1.5.1
    # via nbconvert
parso==0.8.6
    # via jedi
pathspec==1.0.4
    # via mypy
pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32'
    # via ipython
platformdirs==4.9.4
    # via
    #   jupyter-core
    #   python-discovery
    #   virtualenv
pluggy==1.6.0
    # via
    #   pytest
    #   pytest-cov
pre-commit==4.5.1
prometheus-client==0.24.1
    # via jupyter-server
prompt-toolkit==3.0.52
    # via
    #   ipython
    #   jupyter-console
psutil==7.2.2
    # via ipykernel
ptyprocess==0.7.0 ; os_name != 'nt' or (sys_platform != 'emscripten' and sys_platform != 'win32')
    # via
    #   pexpect
    #   terminado
pure-eval==0.2.3
    # via stack-data
pyarrow==23.0.1
pycparser==3.0 ; implementation_name != 'PyPy'
    # via cffi
pydantic==2.12.5
    # via
    #   pydantic-extra-types
    #   sphinx-immaterial
pydantic-core==2.41.5
    # via pydantic
pydantic-extra-types==2.11.1
    # via sphinx-immaterial
pygments==2.19.2
    # via
    #   ipython
    #   ipython-pygments-lexers
    #   jupyter-console
    #   nbconvert
    #   pytest
    #   sphinx
pyright==1.1.408
pytest==9.0.2
    # via pytest-cov
pytest-cov==7.0.0
python-dateutil==2.9.0.post0
    # via
    #   arrow
    #   jupyter-client
    #   pandas
python-discovery==1.1.3
    # via virtualenv
python-json-logger==4.1.0
    # via jupyter-events
pywinpty==3.0.3 ; os_name == 'nt'
    # via
    #   jupyter-server
    #   jupyter-server-terminals
    #   terminado
pyyaml==6.0.3
    # via
    #   jupyter-events
    #   myst-parser
    #   pre-commit
    #   sphinx-autoapi
pyzmq==27.1.0
    # via
    #   ipykernel
    #   jupyter-client
    #   jupyter-console
    #   jupyter-server
referencing==0.37.0
    # via
    #   jsonschema
    #   jsonschema-specifications
    #   jupyter-events
requests==2.32.5
    # via
    #   jupyterlab-server
    #   sphinx
    #   sphinx-immaterial
rfc3339-validator==0.1.4
    # via
    #   jsonschema
    #   jupyter-events
rfc3986-validator==0.1.1
    # via
    #   jsonschema
    #   jupyter-events
rfc3987-syntax==1.1.0
    # via jsonschema
roman-numerals==4.1.0
    # via sphinx
rpds-py==0.30.0
    # via
    #   jsonschema
    #   referencing
ruff==0.15.6
send2trash==2.1.0
    # via jupyter-server
setuptools==82.0.1
    # via jupyterlab
six==1.17.0
    # via
    #   python-dateutil
    #   rfc3339-validator
snowballstemmer==3.0.1
    # via sphinx
soupsieve==2.8.3
    # via beautifulsoup4
sphinx==9.0.4 ; python_full_version < '3.12'
    # via
    #   myst-parser
    #   sphinx-autoapi
    #   sphinx-autodoc-typehints
    #   sphinx-immaterial
sphinx==9.1.0 ; python_full_version >= '3.12'
    # via
    #   myst-parser
    #   sphinx-autoapi
    #   sphinx-autodoc-typehints
    #   sphinx-immaterial
sphinx-autoapi==3.8.0
sphinx-autodoc-typehints==3.6.1 ; python_full_version < '3.12'
sphinx-autodoc-typehints==3.9.8 ; python_full_version >= '3.12'
sphinx-immaterial==0.13.9
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
stack-data==0.6.3
    # via ipython
sybil==10.0.1
terminado==0.18.1
    # via
    #   jupyter-server
    #   jupyter-server-terminals
tinycss2==1.4.0
    # via bleach
tomli==2.4.0 ; python_full_version <= '3.11'
    # via coverage
tornado==6.5.5
    # via
    #   ipykernel
    #   jupyter-client
    #   jupyter-server
    #   jupyterlab
    #   notebook
    #   terminado
traitlets==5.14.3
    # via
    #   ipykernel
    #   ipython
    #   ipywidgets
    #   jupyter-client
    #   jupyter-console
    #   jupyter-core
    #   jupyter-events
    #   jupyter-server
    #   jupyterlab
    #   matplotlib-inline
    #   nbclient
    #   nbconvert
    #   nbformat
typing-extensions==4.15.0
    # via
    #   anyio
    #   arro3-core
    #   beautifulsoup4
    #   ipython
    #   mypy
    #   pydantic
    #   pydantic-core
    #   pydantic-extra-types
    #   pyright
    #   referencing
    #   sphinx-immaterial
    #   typing-inspection
typing-inspection==0.4.2
    # via pydantic
tzdata==2025.3
    # via
    #   arrow
    #   pandas
uri-template==1.3.0
    # via jsonschema
urllib3==2.6.3
    # via requests
virtualenv==21.2.0
    # via pre-commit
wcwidth==0.6.0
    # via prompt-toolkit
webcolors==25.10.0
    # via jsonschema
webencodings==0.5.1
    # via
    #   bleach
    #   tinycss2
websocket-client==1.9.0
    # via jupyter-server
widgetsnbextension==4.0.15
    # via ipywidgets
