# Pinned so every CI run and local setup gets the same versions. Dependabot
# (.github/dependabot.yml) proposes upgrades as pull requests, and CI tests them on
# every supported Python before they land.

# Runtime (preinstalled on SageMaker).
boto3==1.43.97
pandas==3.0.6
pyarrow==25.0.1
ipython==9.17.1

# Tests
moto[apigateway,apigatewayv2,s3,dynamodb,cloudwatch,sagemaker,awslambda,logs,iam,sqs,sns,events]==5.2.5
pytest==9.2.0
# Runs the tests on every CPU (CI's `pytest -n auto`); the Pyodide tests share one worker (tests/conftest.py).
pytest-xdist==3.8.0
# Write the Avro and Excel test files. The analyzer doesn't need them: it reads Avro itself,
# and Excel through pandas + openpyxl when they are installed.
fastavro==1.12.2
openpyxl==3.1.5
# Optional for users (PDF text, and PDF pages drawn as pictures); installed here so the PDF tests run.
pypdf==6.21.4
pypdfium2==5.14.0
pillow==12.3.0
# Optional for users (progress bars); installed here so the tqdm path is tested.
tqdm==4.70.1
# Optional for users (s3_explorer.py's clicks, bedrock_chat.py's window, tqdm's notebook bar); installed here so
# both windows' widgets are tested.
ipywidgets==8.1.9
# The agent's dependencies (agent/: the agent loop, its models on OpenAI, Azure OpenAI and Bedrock, its memory and
# saved chats, and MCP servers), pinned here so every run tests the same versions.
deepagents==0.7.26
langchain-openai==1.7.2
langchain-aws==1.9.0
langgraph-checkpoint-sqlite==3.1.2
mcp==1.30.0
# Optional for users (agent/sandboxes/: the local sandbox runs Python in Pyodide on Deno); installed here so it's
# tested for real. Its tests download Pyodide's files once a run (CI caches them), and skip without the internet.
deno==2.9.8

# Package (CI's Package job and the release workflow): build the sdist and wheel, and check them
# the way PyPI will, README rendering included.
build==1.6.1
twine==7.0.0
readme-renderer[md]==46.0

# Lint
ruff==0.17.3
