# Runtime
Flask==3.1.3
Flask-SocketIO==5.6.1
simple-websocket==1.1.0
asyncssh==2.24.0

# Production server. gunicorn runs the app (see wsgi.py and the systemd
# unit); gevent + gevent-websocket give it a worker that can hold the
# Socket.IO terminal on a real websocket. simple-websocket above still
# serves `python app_v3.py`, which is the development path.
# All three have prebuilt armv7l wheels for cpython 3.13, so installing
# them on a device compiles nothing.
gunicorn==26.2.0
gevent==26.8.0
gevent-websocket==0.10.1

# Dev / test
pytest==9.0.3
