#
# This file is autogenerated by pip-compile with Python 3.13
# by the following command:
#
#    ./scripts/update_dependencies.sh
#
    # via -r requirements.in
ansi2html==1.9.2
    # via dallinger
apscheduler==3.11.2
    # via dallinger
attrs==26.1.0
    # via
    #   outcome
    #   trio
bcrypt==5.0.0
    # via paramiko
beautifulsoup4==4.14.3
    # via dallinger
blinker==1.9.0
    # via flask
boto3==1.42.91
    # via dallinger
botocore==1.42.91
    # via
    #   boto3
    #   s3transfer
build==1.4.3
    # via
    #   dallinger
    #   pip-tools
certifi==2026.2.25
    # via
    #   requests
    #   selenium
cffi==2.0.0
    # via
    #   cryptography
    #   pynacl
chardet==5.2.0
    # via dallinger
charset-normalizer==3.4.7
    # via requests
click==8.3.2
    # via
    #   dallinger
    #   flask
    #   pip-tools
    #   rq
croniter==6.2.2
    # via rq
cryptography==46.0.7
    # via paramiko
faker==40.15.0
    # via dallinger
flask==3.1.3
    # via
    #   dallinger
    #   flask-login
    #   flask-sock
    #   flask-wtf
flask-login==0.6.3
    # via dallinger
flask-sock==0.7.0
    # via dallinger
flask-wtf==1.2.2
    # via dallinger
gevent==26.4.0
    # via
    #   dallinger
    #   gunicorn
greenlet==3.4.0
    # via
    #   gevent
    #   sqlalchemy
gunicorn==25.3.0
    # via dallinger
h11==0.16.0
    # via wsproto
heroku3==5.2.1
    # via dallinger
idna==3.11
    # via
    #   requests
    #   trio
itsdangerous==2.2.0
    # via
    #   flask
    #   flask-wtf
jinja2==3.1.6
    # via flask
jmespath==1.1.0
    # via
    #   boto3
    #   botocore
markdown-it-py==3.0.0
    # via
    #   dallinger
    #   rich
markupsafe==3.0.3
    # via
    #   flask
    #   jinja2
    #   werkzeug
    #   wtforms
mdurl==0.1.2
    # via markdown-it-py
outcome==1.3.0.post0
    # via
    #   trio
    #   trio-websocket
packaging==26.1
    # via
    #   build
    #   gunicorn
    #   wheel
paramiko==3.5.1
    # via dallinger
pexpect==4.9.0
    # via dallinger
pip-tools==7.5.3
    # via dallinger
platformdirs==4.9.6
    # via dallinger
psutil==7.2.2
    # via dallinger
psycopg2==2.9.11
    # via dallinger
ptyprocess==0.7.0
    # via pexpect
pycparser==3.0
    # via cffi
pygments==2.20.0
    # via rich
pygtail==0.14.0
    # via dallinger
pynacl==1.6.2
    # via paramiko
pyproject-hooks==1.2.0
    # via
    #   build
    #   pip-tools
pysocks==1.7.1
    # via urllib3
python-dateutil==2.9.0.post0
    # via
    #   botocore
    #   croniter
    #   heroku3
python-json-logger==4.1.0
    # via dallinger
redis==7.4.0
    # via
    #   dallinger
    #   rq
requests==2.33.1
    # via
    #   dallinger
    #   heroku3
rich==15.0.0
    # via dallinger
rq==2.8.0
    # via dallinger
s3transfer==0.16.0
    # via boto3
selenium==4.43.0
    # via dallinger
simple-websocket==1.1.0
    # via flask-sock
six==1.17.0
    # via python-dateutil
sniffio==1.3.1
    # via trio
sortedcontainers==2.4.0
    # via trio
soupsieve==2.8.3
    # via beautifulsoup4
sqlalchemy==1.4.54
    # via dallinger
tenacity==9.1.4
    # via dallinger
termcolor==3.3.0
    # via yaspin
timeago==1.0.16
    # via dallinger
trio==0.33.0
    # via
    #   selenium
    #   trio-websocket
trio-websocket==0.12.2
    # via selenium
typing-extensions==4.15.0
    # via
    #   beautifulsoup4
    #   selenium
tzlocal==5.3.1
    # via
    #   apscheduler
    #   dallinger
ua-parser==1.0.2
    # via user-agents
ua-parser-builtins==202603
    # via ua-parser
urllib3==2.6.3
    # via
    #   botocore
    #   dallinger
    #   requests
    #   selenium
user-agents==2.2.0
    # via dallinger
uv==0.11.7
    # via dallinger
websocket-client==1.9.0
    # via selenium
werkzeug==3.1.8
    # via
    #   flask
    #   flask-login
wheel==0.46.3
    # via pip-tools
wsproto==1.3.2
    # via
    #   simple-websocket
    #   trio-websocket
wtforms==3.2.1
    # via flask-wtf
yaspin==3.4.0
    # via dallinger
zope-event==6.1
    # via gevent
zope-interface==8.3
    # via gevent

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
