mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-08 15:28:26 +01:00
Merge pull request #1963 from algomaster99/dvc_version
Add `dvc version` command
This commit is contained in:
@@ -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,
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user