# Local development only. Inside Snowflake, packages resolve from the Anaconda
# channel (warehouse procs, Streamlit) or the PyPI artifact repository (dowhy
# proc only). See docs/runtime-and-packages.md.
#
# IMPORTANT: do NOT add dowhy here. dowhy requires numpy>2 and econml requires
# numpy<2, so they cannot coexist in one environment. dowhy is reached by
# CALLing AGENT.REFUTE_ESTIMATE, which runs in its own isolated procedure.

snowflake-snowpark-python>=1.24.0
snowflake-ml-python>=1.9.2
snowflake-connector-python>=3.12.0

# Pinned to match the Snowflake Anaconda channel versions verified in the
# account, so local results reproduce what the warehouse produces.
econml==0.15.0
scikit-learn==1.4.2
statsmodels==0.14.6
numpy==1.26.4
pandas==2.3.3
scipy>=1.11

pyyaml>=6.0
matplotlib>=3.8

# econml 0.15.0 imports pkg_resources at fit time (econml/utilities.py,
# one_hot_encoder). Modern virtualenvs do not ship setuptools, so without this
# CausalForestDML.fit() dies with ModuleNotFoundError: No module named
# 'pkg_resources'. Pinned below 81 because pkg_resources is removed there.
setuptools<81
