# Neuro SAN
leaf-common>=1.4.0
neuro-san==0.7.0
nsflow==0.7.0

# For config parsing
pyhocon>=0.3.60

# For the airline_policy demo, to extract text from documents
pypdf>=6.1.3

# To use a .env file for environment variables
python-dotenv>=1.2.2,<2.0.0

# For asynchronous file operations
aiofiles>=24.1.0

# For asynchronous HTTP requests
aiohttp>=3.13.0,<4.0

# For IDNA/UTS#46 hostname canonicalization in SafeFetch domain-policy checks.
# Already required transitively by yarl (via aiohttp) and neuro-san; declared here
# because SafeFetch imports it directly and relies on yarl-matching UTS#46 behavior.
idna>=3.0

# For HTML parsing
beautifulsoup4>=4.12.0

# For MCP servers and clients
langchain-mcp-adapters>=0.1.7,<1.0

# Neuro-SAN now requires explicit installation of langchain LLM providers' libs
langchain-openai>=1.1.9,<2.0
langchain-anthropic>=1.4.3,<2.0
langchain-google-genai>=4.2.2,<5.0

# The Anthropic SDK is also imported directly (anthropic_code_execution,
# anthropic_tool, check_llm_keys), so it needs its own floor: 0.124.0 renamed
# the beta Files API type FileMetadata to BetaFileMetadata with no compat
# alias, and no langchain-anthropic release guarantees a version that new
# (even 1.6.0 only requires anthropic>=0.120), so bumping langchain-anthropic
# cannot express this constraint.
anthropic>=0.124.0,<1.0

langchain-community>=0.4.2

# For rich logging
rich>=14.2.0

# For the HTML agent-network graph generator
pyvis~=0.3.2

# For web search tools without needing API keys, using DuckDuckGo's search results
ddgs>=9.4.1

# For the neuro-san-studio CLI
typer>=0.12.0,<1.0

# For chat-based cli tools not used in deployment
# Also used by neuro-san
timedinput>=0.1.1

# For checkbox-based selection in CLI
questionary>=2.0.0

# ReservationsStorage
# ... for S3
botocore>=1.34.51
aiobotocore>=3.7.0
