spaCy/spacy/__init__.py

44 lines
1.5 KiB
Python
Raw Normal View History

# coding: utf8
from __future__ import unicode_literals
from . import util
from .deprecated import resolve_model_name
2017-03-28 15:10:20 +03:00
from .cli.info import info
from .glossary import explain
2017-07-22 14:45:21 +03:00
from .about import __version__
2017-09-20 19:26:34 +03:00
from . import en, de, zh, es, it, hu, fr, pt, nl, sv, fi, bn, he, nb, ja,th
2017-03-18 21:30:03 +03:00
_languages = (en.English, de.German, es.Spanish, pt.Portuguese, fr.French,
it.Italian, hu.Hungarian, zh.Chinese, nl.Dutch, sv.Swedish,
2017-09-20 19:26:34 +03:00
fi.Finnish, bn.Bengali, he.Hebrew, nb.Norwegian, ja.Japanese,
th.Thai)
for _lang in _languages:
util.set_lang_class(_lang.lang, _lang)
2017-02-01 01:27:29 +03:00
2016-03-25 20:54:45 +03:00
2016-10-18 20:23:31 +03:00
def load(name, **overrides):
if overrides.get('path') in (None, False, True):
data_path = util.get_data_path()
model_name = resolve_model_name(name)
model_path = data_path / model_name
if not model_path.exists():
lang_name = util.get_lang_class(name).lang
model_path = None
util.print_msg(
"Only loading the '{}' tokenizer.".format(lang_name),
title="Warning: no model found for '{}'".format(name))
else:
model_path = util.ensure_path(overrides['path'])
data_path = model_path.parent
model_name = ''
meta = util.parse_package_meta(data_path, model_name, require=False)
2017-03-17 02:30:02 +03:00
lang = meta['lang'] if meta and 'lang' in meta else name
cls = util.get_lang_class(lang)
overrides['meta'] = meta
overrides['path'] = model_path
2017-04-27 12:14:26 +03:00
return cls(**overrides)