Notice: scikit-multiflow works with Python 3.4+ only.

scikit-multiflow requires numpy to be already installed in your system. There are multiple ways to install numpy, the easiest is using pip:

$ pip install -U numpy

Option 1. Install from source code

First, you need to make a copy of the scikit-multiflow project. On the project’s github page you will find on the top-right side of the page a green button with the label “Clone or download”. By clicking on it you will get two options: clone with SSH, HTTPS or download a zip. If you opt to get a zip file then you have to unzip the project into the desired local destination before continuing.

Once numpy is installed, you can proceed with the installation of scikit-multiflow and its other dependencies.

In a terminal, navigate to the local path of the project and run the following command (including the dot at the end):

$ pip install -U .

The -U option indicates that the package will be installed only for this user.

Optionally you can indicate to pip the remote location of the code:

$ pip install -U git+

When the installation is completed (and no errors were reported), then you will be ready to use scikit-multiflow. The advantage of this option is that you can install the latest version of the code in github.

Option 2. Install from PyPI

scikit-multiflow is also available in the Python Package Index (PyPI). So you can install it using the following command:

$ pip install -U scikit-multiflow

This will install the latest (stable) release of the code.

Option 3. Development version

For people interested in contributing to scikit-multiflow we recommend to install the project in editable mode, please refer to the contributor’s page for further information.

matplotlib backend considerations

  • You may need to change your matplotlib backend, because not all backends work on all machines.

  • If this is the case you need to check matplotlib’s configuration. In the matplotlibrc file you will need to change the line:

    backend     : Qt5Agg


    backend     : a backend that works on your machine
  • The Qt5Agg backend should work with most machines, but a change may be needed.

Jupyter Notebooks

In order to display plots from scikit-multiflow within a Jupyter Notebook we need to define the proper mathplotlib backend to use. This is done via a magic command at the beginning of the Notebook:

%matplotlib notebook

JupyterLab is Jupyter’s next-generation user interface, currently in beta it can display plots with some caveats. If you use JupyterLab then the current solution is to use the jupyter-matplotlib extension:

%matplotlib ipympl