Skip to content

Getting started


The OpenML website runs on Flask, React, and Dash. You need to install these first.

Building and running

Build the app by running

npm run build

Start app with:


You should now see it running in your browser at localhost:5000


To start the React frontend in developer mode (with hot loading), run:

npm run dev

The app should automatically open at localhost:8080 and any changes made to the code will automatically reload the website.


OpenML Website structure

The website is built on the following components:

  • A Flask backend. Written in Python, the backend takes care of all communication with the OpenML server. It builds on top of the OpenML Python API. It also takes care of user authentication and keeps the search engine (ElasticSearch) up to date with the latest information from the server.
  • A React frontend. Written in JavaScript, this takes care of rendering the website. It pulls in information from the search engine, and shows plots rendered by Dash. It also contains forms (e.g. for logging in or uploading new datasets), which will be sent off to the backend for processing.
  • Dash dashboards. Written in Python, Dash is used for writing interactive plots. It pulls in data from the Python API, and renders the plots as React components.