mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-25 09:26:27 +03:00
Fix CLI docstrings and add command as first argument
Workaround for Plac
This commit is contained in:
parent
22bf5f63bf
commit
086a06e7d7
|
@ -4,7 +4,7 @@ from __future__ import unicode_literals
|
||||||
import importlib
|
import importlib
|
||||||
|
|
||||||
from .compat import basestring_
|
from .compat import basestring_
|
||||||
from .cli.info import info
|
from .cli.info import info as cli_info
|
||||||
from .glossary import explain
|
from .glossary import explain
|
||||||
from .deprecated import resolve_load_name
|
from .deprecated import resolve_load_name
|
||||||
from . import util
|
from . import util
|
||||||
|
@ -20,3 +20,7 @@ def load(name, **overrides):
|
||||||
overrides['meta'] = meta
|
overrides['meta'] = meta
|
||||||
overrides['path'] = model_path
|
overrides['path'] = model_path
|
||||||
return cls(**overrides)
|
return cls(**overrides)
|
||||||
|
|
||||||
|
|
||||||
|
def info(model=None, markdown=False):
|
||||||
|
return cli_info(None, model, markdown)
|
||||||
|
|
|
@ -24,8 +24,9 @@ CONVERTERS = {
|
||||||
n_sents=("Number of sentences per doc", "option", "n", float),
|
n_sents=("Number of sentences per doc", "option", "n", float),
|
||||||
morphology=("Enable appending morphology to tags", "flag", "m", bool)
|
morphology=("Enable appending morphology to tags", "flag", "m", bool)
|
||||||
)
|
)
|
||||||
def convert(_, input_file, output_dir, n_sents, morphology):
|
def convert(cmd, input_file, output_dir, n_sents, morphology):
|
||||||
"""Convert files into JSON format for use with train command and other
|
"""
|
||||||
|
Convert files into JSON format for use with train command and other
|
||||||
experiment management functions.
|
experiment management functions.
|
||||||
"""
|
"""
|
||||||
input_path = Path(input_file)
|
input_path = Path(input_file)
|
||||||
|
|
|
@ -17,8 +17,9 @@ from .. import about
|
||||||
direct=("force direct download. Needs model name with version and won't "
|
direct=("force direct download. Needs model name with version and won't "
|
||||||
"perform compatibility check", "flag", "d", bool)
|
"perform compatibility check", "flag", "d", bool)
|
||||||
)
|
)
|
||||||
def download(model, direct=False):
|
def download(cmd, model, direct=False):
|
||||||
"""Download compatible model from default download path using pip. Model
|
"""
|
||||||
|
Download compatible model from default download path using pip. Model
|
||||||
can be shortcut, model name or, if --direct flag is set, full model name
|
can be shortcut, model name or, if --direct flag is set, full model name
|
||||||
with version.
|
with version.
|
||||||
"""
|
"""
|
||||||
|
@ -31,7 +32,7 @@ def download(model, direct=False):
|
||||||
version = get_version(model_name, compatibility)
|
version = get_version(model_name, compatibility)
|
||||||
download_model('{m}-{v}/{m}-{v}.tar.gz'.format(m=model_name, v=version))
|
download_model('{m}-{v}/{m}-{v}.tar.gz'.format(m=model_name, v=version))
|
||||||
try:
|
try:
|
||||||
link(model_name, model, force=True)
|
link(None, model_name, model, force=True)
|
||||||
except:
|
except:
|
||||||
# Dirty, but since spacy.download and the auto-linking is mostly
|
# Dirty, but since spacy.download and the auto-linking is mostly
|
||||||
# a convenience wrapper, it's best to show a success message and
|
# a convenience wrapper, it's best to show a success message and
|
||||||
|
|
|
@ -14,7 +14,7 @@ from .. import util
|
||||||
model=("optional: shortcut link of model", "positional", None, str),
|
model=("optional: shortcut link of model", "positional", None, str),
|
||||||
markdown=("generate Markdown for GitHub issues", "flag", "md", str)
|
markdown=("generate Markdown for GitHub issues", "flag", "md", str)
|
||||||
)
|
)
|
||||||
def info(model=None, markdown=False):
|
def info(cmd, model=None, markdown=False):
|
||||||
"""Print info about spaCy installation. If a model shortcut link is
|
"""Print info about spaCy installation. If a model shortcut link is
|
||||||
speficied as an argument, print model information. Flag --markdown
|
speficied as an argument, print model information. Flag --markdown
|
||||||
prints details in Markdown for easy copy-pasting to GitHub issues.
|
prints details in Markdown for easy copy-pasting to GitHub issues.
|
||||||
|
|
|
@ -14,8 +14,9 @@ from .. import util
|
||||||
link_name=("name of shortuct link to create", "positional", None, str),
|
link_name=("name of shortuct link to create", "positional", None, str),
|
||||||
force=("force overwriting of existing link", "flag", "f", bool)
|
force=("force overwriting of existing link", "flag", "f", bool)
|
||||||
)
|
)
|
||||||
def link(origin, link_name, force=False):
|
def link(cmd, origin, link_name, force=False):
|
||||||
"""Create a symlink for models within the spacy/data directory. Accepts
|
"""
|
||||||
|
Create a symlink for models within the spacy/data directory. Accepts
|
||||||
either the name of a pip package, or the local path to the model data
|
either the name of a pip package, or the local path to the model data
|
||||||
directory. Linking models allows loading them via spacy.load(link_name).
|
directory. Linking models allows loading them via spacy.load(link_name).
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -18,8 +18,9 @@ from .. import about
|
||||||
meta=("path to meta.json", "option", "m", str),
|
meta=("path to meta.json", "option", "m", str),
|
||||||
force=("force overwriting of existing folder in output directory", "flag", "f", bool)
|
force=("force overwriting of existing folder in output directory", "flag", "f", bool)
|
||||||
)
|
)
|
||||||
def package(input_dir, output_dir, meta, force):
|
def package(cmd, input_dir, output_dir, meta=None, force=False):
|
||||||
"""Generate Python package for model data, including meta and required
|
"""
|
||||||
|
Generate Python package for model data, including meta and required
|
||||||
installation files. A new directory will be created in the specified
|
installation files. A new directory will be created in the specified
|
||||||
output directory, and model data will be copied over.
|
output directory, and model data will be copied over.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -32,9 +32,11 @@ from .. import displacy
|
||||||
no_parser=("Don't train parser", "flag", "P", bool),
|
no_parser=("Don't train parser", "flag", "P", bool),
|
||||||
no_entities=("Don't train NER", "flag", "N", bool)
|
no_entities=("Don't train NER", "flag", "N", bool)
|
||||||
)
|
)
|
||||||
def train(_, lang, output_dir, train_data, dev_data, n_iter=20, n_sents=0,
|
def train(cmd, lang, output_dir, train_data, dev_data, n_iter=20, n_sents=0,
|
||||||
use_gpu=False, no_tagger=False, no_parser=False, no_entities=False):
|
use_gpu=False, no_tagger=False, no_parser=False, no_entities=False):
|
||||||
"""Train a model. Expects data in spaCy's JSON format."""
|
"""
|
||||||
|
Train a model. Expects data in spaCy's JSON format.
|
||||||
|
"""
|
||||||
n_sents = n_sents or None
|
n_sents = n_sents or None
|
||||||
output_path = util.ensure_path(output_dir)
|
output_path = util.ensure_path(output_dir)
|
||||||
train_path = util.ensure_path(train_data)
|
train_path = util.ensure_path(train_data)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user