# 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). pandas 3 and IPython 9 need Python 3.11+, so
# Python 3.10 stays on the last pandas 2 / IPython 8 releases, which older SageMaker
# images still ship. Dependabot leaves the python_version < "3.11" lines alone.
boto3==1.43.97
pandas==3.0.6; python_version >= "3.11"
pandas==2.3.3; python_version < "3.11"
pyarrow==25.0.1
ipython==9.17.1; python_version >= "3.11"
ipython==8.39.0; python_version < "3.11"

# Tests
moto[s3,dynamodb,cloudwatch,sagemaker]==5.2.3
pytest==9.1.1
# 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.19.0
pypdfium2==5.13.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

# 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.16.9
