# Path: nmt_chainer/utilities/versioning_tools.py
# def get_installed_path():
# def get_current_git_hash():
# def get_current_git_diff():
# def is_current_git_dirty():
# def get_chainer_infos():
# def get_package_git_hash():
# def get_package_dirty_status():
# def get_package_git_diff():
# def get_version_dict():
# def main(options=None):
#         DEVNULL = open(os.devnull, 'wb')


import argparse
import nmt_chainer.training_module.train_config as train
import nmt_chainer.translation.eval_config as eval_module
import nmt_chainer.dataprocessing.make_data_conf as make_data
import nmt_chainer.utilities.utils_command as utils_command
import sys
    import argcomplete
    import ipdb as pdb
    import pdb
    import ipdb
        import pdb
    import signal
    import pdb as pdb_module
    import sys
    import traceback
            import ipdb
        import cProfile
from nmt_chainer.utilities import versioning_tools
    parser_train = subparsers.add_parser('train', description="Train a model.", help="Train a model", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    train.define_parser(parser_train)

    # create the parser for the "eval" command
    parser_eval = subparsers.add_parser('eval', description="Use a model.", help="Use a model", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    eval_module.define_parser(parser_eval)

    # create the parser for the "version" command
    parser_version = subparsers.add_parser('version', description="Get version infos.", help="Get version infos", formatter_class=argparse.ArgumentDefaultsHelpFormatter)

    parser_utils = subparsers.add_parser('utils', description="Call a utility script.", help="Call a utility script", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    utils_command.define_parser(parser_utils)

#     import argcomplete
    if argcomplete is not None:
        argcomplete.autocomplete(parser)

    args = parser.parse_args(args=arguments)
    if arguments is not None:
        args.__original_argument_list = arguments
    else:
        args.__original_argument_list = sys.argv

    if args.__subcommand_name is None:
        parser.print_help()
        sys.exit(1)

    func = {"make_data": make_data.do_make_data,
            "train": train.do_train,
            "eval": eval_module.do_eval,

# Path: nmt_chainer/utilities/versioning_tools.py
# def get_installed_path():
# def get_current_git_hash():
# def get_current_git_diff():
# def is_current_git_dirty():
# def get_chainer_infos():
# def get_package_git_hash():
# def get_package_dirty_status():
# def get_package_git_diff():
# def get_version_dict():
# def main(options=None):
#         DEVNULL = open(os.devnull, 'wb')


# Path: nmt_chainer/__main__.py
import argparse
import nmt_chainer.training_module.train_config as train
import nmt_chainer.translation.eval_config as eval_module
import nmt_chainer.dataprocessing.make_data_conf as make_data
import nmt_chainer.utilities.utils_command as utils_command
import sys
    import argcomplete
    import ipdb as pdb
    import pdb
    import ipdb
        import pdb
    import signal
    import pdb as pdb_module
    import sys
    import traceback
            import ipdb
        import cProfile
from nmt_chainer.utilities import versioning_tools

    parser_train = subparsers.add_parser('train', description="Train a model.", help="Train a model", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    train.define_parser(parser_train)

    # create the parser for the "eval" command
    parser_eval = subparsers.add_parser('eval', description="Use a model.", help="Use a model", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    eval_module.define_parser(parser_eval)

    # create the parser for the "version" command
    parser_version = subparsers.add_parser('version', description="Get version infos.", help="Get version infos", formatter_class=argparse.ArgumentDefaultsHelpFormatter)

    parser_utils = subparsers.add_parser('utils', description="Call a utility script.", help="Call a utility script", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    utils_command.define_parser(parser_utils)

#     import argcomplete
    if argcomplete is not None:
        argcomplete.autocomplete(parser)

    args = parser.parse_args(args=arguments)
    if arguments is not None:
        args.__original_argument_list = arguments
    else:
        args.__original_argument_list = sys.argv

    if args.__subcommand_name is None:
        parser.print_help()
        sys.exit(1)

    func = {"make_data": make_data.do_make_data,
            "train": train.do_train,
            "eval": eval_module.do_eval,

            "version": versioning_tools.main,