sktime-cli
The command line for sktime, built for AI agents and humans.
Search estimators, fetch datasets, inspect time series files, and run fit / predict / evaluate workflows straight from your shell.
Why a CLI
sktime is a Python library, so trying a forecaster usually means opening an editor:
import pandas as pd
from sktime.forecasting.naive import NaiveForecaster
y = pd.read_csv("airline.csv", index_col=0).squeeze()
y.index = pd.PeriodIndex(y.index, freq="M")
forecaster = NaiveForecaster(sp=12)
forecaster.fit(y)
print(forecaster.predict(fh=range(1, 13)))
The same forecast, from the shell:
sktime-cli run fit-predict "NaiveForecaster(sp=12)" --data airline.csv --fh 1:12
Both print the same twelve numbers. The difference is what you needed to know
first: that NaiveForecaster lives in sktime.forecasting.naive, and that
sktime wants a PeriodIndex rather than the strings the csv gave you. The
CLI works both of those out for you, from the file and the estimator name.
What you get
Every command is one process. It reads files or names, calls sktime, writes results, and exits with a meaningful code.
- Fitted models are ordinary files. No sessions, handles, or daemons.
run fitwrites a.zipyou can copy, commit, or delete, and any later command picks it up by path. Run something twice and you get the same answer. - Search for an estimator instead of looking one up.
registry search forecaster -t capability:missing_values=truelists every forecaster that handles gaps, marking the ones whose dependencies you already have. Results come from a disk cache, so repeat searches are cheap. - Name a model instead of building one.
"NaiveForecaster(sp=12)"is the whole configuration.*composes a pipeline,|a multiplexer, and+a transformer union, so"Deseasonalizer() * NaiveForecaster()"is a model too. - Reads the files you already have. csv, parquet, json,
.ts,.tsf, and.arffgo in.--format human|agent|json|quietcomes out. - Failures say what to do next. A missing optional dependency exits
3with the install command in the error'shint. Nothing fails with a bare traceback.
Installation
uv tool install sktime-cli # or: pip install sktime-cli
Check the setup and see which optional dependencies are available:
sktime-cli doctor
Quickstart
# What can I use?
sktime-cli registry search forecaster -t capability:missing_values=true
sktime-cli registry describe NaiveForecaster
# Get data.
sktime-cli datasets load airline --output airline.csv
sktime-cli data inspect airline.csv
# Fit, predict, evaluate. Estimators are given as sktime spec strings.
sktime-cli run fit "NaiveForecaster(sp=12)" --data airline.csv --model-out model.zip
sktime-cli run predict --model model.zip --fh 1:12
sktime-cli run evaluate "NaiveForecaster(sp=12)" --data airline.csv --fh 1:12 \
--metric MeanAbsolutePercentageError
--data takes either a file path or a dataset name, so once you know the name
you can skip the download and pass --data airline directly. A path is read
wins, so a local airline.csv shadows the built-in airline dataset.
For a longer walkthrough, see the quickstart.
Commands
| Group | Commands | What it does |
|---|---|---|
registry |
search · describe · tags · types |
Find sktime estimators by scitype, name, and capability tag |
datasets |
list · describe · load |
Browse and fetch built-in, UCR/UEA, Monash, and fpp3 datasets |
catalogues |
list · get |
Browse sktime's benchmark catalogues |
data |
inspect · convert · split |
Detect mtypes and scitypes, convert formats, split temporally and into folds |
run |
fit · predict · fit-predict · transform · detect · evaluate |
One-shot workflows for forecasting, classification, transformation and detection |
model |
inspect |
Look inside a saved model artifact and round-trip its spec |
metrics |
list · score |
List metric objects and score predictions against observations |
| (top level) | check · version · env · doctor · cache |
Validate an object against sktime's API, environment info, health check, workspace |
Every option is listed in the CLI reference, which is generated from the application itself.
Built for AI agents
Add --json to any command and you get exactly one parseable JSON document on
stdout. Errors are JSON on stderr, with stable codes and a hint field that
usually contains the fix.
| Exit | Meaning |
|---|---|
0 |
Success |
1 |
Library or unexpected failure |
2 |
Usage error |
3 |
Missing optional dependency, and the hint says what to install |
4 |
Estimator, dataset, or model not found |
5 |
Data validation or spec error |
Install the skill
The full agent contract and task recipes live in an
agent skill
that ships inside the package, at the location package-bundled skills use. Add
sktime-cli to the project, then let
library-skills find it:
uv add sktime-cli # or: pip install sktime-cli
uvx library-skills --claude # installs the skills you pick from your packages
That symlinks the skill into .agents/skills/, and --claude adds
.claude/skills/ for Claude Code. Your agent then knows how to drive the CLI.
To skip the prompt, name it: uvx library-skills --claude --skill sktime-cli.
If you installed the CLI as a standalone tool rather than as a project dependency, copy the file instead:
mkdir -p ~/.claude/skills/sktime-cli
curl -fsSL https://raw.githubusercontent.com/siddharth7113/sktime-cli/main/src/sktime_cli/.agents/skills/sktime-cli/SKILL.md \
-o ~/.claude/skills/sktime-cli/SKILL.md
For the details, see using sktime-cli from an agent.
Documentation
Full documentation is at sktime-cli.readthedocs.io:
- Quickstart
- Finding estimators
- Working with data
- Fitting and evaluating models
- Output formats and errors
- CLI reference
- Architecture and design decisions
Status
sktime-cli is an independent, unofficial command-line client for sktime. It
is not maintained by or affiliated with the sktime project.
Version 0.0.2 is an early alpha release. Discovery and one-shot runs work, and the roadmap lists what comes next.
Contributing
Issues and pull requests are welcome. To set up a development environment, run the checks, and build the docs, see Contributing.
License
BSD 3-Clause, matching sktime.
Metadata
Release files for sktime-cli 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| sktime_cli-0.0.2.tar.gz | 224.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sktime_cli-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 308.3 kB
Release files / sktime_cli-0.0.2.tar.gz
| Download URL | sktime_cli-0.0.2.tar.gz |
|---|---|
| Size | 224.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
27ca7bae0860896920e89e27f085f666e5720810bdec0402d46c6d38a6a211e5
|
|
BLAKE2b-256 checksum How to use checksums |
0a9dea7aab9be4c39852e2848d32328af65bbe322d4d718dd539ea211887b4ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / sktime_cli-0.0.2-py3-none-any.whl
| Download URL | sktime_cli-0.0.2-py3-none-any.whl |
|---|---|
| Size | 83.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16efc4c86a479eabb6367761c8afa5cd82ba6e7da80eef911ce5d413281f5ccd
|
|
BLAKE2b-256 checksum How to use checksums |
9a499c767c0557918a4174be764b73a3e40419813872d9b4d15291f0dd94660e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logSecurity for sktime-cli 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for sktime_cli-0.0.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.