Skip to main content

Tooling and assistance for data scientists to "Own Your Data Science"

Project description

👋 Welcome to skore

ci python pypi license Discord

With skore, data scientists can:

  1. Track and visualize their ML/DS results.
  2. Get assistance when developing their ML/DS projects.
    • Scikit-learn compatible cross_validate() provides insights and checks on cross-validation.

These are only the first features: skore is a work in progress and aims to be an end-to-end library for data scientists. Stay tuned, and join our Discord if you want to give us feedback!

GIF: short demo of skore

⚙️ Installation

First of all, we recommend using a virtual environment (venv). You need python>=3.9.

Then, you can install skore by using pip:

pip install -U skore

Warning: For Windows users, the encoding must be set to UTF-8: see PYTHONUTF8.

🚀 Quick start

  1. From your shell, initialize a skore project, here named my_project:
python -m skore create "my_project"

This will create a skore project directory named my_project.skore in your current working directory.

  1. Now that the project file exists, from your Python code (in the same directory), load the project so that you can read from and write to it, for example you can store an integer:
from skore import load
project = load("my_project.skore")
project.put("my_int", 3)
  1. Finally, from your shell (in the same directory), start the UI locally:
python -m skore launch "my_project"

This will automatically open a browser at the UI's location:

  1. On the top left, by default, you can observe that you are in a View called default. You can rename this view or create another one.
  2. From the Items section on the bottom left, you can add stored items to this view, either by clicking on + or by doing drag-and-drop.

👨‍🏫 More examples

Note that after launching the dashboard, you can keep modifying the current items or store new ones from your python code, and the dashboard will automatically be refreshed.

Storing a pandas dataframe:

import numpy as np
import pandas as pd

my_df = pd.DataFrame(np.random.randn(3, 3))
project.put("my_df", my_df)

Storing a matplotlib figure:

import matplotlib.pyplot as plt

x = [0, 1, 2, 3, 4, 5]
fig, ax = plt.subplots(figsize=(5, 3), layout="constrained")
ax.plot(x)
project.put("my_figure", fig)

Storing a scikit-learn fitted pipeline:

from sklearn.datasets import load_diabetes
from sklearn.linear_model import Lasso
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler

diabetes = load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
my_pipeline = Pipeline(
    [("standard_scaler", StandardScaler()), ("lasso", Lasso(alpha=2))]
)
my_pipeline.fit(X, y)
project.put("my_fitted_pipeline", my_pipeline)

For more examples, see our documentation.

🔨 Contributing

Thank you for your interest! See CONTRIBUTING.md.

💬 Where to ask questions

Type Platforms
🐛 Bug reports GitHub Issue Tracker
✨ Feature requests and ideas GitHub Issue Tracker & Discord
💬 Usage questions, discussions, contributions, etc Discord

Brought to you by

Probabl logo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skore-0.2.1.tar.gz (3.2 MB view hashes)

Uploaded Source

Built Distribution

skore-0.2.1-py3-none-any.whl (3.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page