name, category, public, database, hosting_hints, audit_stack, plugins
name
category
public
database
hosting_hints
audit_stack
plugins
data-notebook
meta
false
optional
local
jupyterhub
colab
kaggle
databricks
sagemaker
analyze
code-clean
cso
doc
context7
ui-ux-pro-max
gstack
optional
no
no
Data / Jupyter Notebook
Projet data science / ML axé sur notebooks Jupyter. Exploration, analyse, modèles. Pas d'application déployée au sens applicatif.
Detection signals
Strong signals (× 3)
EXT: 5+ fichiers .ipynb
DEP: requirements.txt OR pyproject.toml OR environment.yml contient "jupyter" OR "jupyterlab" OR "notebook"
FILE: environment.yml (Conda)
Medium signals (× 2)
DIR: notebooks/ OR nb/ avec .ipynb
DIR: data/ OR datasets/ (souvent gitignored)
DEP: "pandas", "numpy", "matplotlib", "seaborn", "scikit-learn", "torch", "tensorflow", "jax"
FILE: Makefile avec cibles data (download-data/, preprocess/, train/)
FILE: dvc.yaml (DVC pipeline)
Weak signals (× 1)
DIR: models/ (trained artifacts)
FILE: .gitattributes avec LFS rules
DEP: "mlflow", "wandb", "tensorboard"
DIR: figures/ OR plots/ (outputs)
Counter-signals (exclusion)
DEP: "streamlit" OR "gradio" OR "dash" + main entry point → data app UI (archétype à créer)
DEP: "fastapi" / "flask" / "django" comme dep principale → API, pas notebook
FILE: setup.py OR pyproject.toml AVEC [project.scripts] → package, pas notebook
Implications
Exécution : local / Google Colab / Kaggle / JupyterHub / Databricks / SageMaker
Base de données : variable (souvent CSV/Parquet/DuckDB locaux, parfois DB externe)
SEO/GEO : N/A
Surface sécurité : SOUS-ESTIMÉE — notebooks souvent commités avec credentials, outputs, PII
UI/UX : N/A (sauf si app Streamlit/Dash ajoutée)
Typical pain points
.ipynb committés avec outputs = fuite potentielle (données clients affichées)
Credentials en dur dans cellules (API keys AWS, tokens Kaggle, mots de passe DB)
PII dans outputs cellules (noms clients, emails, numéros carte)
Datasets volumineux committés (pas de LFS / DVC / gitignore)
requirements.txt non pinned → résultats non reproductibles
Pas de seed random → runs non déterministes
Notebooks monolithiques (10000+ lignes, cells non documentées)
Logique dupliquée entre notebooks (pas de src/lib.py)
Variables d'état entre cells (exécution non idempotente)
Modèles trainés commités dans git (bloat repo)
Pas de versioning data (DVC / lakeFS / Pachyderm absents)
Expériences non trackées (MLflow / W&B absent)
Pas de tests (pytest sur fonctions extraites)
Conversion prod : notebook → script Python sans refactor (code non modulaire)
GPU / environnement non documenté (CUDA version, cuDNN)
Shared secrets dans environment.yml / requirements.txt
Interview questions (adaptive)
En plus du set minimum business :
Plateforme d'exécution : local / Colab / Kaggle / JupyterHub / Databricks / autre ?
Python + libs stack principale ?
Package manager : pip / poetry / uv / conda / mamba / pdm ?
Datasets : taille moyenne ? où sont-ils stockés ? versionnés ?
DVC / lakeFS / Git LFS pour data ?
Tracking expériences : MLflow / W&B / TensorBoard / aucun ?
Tests automatiques sur fonctions extraites ?
Convention commit notebooks : nbstripout (outputs strippés) ou outputs inclus ?
GPU requis ? CUDA version ?
But final : exploration ponctuelle / modèle en prod / rapport reproductible / papier / autre ?
Si prod : comment le modèle sort du notebook (export pickle/ONNX/API) ?
RGPD / données sensibles dans les datasets ?
Plugin recommendations
context7 : OPTIONAL — ON pour libs modernes (Pytorch, JAX, Transformers qui évoluent)
ui-ux-pro-max : OFF
gstack : OFF
Example project layout