Highlights
Dark mode support
| Light mode | Dark mode |
| --- | --- |
| <img width="966" alt="Light mode" src="https://user-images.githubusercontent.com/5564044/159600417-7c077a15-1723-49a6-aca9-9a4970d01825.png"> | <img width="963" alt="Dark mode" src="https://user-images.githubusercontent.com/5564044/159600408-fc02ba9e-effc-4d88-acd6-dfc90a226ba8.png"> |
Gunicorn support
optuna-dashboard uses [wsgiref](https://docs.python.org/3/library/wsgiref.html) module which is NOT suitable for the production use since it has not been reviewed for security issues. From v0.6.1 release, you can use "--server gunicorn" option to run more secure and faster. If you want to know more about Gunicorn, please check [the documentation](https://gunicorn.org/).
$ pip install gunicorn
$ optuna-dashboard sqlite:///db.sqlite3 --server gunicorn
A component to take a memo
You can freely write anything in a Note area. The text is stored in study's system_attrs with version control, so it is prohibited to accidentally overwrite existing text.
https://user-images.githubusercontent.com/5564044/159110279-1a784286-583c-436e-a205-b550cd12613b.mp4
An official Docker image
You can use [an official Docker image](https://github.com/optuna/optuna-dashboard/pkgs/container/optuna-dashboard) instead of setting up your Python environment. The Docker image only supports SQLite3, MySQL(PyMySQL), and PostgreSQL(Psycopg2).
SQLite3
$ docker run -it --rm -p 8080:8080 -v `PWD`:/app -w /app ghcr.io/optuna/optuna-dashboard sqlite:///db.sqlite3
MySQL (PyMySQL)
$ docker run -it --rm -p 8080:8080 ghcr.io/optuna/optuna-dashboard mysql+pymysql://username:passwordhostname:3306/dbname
PostgreSQL (Psycopg2)
$ docker run -it --rm -p 8080:8080 ghcr.io/optuna/optuna-dashboard postgresql+psycopg2://username:passwordhostname:5432/dbname
Stable Python interface
optuna-dashboard now provides stable Python interfaces.
**`run_server(storage: Union[str, BaseStorage], host: str = 'localhost', port: int = 8080) -> None`**
Start running optuna-dashboard and blocks until the server terminates.
This function uses wsgiref module which is not intended for the production use.
**`wsgi(storage: Union[str, BaseStorage]) -> WSGIApplication`**
This function exposes WSGI interface for people who want to run on the
production-class WSGI servers like Gunicorn or uWSGI.
Changes
New features
* Provide stable Python API by c-bata in https://github.com/optuna/optuna-dashboard/pull/167
* Add --server option for Gunicorn support by c-bata in https://github.com/optuna/optuna-dashboard/pull/168
* Dark Mode Support by c-bata in https://github.com/optuna/optuna-dashboard/pull/172
* Find study by keywords by c-bata in https://github.com/optuna/optuna-dashboard/pull/178
* Hide intermediate values chart if no intermediate values by c-bata in https://github.com/optuna/optuna-dashboard/pull/179
* Note component to set study's description by c-bata in https://github.com/optuna/optuna-dashboard/pull/180
Bug fixes
* Fix bug when given inf objective value by c-bata in https://github.com/optuna/optuna-dashboard/pull/176
Other improvements
* Publish an official Docker image by c-bata in https://github.com/optuna/optuna-dashboard/pull/146
* Avoid using Python 3.10 to run integration tests. by c-bata in https://github.com/optuna/optuna-dashboard/pull/148
* FIX 142 Responsive width large screens by ezioishan in https://github.com/optuna/optuna-dashboard/pull/149
* Bump tmpl from 1.0.4 to 1.0.5 by dependabot in https://github.com/optuna/optuna-dashboard/pull/152
* Bump ansi-regex from 5.0.0 to 5.0.1 by dependabot in https://github.com/optuna/optuna-dashboard/pull/151
* Bump axios from 0.21.1 to 0.21.2 by dependabot in https://github.com/optuna/optuna-dashboard/pull/150
* Fix Dockerfile by c-bata in https://github.com/optuna/optuna-dashboard/pull/158
* Publish a Docker image to GitHub Container Registry. by c-bata in https://github.com/optuna/optuna-dashboard/pull/157
* Update the usage of docker image by c-bata in https://github.com/optuna/optuna-dashboard/pull/159
* Upgrade node version to v16 by c-bata in https://github.com/optuna/optuna-dashboard/pull/160
* Add FloatDistribution and IntDitribution for Optuna v3 release. by c-bata in https://github.com/optuna/optuna-dashboard/pull/162
* Bump follow-redirects from 1.14.6 to 1.14.8 by dependabot in https://github.com/optuna/optuna-dashboard/pull/165
* Make all functions private except for the stable Python interface by c-bata in https://github.com/optuna/optuna-dashboard/pull/169
* Fix type hints and improve README by c-bata in https://github.com/optuna/optuna-dashboard/pull/170
* Migrate to MUI v5 by c-bata in https://github.com/optuna/optuna-dashboard/pull/171
* Update plotly.js and recoil.js by c-bata in https://github.com/optuna/optuna-dashboard/pull/173
* Add title attr to buttons by c-bata in https://github.com/optuna/optuna-dashboard/pull/174
* Improve build performance by c-bata in https://github.com/optuna/optuna-dashboard/pull/175
* Add some UI improvements. by c-bata in https://github.com/optuna/optuna-dashboard/pull/177
* Show animated SVG while loading bundle.js by c-bata in https://github.com/optuna/optuna-dashboard/pull/181
* Implement in-memory cache for hyperparameter importance by c-bata in https://github.com/optuna/optuna-dashboard/pull/182
* Set favicon.ico by c-bata in https://github.com/optuna/optuna-dashboard/pull/183
* Refactor project structure by c-bata in https://github.com/optuna/optuna-dashboard/pull/184
* Use webpack CompressionPlugin (4MB -> 1.2MB) by c-bata in https://github.com/optuna/optuna-dashboard/pull/185
* Disable gzip when DEBUG mode is enabled by c-bata in https://github.com/optuna/optuna-dashboard/pull/186
* Reduce Cumulative Layout Shift for better user experience. by c-bata in https://github.com/optuna/optuna-dashboard/pull/187
* Debounce input to create new study by c-bata in https://github.com/optuna/optuna-dashboard/pull/188
* Refactor graph layouts by c-bata in https://github.com/optuna/optuna-dashboard/pull/190
* Use plotly.js-dist-min to reduce bundle.js. by c-bata in https://github.com/optuna/optuna-dashboard/pull/191
* Add some minor improvements by c-bata in https://github.com/optuna/optuna-dashboard/pull/192
* Bump the version up to v0.6.0 by c-bata in https://github.com/optuna/optuna-dashboard/pull/189
New Contributors
* ezioishan made their first contribution in https://github.com/optuna/optuna-dashboard/pull/149
**Full Changelog**: https://github.com/optuna/optuna-dashboard/compare/v0.5.0...v0.6.1