Merge pull request #1963 from algomaster99/dvc_version

Add `dvc version` command
This commit is contained in:
Ruslan Kuprieiev
2019-05-10 22:20:53 +03:00
committed by GitHub
3 changed files with 62 additions and 0 deletions
+2
View File
@@ -33,6 +33,7 @@ import dvc.command.daemon as daemon
import dvc.command.commit as commit
import dvc.command.tag as tag
import dvc.command.diff as diff
import dvc.command.version as version
from dvc.exceptions import DvcParserError
@@ -65,6 +66,7 @@ COMMANDS = [
commit,
tag,
diff,
version,
]
+41
View File
@@ -0,0 +1,41 @@
from __future__ import unicode_literals
import platform
import argparse
import logging
from dvc.command.base import CmdBase, append_doc_link
from dvc.version import __version__
logger = logging.getLogger(__name__)
class CmdVersion(CmdBase):
def run(self):
info = (
"DVC version: {dvc_version}\n"
"Python version: {python_version}\n"
"Platform: {platform_type}"
).format(
dvc_version=__version__,
python_version=platform.python_version(),
platform_type=platform.platform(),
)
logger.info(info)
return 0
def add_parser(subparsers, parent_parser):
VERSION_HELP = (
"Output the system/environment information along with the DVC version"
)
version_parser = subparsers.add_parser(
"version",
parents=[parent_parser],
description=append_doc_link(VERSION_HELP, "version"),
help=VERSION_HELP,
formatter_class=argparse.RawDescriptionHelpFormatter,
)
version_parser.set_defaults(func=CmdVersion)
+19
View File
@@ -0,0 +1,19 @@
import re
from dvc.command.version import CmdVersion
from dvc.cli import parse_args
def test_run():
cmd = CmdVersion(parse_args(["version"]))
ret = cmd.run_cmd()
assert ret == 0
def test_info(caplog):
cmd = CmdVersion(parse_args(["version"]))
cmd.run()
assert re.search(re.compile(r"DVC version: \d+\.\d+\.\d+"), caplog.text)
assert re.search(re.compile(r"Python version: \d\.\d\.\d"), caplog.text)
assert re.search(re.compile(r"Platform: .*"), caplog.text)