gns3-server/requirements.txt
YueGuobin cbb21e8e40
feat: Node file streaming, recursive listing, file type detection, and file delete
- Stream file GET/POST through controller without buffering in memory
- Add recursive and subdirectory filtering to node file listing
- Replace file extension with magic-based file type detection
- Add DELETE endpoint for node and project files
- Include directories in listing response
- Add params and stream support to http_query
- Fix lambda closures, streamer exception scope, and delete error codes
2026-06-09 22:52:50 +08:00

51 lines
1.5 KiB
Plaintext

# GNS3 Server Core Dependencies
uvicorn==0.48.0
pydantic==2.13.4
fastapi==0.136.3
python-multipart==0.0.30
websockets==16.0
aiohttp>=3.14,<3.15
aiofiles>=25.1.0,<26.0
Jinja2>=3.1.6,<3.2
sentry-sdk>=2.61.1,<3 # optional dependency
psutil>=7.2.2
async-timeout>=5.0.1,<5.1; python_version < '3.11' # this library has effectively been upstreamed into Python 3.11+
distro>=1.9.0
py-cpuinfo>=9.0.0,<10.0
greenlet==3.5.1; python_version >= '3.13' # necessary to run sqlalchemy on Python >= 3.13
sqlalchemy==2.0.50
aiosqlite==0.22.1
alembic==1.18.4
bcrypt==5.0.0
joserfc==1.7.0
email-validator==2.3.0
watchdog==6.0.0
zstandard==0.25.0
platformdirs>=2.4.0 # fastmcp-slim >=3.4 requires >=4.0.0; upper bound removed for compatibility
truststore>=0.10.4; python_version >= '3.10'
# Shared dependencies (also used by AI Copilot)
telnetlib3==4.0.4
asyncssh>=2.23.0,<3
typing-extensions>=4.15.0
requests>=2.34.2
urllib3>=2.7.0
# MCP (Model Context Protocol) dependencies
fastmcp>=3.4.0
# ==============================================================================
# File type detection
python-magic>=0.4.27
# AI Copilot Optional Dependencies
# ==============================================================================
# AI Copilot features are now optional. Install with:
# pip install gns3-server[ai-copilot]
# Or:
# pip install -r ai-requirements.txt
#
# This reduces installation size and supports restricted environments where
# AI dependencies may not be allowed.
# ==============================================================================