Installation#

sktime currently supports:

  • Python versions 3.8, 3.9, 3.10, 3.11, and 3.12.

  • Operating systems Mac OS X, Unix-like OS, Windows 8.1 and higher

See here for a full list of precompiled wheels available on PyPI.

For frequent issues with installation, consult the `Release versions - troubleshooting`_ section.

There are three different installation types:

  • Installing sktime releases

  • Installing the latest sktime development version

  • For developers of sktime and 3rd party extensions: Developer setup

Each of these three setups are explained below.

Release versions#

Installing sktime from PyPI#

sktime releases are available via PyPI. To install sktime with core dependencies, excluding soft dependencies, via pip type:

pip install sktime

To install sktime with maximum dependencies, including soft dependencies, install with the all_extras modifier:

pip install sktime[all_extras]

sktime also comes with dependency sets specific to learning task, i.e., estimator scitype. These are curated selections of the most common soft dependencies for the respective learning task. The available dependency sets are of the same names as the respective modules: forecasting, transformations, classification, regression, clustering, param_est, networks, detection, alignment.

Warning

Some of the soft dependencies included in all_extras and the curated soft dependency sets do not work on mac ARM-based processors, such as M1, M2, M1Pro, M1Max or M1Ultra. This may cause an error during installation. Mode details can be found in the troubleshooting section below.

Warning

The soft dependencies with all_extras are only necessary to have all estimators available, or to run all tests. However, this slows down the downloads, and multiples test time. For most user or developer scenarios, downloading all_extras will not be necessary. If you are unsure, install sktime with core dependencies, and install soft dependencies as needed. Alternatively, install dependency sets specific to learning task, see above.

Installing sktime from conda#

sktime releases are available via conda from conda-forge. To install sktime with core dependencies, excluding soft dependencies via conda type:

conda install -c conda-forge sktime

To install sktime with maximum dependencies, including soft dependencies, install with the all-extras recipe:

conda install -c conda-forge sktime-all-extras

Note: not all soft dependencies of sktime are also available on conda-forge, sktime-all-extras includes only the soft dependencies that are available on conda-forge. The other soft dependencies can be installed via pip, after conda install pip.

Development version install#

Development versions of sktime are installs from static snapshots of the sktime repository.

Installing development versions is useful for testing, but not recommended for development and contribution. For development and contribution, see the next section on full developer setup.

To install the latest development version of sktime, you can use the pip package manager to install directly from the GitHub repository:

pip install git+https://github.com/sktime/sktime.git

To install from a specific branch, use the following command:

pip install git+https://github.com/sktime/sktime.git@<branch_name>

Alternatively, a developer install can be obtained from a local clone of the repository.

For this, follow Step 1 of the `full developer setup`_ below, and then install the package with:

pip install .

Alternatively, the . may be replaced with a full or relative path to the root directory.

Full developer setup for contributors and extension developers#

To develop sktime locally, or to contribute to the project, you need to set up:

  • a local clone of the sktime repository.

  • a virtual environment with an editable install of sktime and its developer dependencies.

The following steps guide you through the process:

  1. Follow the Git workflow: Fork and clone the repository as described in [Git and GitHub workflow](https://www.sktime.net/en/stable/developer_guide/git_workflow.html)

2. Set up a new virtual environment. Our instructions will go through the commands to set up a conda environment which is recommended for sktime development. The process will be similar for venv or other virtual environment managers.

Warning

Using conda via one of the commercial distributions such as Anaconda is in general not free for commercial use and may incur significant costs or liabilities. Consider using free distributions and channels for package management, and be aware of applicable terms and conditions.

In the conda terminal:

  1. Navigate to your local sktime folder, cd sktime or similar

  2. Create a new environment with a supported python version: conda create -n sktime-dev python=3.11 (or python=3.12 etc)

    Warning

    If you already have an environment called sktime-dev from a previous attempt you will first need to remove this.

  3. Activate the environment: conda activate sktime-dev

6. Build an editable version of sktime. In order to install only the dev dependencies, pip install -e ".[dev]" If you also want to install soft dependencies, install them individually, after the above, or instead use: pip install -e ".[all_extras,dev]" to install all of them.

  1. If everything has worked, you should see message “successfully installed sktime”

Some users have experienced issues when installing NumPy, particularly version 1.19.4.

Note

Another option under Windows is to follow the instructions for `Unix-like OS`_, using the Windows Subsystem for Linux (WSL). For installing WSL, follow the instructions here.

Troubleshooting#

Module not found#

The most frequent reason for module not found errors is installing sktime with minimum dependencies and using an estimator which interfaces a package that has not been installed in the environment. To resolve this, install the missing package, or install sktime with maximum dependencies (see above).

ImportError#

Import errors are often caused by an improperly linked virtual environment. Make sure that your environment is activated and linked to whatever IDE you are using. If you are using Jupyter Notebooks, follow these instructions for adding your virtual environment as a new kernel for your notebook.

Installing all_extras on mac with ARM processor#

If you are using a mac with an ARM processor, you may encounter an error when installing sktime[all_extras]. This is due to the fact that some libraries included in all_extras are not compatible with ARM-based processors.

The workaround is not to install some of the packages in all_extras and install ARM compatible replacements for others:

  • Do not install the following packages:
    • esig

    • prophet

    • tsfresh

    • tslearn

  • Replace tensorflow package with the following packages:
    • tensorflow-macos

    • tensorflow-metal (optional)

Also, ARM-based processors have issues when installing packages distributed as source distributions instead of Python wheels. To avoid this issue when installing a package you can try installing it through conda or use a prior version of the package that was distributed as a wheel.

Other Startup Resources#

Virtual environments#

Two good options for virtual environment managers are:

  • conda (beginner friendly, but may incur license fees for commercial use if using a commercial distribution).

  • venv (also quite good!).

Be sure to link your new virtual environment as the python kernel in whatever IDE you are using. You can find the instructions for doing so in VScode here.

References#

The installation instruction are adapted from scikit-learn’s advanced installation instructions.