By Auguste Baum, Open Source Engineer at Probabl
What's new in skore lib: August 2026 update
By Auguste Baum, Open Source Engineer at Probabl
At Probabl, we are developing Skore, the Tabular AI platform for teams that ship machine learning models with confidence. One of its components is skore lib, a Python library under the MIT license that wraps your data science pipelines to reduce boilerplate and guard against classic pitfalls.
Before I dive into the latest technical updates, I’d like to say some words about why the library exists. Notebooks (Jupyter and others) let you run code interactively, in any order. That flexibility has a cost: you can train a model in a cell, delete that cell, and the model object persists in memory. Five cells later, you might have forgotten which data the model was trained with.
This is where methodology meets tool design. skore lib's EstimatorReport enforces a simple practice: it keeps the estimator and its training data together. You can't separate them, so you can't lose the link. That design choice brings several benefits. Since the data and estimator are bundled together, it is possible to automate model evaluation (e.g. classic metrics and plots).
For users, this means fewer lines of code, which leaves fewer places for bugs. Similarly, it is common to store results to disk or remote storage to counteract the volatility of notebooks. skore lib helps with this by exposing a simple API with different backends, including disk storage, MLFlow instances and Skore, Probabl's Tabular AI platform.
Good practices in data science go beyond "save every model properly." Checking for overfitting, spotting correlated features, validating on holdout data: these are patterns that recur but get implemented from scratch each time. These checks are built into skore lib, so the methodology becomes the default path instead of extra work.
This applies to human data scientists and to agents. An agent using skore lib inherits the same checks and organization without needing separate instructions for each project. The tool carries the methodology with it. Every run is versioned, audited, and reproducible. In short, skore gives you the confidence to move fast with AI and the proof it worked.
Without further ado, here are the latest updates in skore lib. They can also be found in skore lib’s official documentation.
New in skore lib: August update
Local project storage format
Local projects used to be saved on disk in SQLite databases via the diskcache package. They are now backed by human-readable files instead, e.g. estimators in .pickle files and metrics in CSV files, so they can be browsed and copied independently of skore. See #2905 by @jeromedockes.

Project synchronization
It is now possible to synchronize the contents of Projects, including between a local Project and a Skore Hub project. Note that this is a one-time operation; it does not keep Projects in sync with each other. More information about project synchronization is available at Synchronizing projects in the user guide. See #3201 by @Aljutor.

Baseline-related checks
There have been several improvements to the checks which compare the estimator to a baseline, including:
- SKD009 ("model worse than baseline") now always includes the baseline's performance, and is reported as a tip rather than an issue. It is now reported as an issue only if the model is significantly worse than the baseline, whereas previously it was when the model is not significantly better. One consequence of this change is that using the baseline itself as a model no longer triggers SKD009.
- SKD010 ("model slower than baseline") now also looks at predict time, not just fit time; a model that is slow to predict will trigger SKD010.
- The SKD010 timing gate floor was raised from 0.05s to 1s, to avoid false positives from timing noise on small or fast fits.
See #3197 by @GaetandeCast.

Checks API examples
New examples have been added to illustrate common modeling pitfalls and how the automated checks catch them; they are available at the Pitfalls and solutions section of the examples. See #3134, #3149, #3150, #3165, #3163, #3170 and #3171 by @moujanrastgoo.
Import speed
import skore is now much faster, thanks to switching to a "lazy imports" strategy in the project. The technique is inherited from the Scientific Python Ecosystem standard. See #3236 by @thomass-dev.
CoefficientsDisplay feature scales
The CoefficientsDisplay methods now have a new scale_features parameter, which multiplies coefficients by the training feature standard deviations so their magnitudes are comparable across features. See #3179 by @glemaitre.

EstimatorReport creation constraint
skore previously allowed creating an EstimatorReport with both training data and a pre-fitted estimator, which was risky: this made it possible to provide an X_train which is not the data that was used to fit the estimator. This would cause subtle bugs. Thus, it is now forbidden to create an EstimatorReport with both training data and a pre-fitted estimator. See #3186 by @glemaitre.

Teamwork makes the dream work!
Thanks to the following contributors for their work this month (in no particular order):
- @glemaitre
- @thomass-dev
- @GaetandeCast
- @auguste-probabl
- @jeromedockes
- @direkkakkar319-ops
- @rouk1
For more from Probabl
- Follow our latest updates on LinkedIn
- Subscribe to our monthly newsletter
- Check out over 100 tutorial videos on our YouTube channel
- Level up your machine learning skills for free with Skolar