data-science-python-stack

Selects and installs Python libraries for data science and ML projects by tier.

1|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/probabl-ai/ibm-workshop --skill data-science-python-stack-probabl-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-science-python-stack
Source: https://github.com/probabl-ai/ibm-workshop/tree/main/.bob/skills/data-science-python-stack
Command: npx skills add https://github.com/probabl-ai/ibm-workshop --skill data-science-python-stack-probabl-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing and installing Python libraries for data science and ML projects is error-prone: agents silently substitute libraries when imports fail, pick competing libraries without asking the user, or install redundant dependencies. This Skill enforces an opinionated, tiered stack so every library choice is deliberate, recorded, and consistent across sessions. ## Core Features & Use Cases - Tiered library stack: Organizes libraries into mandatory (scikit-learn, skrub, skore, ruff, pytest), user-choice (pandas vs polars, pytorch vs keras, and more), optional, and transitive tiers, with per-library reference pages covering scope and tradeoffs. - Competing-library gates: Requires an explicit user pick via a structured question before any import or install when multiple libraries cover the same job, and persists the decision in the project journal for cross-session continuity. - Install-not-substitute rule: When an import fails, the Skill mandates installing the missing dependency through the detected environment manager instead of rewriting code to a non-stack equivalent. - Use Case: When scaffolding a new ML project, the Skill ensures scikit-learn, skrub, skore, ruff, and pytest are installed, asks the user to choose between pandas and polars for tabular data, and records the decision so future sessions never re-ask. ## Quick Start Ask the agent to set up the Python library stack for a new data science project and confirm which tabular dataframe library to use.

Frequently Asked Questions about data-science-python-stack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between pandas and polars for a Python data project?

The stack treats tabular dataframes as a user-choice job: pandas is the default-on-no-preference and comes free via skore, while polars offers faster performance on large frames with stricter typing. The user must explicitly pick one before any import or install, and the decision is recorded in the project journal.

What Python libraries should I install for a new machine learning project?

The mandatory tier is scikit-learn for modeling, skrub for data cleaning, skore for evaluation and experiment tracking, ruff for lint and format, and pytest for smoke tests. Optional libraries like pytorch, keras, or mlflow are installed only when the task requires them.

Should I use xgboost or lightgbm instead of scikit-learn?

No. The stack directs you to scikit-learn's HistGradientBoostingClassifier and HistGradientBoostingRegressor, which cover the same ground with categorical support and missing-value handling inside the sklearn API. Specialized boosting libraries are only surfaced if the user explicitly asks.

What should I do when a Python import fails in an ML project?

Install the missing dependency rather than rewriting the code to a substitute. The Skill requires detecting the project's environment manager (pixi, uv, poetry, hatch, conda, or pip+venv) to produce the correct install command, then waiting for user confirmation.

Can I use mlflow for experiment tracking with this stack?

Tracking is owned by skore's Project API, not mlflow. mlflow is reserved for model serving and registry only; if you want reports stored on an MLflow server, use skore.Project with mode="mlflow" and the skore[mlflow] extra with an explicit mlflow>=3 pin.

When should I not use this Python stack skill?

Skip it for non-Python projects, web or backend work unrelated to data science, and implementation tasks inside an already-chosen library such as bug fixes or refactors where no new dependency is involved.