# Extra dependencies for the br_chocolate tutorial, on top of graphsimulacrum
# itself (`pip install -e .` from the repo root, or `pip install graphsimulacrum`
# once published). Install with:
#
#   pip install -r tutorials/br_chocolate/requirements.txt
#   pip install --no-deps robynpy==0.3.6      # see note below — separate on purpose
#
# Versions are pinned to what this tutorial was built and verified against
# (Python 3.11). Newer versions of the MMM libraries will likely work but are
# not verified here — pin as shown for a reproducible run.

# notebook execution
jupyter==1.1.1
nbformat==5.10.4
nbclient==0.11.0
ipykernel==7.3.0

# data / plotting (graphsimulacrum itself only requires polars + pyarrow)
pandas==2.3.3
matplotlib==3.10.9

# MMM #1: PyMC-Marketing (Bayesian, NUTS)
pymc-marketing==0.19.2
pymc==5.28.5
arviz==0.19.0

# MMM #2: Google Meridian (Bayesian, TensorFlow-Probability)
google-meridian==1.7.0

# MMM #3: Robyn via robynpy (ridge + Nevergrad evolutionary search)
# robynpy itself is NOT listed here — it pins rpy2==3.5.16 (an R bridge) that
# needs a local R toolchain to build, and only uses it to call R's glmnet,
# which 04_mmm_robyn.ipynb patches around with robynpy's own bundled sklearn
# ridge clone. Install it separately, without deps (see command above):
#   pip install --no-deps robynpy==0.3.6
# Its *real* Python dependencies (everything below) install normally:
prophet==1.3.0
nevergrad==1.0.12
lmfit==1.3.4
plotnine==0.15.7
nlopt==2.10.0
seaborn==0.13.2
plotly==6.9.0
tqdm==4.68.4
scikit-learn==1.9.0
