diff --git a/README.md b/README.md index ab83d17d..2222e65a 100644 --- a/README.md +++ b/README.md @@ -24,20 +24,21 @@ Hit Ctrl-C to quit. More command line options -``` -$ optuna-dashboard --help -usage: optuna-dashboard [-h] [--port PORT] [--host HOST] [--quiet] storage +```console +$ optuna-dashboard -h +usage: optuna-dashboard [-h] [--port PORT] [--host HOST] [--version] [--quiet] storage -A third-party dashboard for optuna. +Web dashboard for optuna. positional arguments: - storage Optuna Storage URL + storage Optuna Storage URL optional arguments: - -h, --help show this help message and exit - --port PORT port number (default: 8080) - --host HOST hostname (default: 'localhost') - --quiet quiet + -h, --help show this help message and exit + --port PORT port number (default: 8080) + --host HOST hostname (default: 127.0.0.1) + --version, -v show program's version number and exit + --quiet, -q quiet ``` diff --git a/optuna_dashboard/cli.py b/optuna_dashboard/cli.py index 09e78b04..0bdea9b0 100644 --- a/optuna_dashboard/cli.py +++ b/optuna_dashboard/cli.py @@ -2,18 +2,20 @@ import argparse from bottle import run from .app import create_app +from .version import __version__ def main(): - parser = argparse.ArgumentParser(description="A third-party dashboard for optuna.") + parser = argparse.ArgumentParser(description="Web dashboard for optuna.") parser.add_argument("storage", help="Optuna Storage URL", type=str) parser.add_argument( - "--port", help="port number (default: 8080)", type=int, default=8080 + "--port", help="port number (default: %(default)s)", type=int, default=8080 ) parser.add_argument( - "--host", help="hostname (default: 'localhost')", default="localhost" + "--host", help="hostname (default: %(default)s)", default="127.0.0.1" ) - parser.add_argument("--quiet", help="quiet", action="store_true") + parser.add_argument("--version", "-v", action="version", version=__version__) + parser.add_argument("--quiet", "-q", help="quiet", action="store_true") args = parser.parse_args() app = create_app(args.storage) diff --git a/optuna_dashboard/version.py b/optuna_dashboard/version.py new file mode 100644 index 00000000..3b93d0be --- /dev/null +++ b/optuna_dashboard/version.py @@ -0,0 +1 @@ +__version__ = "0.0.2" diff --git a/setup.py b/setup.py index b3ab3a57..f1f1b978 100644 --- a/setup.py +++ b/setup.py @@ -1,15 +1,30 @@ import os +import types + from setuptools import setup, find_packages +from importlib.machinery import SourceFileLoader + +BASE_PATH = os.path.dirname(__file__) def get_long_description() -> str: - readme_filepath = os.path.join(os.path.dirname(__file__), "README.md") + readme_filepath = os.path.join(BASE_PATH, "README.md") with open(readme_filepath) as f: return f.read() + +def get_version(): + version_filepath = os.path.join(BASE_PATH, "optuna_dashboard", "version.py") + module_name = "version" + target_module = types.ModuleType(module_name) + loader = SourceFileLoader(module_name, version_filepath) + loader.exec_module(target_module) + return getattr(target_module, "__version__") + + setup( name="optuna-dashboard", - version="0.0.2", + version=get_version(), description="Web dashboard for Optuna.", long_description=get_long_description(), long_description_content_type="text/markdown",