# Development/Build utilities (allow to be unpinned)
ipdb
maturin
pre-commit
docker
importlib-metadata

# Pinned requests due to docker-py issue: https://github.com/docker/docker-py/issues/3256
requests<2.32.0

# Pinned httpx due to unitycatalog-python issue: https://github.com/unitycatalog/unitycatalog-python/issues/9
httpx==0.27.2

# Tracing
orjson==3.10.12  # orjson recommended for viztracer
py-spy==0.3.14
viztracer==0.15.6

# Testing frameworks
hypothesis==6.79.2
pytest==7.4.3
pytest-benchmark==4.0.0
pytest-cov==4.1.0
pytest-lazy-fixture==0.6.3
memray==1.13.4; platform_system != "Windows"
pytest-codspeed==2.2.1

# Testing dependencies
lxml==5.3.0
dask[dataframe]==2024.4.1
numpy==1.26.2
pandas==2.1.3
pandas-stubs==2.2.2.240807
xxhash>=3.0.0
Pillow==10.4.0
opencv-python==4.10.0.84
tiktoken==0.7.0
duckdb==1.1.2

# TQDM
tqdm

# Pyarrow
# Pyarrow 19.0.0 has a forwards compatibility bug so we use pyarrow 19.0.1 instead.
# Pyarrow 20.0.0 is incompatible with Ray hence we can't use newer versions for now.
# See: https://github.com/Eventual-Inc/Daft/pull/4301
pyarrow==19.0.1
pyarrow-stubs==19.4
# Ray
ray[data, client]==2.34.0

# Lance
pylance>=0.20.0

#Iceberg
pyiceberg==0.7.0
pydantic==2.10.6
tenacity==8.2.3

# Delta Lake
deltalake==0.5.8; platform_system == "Windows"
deltalake==0.19.2; platform_system != "Windows"

# Databricks
databricks-sdk==0.12.0
unitycatalog==0.1.1

#SQL
sqlalchemy==2.0.36
connectorx==0.2.3; platform_system == "Linux" and platform_machine == "aarch64"
connectorx==0.3.3; platform_system != "Linux" or platform_machine != "aarch64"
trino[sqlalchemy]==0.328.0
PyMySQL==1.1.0
psycopg2-binary==2.9.10
sqlglot==23.3.0
pyodbc==5.1.0

# AWS
s3fs==2023.12.0
# on old versions of s3fs's pinned botocore, they neglected to pin urllib3<2 which leads to:
# "ImportError: cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_'"
boto3==1.36.20
boto3-stubs[essential,glue,s3,s3tables]==1.36.20
moto[glue,s3,s3tables,server]==5.1.1

# Azure
adlfs==2024.7.0
azure-storage-blob==12.24.0

# GCS
gcsfs==2023.12.0

# Documentation
markdown-exec
mkdocs-jupyter
mkdocs-material
mkdocs-macros-plugin
mkdocs-simple-hooks
pymdown-extensions
mkdocs-material[imaging]
mkdocstrings-python
ruff
mkdocs-minify-plugin

# Daft connect testing
pyspark==3.5.3
grpcio==1.68.1
grpcio-status==1.67.0

# ai
vllm; platform_system == "Linux" and platform_machine == "x86_64" # for other systems, see install instructions: https://docs.vllm.ai/en/latest/getting_started/installation.html
