 
# These requirements are for the Python that is run in the
# neuro_san/service container.
#
# Requirements for tests, code style and other build stuff reside in
# requirements-build.txt

# In-house dependencies
leaf-common>=1.2.28
leaf-server-common>=0.1.21

# These are needed for generating code from .proto files
grpcio>=1.62.0
grpcio-health-checking>=1.62.0
grpcio-reflection>=1.62.0
grpcio-tools>=1.62.0

protobuf>=4.25.3

# Downgraded secondary dependencies for error-free pip installs
pyhocon>=0.3.60
pyOpenSSL>=24.0.0

boto3>=1.34.51
botocore>=1.34.51
idna>=3.6
urllib3>=1.26.18
aiohttp>=3.13.0,<4.0

# These are transient dependencies needed by leaf-common
ruamel.yaml>=0.18.6
hvac>=1.1.0

# For LLM access
# Keep all these guys limited for now, as it can be the wild wild west out there
# We don't want to be on a dependencies treadmill with timing not of our choosing.
langchain>=0.3.15,<0.4
langchain-community>=0.3.19,<0.4
openai>=1.54.1,<2.0
bs4>=0.0.2,<0.1
pydantic>=2.9.2,<3.0

# OpenAI is the only LLM provider we require out of the box so that users
# have a decent experience running the demos out of the box.
# Other LLM provider's langchain-<blah> can be optionally installed so that
# those guys work, but we do not want to make everyone install everything
# and all the ensuing transient dependencies for the world.
# For a list of other LLMs we support out of the box, see requirements-build.txt
langchain-openai>=0.3.29,<0.4

httpx>=0.28.1

psutil>=7.0.0

# HTTP server part
tornado>=6.4.2

# Sync/async queue
janus >= 2.0.0

# Local filesystem watchdog
watchdog>=6.0.0

# For input validation
validators>=0.22.0

# For chat-based cli tools not used in deployment
timedinput>=0.1.1

# The only reason we include this is for the website_search example
# to work out-of-the-box.
# This is not used in any part of neuro-san core operations.
ddgs>=9.4.1

# Structure parsing
json-repair>=0.47.3,<1.0

# MCP tools
langchain-mcp-adapters>=0.1.7,<1.0
