-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrequirements.txt
More file actions
100 lines (84 loc) · 5.17 KB
/
Copy pathrequirements.txt
File metadata and controls
100 lines (84 loc) · 5.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# =============================================================================
# Verified with (Python 3.11), last full run 2026-07-17 — the course executes
# clean on this exact set (113 notebooks end-to-end; the 23 intentional Debug-me
# cells carry the `raises-exception` tag so full execution passes):
# numpy 2.4.6 · pandas 3.0.3 · matplotlib 3.10.9 · scikit-learn 1.8.0
# statsmodels 0.14.6 · scipy 1.17.1 · requests 2.34.2 · jupyterlab 4.5.7
# Floors stay open ("modern tools, modern habits" — see README), but each line
# is now capped below the NEXT major release. That keeps you on the latest
# patch/minor while blocking a future breaking major from silently breaking a
# notebook (e.g. the pandas copy-on-write change that needed a fix in NB 37).
# For a fully frozen baseline instead, run: pip freeze > requirements.lock
# =============================================================================
# Core libraries used across the course
numpy>=1.24,<3
pandas>=2.0,<4
matplotlib>=3.9,<4 # 3.9+ required: notebooks use ax.boxplot(tick_labels=...)
seaborn>=0.13,<1 # statistical charts in one line (NB 9, fast-track NB 7)
scikit-learn>=1.3,<2
scipy>=1.10,<2 # statistics, safety stock, rank ensembles (NB 10, 17–20)
jupyterlab>=4.0,<5
ipywidgets>=8.0,<9 # interactive sliders in the model->money cells (NB 17, 18, 20)
# Notebook 12 — real HTTP calls
requests>=2.30,<3
# Notebook 11 — time series & forecasting
statsmodels>=0.14,<1
# Notebook 39 — testing inside the project
pytest>=8.0,<10
# Fast-track NB 8 — progress bars
tqdm>=4.66,<5
# Module 3 appendix A1 — offline HTML parsing (web scraping)
beautifulsoup4>=4.12,<5
# Notebook 40 — optional in-process scheduling
# schedule>=1.2
# --- Optional: Module 12 CI/CD labs & Module 15 Django labs ---
# The lab notebooks in 12_cicd/ and 15_django/ run 100% offline on the core
# deps above (they simulate Docker/CI and boot Django in-kernel). Install these
# only to parse the real YAML directly / run the Django labs and example app.
# pyyaml>=6.0 # 12_cicd labs: parse compose/workflow YAML (else inline-dict fallback)
# django>=5.0,<6 # 15_django labs + example app (lab boots Django in the notebook kernel)
# gunicorn>=21.0 # 15_django: only for the Docker/deployment chapter
# --- Optional LLM providers (see notebook A1 — the providers guide) ---
# Every AI notebook works offline with the built-in MockLLM. Uncomment the
# provider(s) you actually plan to use.
# openai>=1.0 # OpenAI: gpt-5.4-mini, gpt-5.5, text-embedding-3-small
# anthropic>=0.30 # Anthropic: Claude haiku / sonnet / opus
# google-generativeai>=0.7 # Google: Gemini Flash / Pro
# ollama>=0.3 # Local: any model you `ollama pull` (needs Ollama server)
# sentence-transformers>=2.7 # Local embeddings (NB 23 — embeddings & retrieval)
# --- Optional vector stores & RAG/agent frameworks (Module 6 appendices A2-A3) ---
# faiss-cpu>=1.7
# chromadb>=0.5
# qdrant-client>=1.9
# langchain>=0.2
# llama-index>=0.10
# haystack-ai>=2.0
# --- Optional deep learning (Module 17 + Module 4 appendices A1-A3) ---
# Module 17 runs 100% offline once torch is installed (Colab ships it preinstalled).
# torch>=2.2 # install: pip install torch --index-url https://download.pytorch.org/whl/cpu
# transformers>=4.40
# peft>=0.10 # LoRA / parameter-efficient fine-tuning
# --- Optional tabular foundation model (Module 4 appendix A4) ---
# tabpfn>=0.1 # local TabPFN (PriorLabs)
# tabpfn-client>=0.1 # hosted PriorLabs API
# --- Optional text analytics (Module 9 — topic modeling & sentiment) ---
# Each notebook runs offline via a scikit-learn stand-in; install to see the real library.
# bertopic>=0.16 # NB 35 — embedding topic models (pulls sentence-transformers, umap-learn, hdbscan)
# stream-topic>=0.1 # NB 36 — STREAM (AnFreTh/STREAM): unified topic models + evaluation
# vaderSentiment>=3.3 # NB 37 — lexicon/rule-based sentiment
# transformers>=4.40 # NB 37 — transformer sentiment pipelines (also Module 4 A3)
# --- Optional deep tabular learning (Module 10 — DeepTab) ---
# deeptab>=2.0 # NB 38 — OpenTabular/DeepTab; deep tabular models, sklearn API (v2 split-config; pulls torch + lightning)
# --- Optional bigger-than-pandas engines (Module 3 appendix A2) ---
# The appendix's Parquet sections run on the core stack (pandas + pyarrow);
# these two turn on the DuckDB/Polars sections (small installs, no server).
# duckdb>=1.0 # SQL over Parquet/CSV files, out-of-core
# polars>=1.0 # lazy multi-core DataFrames
# --- Optional forecasting libraries (Module 2 appendices A2-A4) ---
# prophet>=1.1
# neuralprophet>=0.8
# sktime>=0.30
# darts>=0.30 # was published as u8darts; current package name is `darts`
# timesfm>=1.0 # Google's foundation forecaster
# chronos-forecasting>=1.2 # Amazon's foundation forecaster
# tabpfn-time-series>=0.1 # PriorLabs forecasting model