Download or clone the source code for the OpenML website from GitHub. Then, go into that folder (it should have the
git clone https://github.com/openml/openml.org.git cd openml.org
Install Flask, Dash, and dependencies using PIP
pip install -r requirements.txt
Install React and dependencies using NPM (6 or higher).
Building and running¶
Do a production build of the frontend by going to
server/src/client/app and running
npm run build --prefix server/src/client/app/
Start the server by running:
You should now see the app running in your browser at
Note: If you run the app using HTTPS, add the SSL context or use 'adhoc' to use on-the-fly certificates or you can specify your own certificates.
flask run --cert='adhoc'
As flask server is not suitable for production we recommend you to use some other server if you want to deploy your openml installation in production. We currently use gunicorn for production server. You can install the gunicorn server and run it:
gunicorn --certfile cert.pem --keyfile key.pem -b localhost:5000 autoapp:app
To start the React frontend in developer mode, follow the installation steps above, go to
server/src/client/app and run:
npm run start
The app should automatically open at
localhost:3000 and any changes made to
the code will automatically reload the website (hot loading).
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. Files are located in the
- 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. Files are located in