Skip to content

optuna/optunahub-registry

Repository files navigation

OptunaHub Registry

OptunaHub

🔗 OptunaHub | 📃 Docs | 📃 Tutorials | Optuna.org

OptunaHub Registry is a registry service for sharing and discovering user-defined Optuna packages. It provides a platform for users to share their Optuna packages with others and discover useful packages created by other users.

See the OptunaHub Website for registered packages.

See also the OptunaHub API documentation for the API to use the registry, and the OptunaHub tutorial for how to register and discover packages.

Contribution

Any contributions to OptunaHub are more than welcome!

OptunaHub is composed of the following three related repositories. Please contribute to the appropriate repository for your purposes.

  • optunahub
    • The python library to use OptunaHub. If you find issues and/or bugs in the optunahub library, please report it here via Github issues.
  • optunahub-registry (this repository)
    • The registry of the OptunaHub packages. If you are interested in registering your package with OptunaHub, please contribute to this repository. For general guidelines on how to contribute to the repository, take a look at CONTRIBUTING.md.
  • optunahub-web
    • The web frontend for OptunaHub. If you find issues and/or bugs on the website, please report it here via GitHub issues.

Quick TODO List towards Contribution

When creating your package, please check the following TODO list:

  • Copy ./template/ to create your package
  • Replace <COPYRIGHT HOLDER> in LICENSE of your package with your name
  • Apply the formatter based on the tips below
  • Check whether your module works as intended based on the tips below
  • Fill out README.md

For more details, please check OptunaHub tutorial.

Tip

The following formatting is a requirement to merge your feature PR:

$ pip install pre-commit
$ pre-commit run --all-files

Please also try the following to make sure that your module can be loaded from the registry:

import optunahub

module = optunahub.load_module(
    # category is one of [pruners, samplers, visualization].
    package="<category>/<your_package_name>",
    repo_owner="<your_github_id>",
    ref="<your_branch_name>",
)

For more detail, please check the tutorial.