# coding: utf8 from __future__ import print_function # NB! This breaks in plac on Python 2!! # from __future__ import unicode_literals if __name__ == "__main__": import plac import sys from wasabi import Printer from spacy.cli import download, link, info, package, train, pretrain, convert from spacy.cli import init_model, profile, evaluate, validate from spacy.cli import ud_train, ud_evaluate, debug_data msg = Printer() commands = { "download": download, "link": link, "info": info, "train": train, "pretrain": pretrain, "debug-data": debug_data, "ud-train": ud_train, "evaluate": evaluate, "ud-evaluate": ud_evaluate, "convert": convert, "package": package, "init-model": init_model, "profile": profile, "validate": validate, } if len(sys.argv) == 1: msg.info("Available commands", ", ".join(commands), exits=1) command = sys.argv.pop(1) sys.argv[0] = "spacy %s" % command if command in commands: plac.call(commands[command], sys.argv[1:]) else: available = "Available: {}".format(", ".join(commands)) msg.fail("Unknown command: {}".format(command), available, exits=1)