gns3-server/requirements.txt
YueGuobin cd1d28729a feat: make AI Copilot an optional dependency
This change makes AI Copilot features optional to reduce installation
size and support restricted environments.

Changes:
- Split AI dependencies into ai-requirements.txt
- Add ai-copilot optional dependency in pyproject.toml
- Add import protection in gns3server/agent/__init__.py
- Return 501 for AI endpoints when dependencies not installed
- Add gns3server-uninstall-ai-copilot command for cleanup
- Update README with installation and uninstallation instructions

Installation:
- Basic: pip install gns3-server
- With AI: pip install gns3-server[ai-copilot]
- Development: pip install gns3-server[ai-copilot,dev]

Uninstallation:
- gns3server-uninstall-ai-copilot
2026-03-18 15:21:23 +08:00

43 lines
1.4 KiB
Plaintext

# GNS3 Server Core Dependencies
uvicorn==0.41.0
pydantic==2.12.5
fastapi==0.135.1
python-multipart==0.0.22
websockets==16.0
aiohttp>=3.13.3,<3.14
aiofiles>=25.1.0,<26.0
Jinja2>=3.1.6,<3.2
sentry-sdk>=2.54.0,<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.3.2; python_version >= '3.13' # necessary to run sqlalchemy on Python >= 3.13
sqlalchemy==2.0.48
aiosqlite==0.22.1
alembic==1.15.2
bcrypt==5.0.0
joserfc==1.6.3
email-validator==2.3.0
watchdog==6.0.0
zstandard==0.25.0
platformdirs>=2.4.0,<3 # platformdirs >=3 conflicts when building Debian packages
truststore>=0.10.4; python_version >= '3.10'
# Shared dependencies (also used by AI Copilot)
typing-extensions>=4.15.0
requests>=2.32.5
urllib3>=2.6.2
# ==============================================================================
# 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.
# ==============================================================================