From 9957ed7897c15850fd24e03f9c9aef53a1e6ee54 Mon Sep 17 00:00:00 2001 From: Adriane Boyd Date: Thu, 14 Jan 2021 07:31:29 +0100 Subject: [PATCH 01/30] Override language defaults for null token and URL match (#6705) * Override language defaults for null token and URL match When the serialized `token_match` or `url_match` is `None`, override the language defaults to preserve `None` on deserialization. * Fix fixtures in tests --- spacy/tests/serialize/test_serialize_tokenizer.py | 12 ++++++++++++ spacy/tokenizer.pyx | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/spacy/tests/serialize/test_serialize_tokenizer.py b/spacy/tests/serialize/test_serialize_tokenizer.py index cbe119225..bd6b15dc4 100644 --- a/spacy/tests/serialize/test_serialize_tokenizer.py +++ b/spacy/tests/serialize/test_serialize_tokenizer.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import pytest +import re from spacy.util import get_lang_class from spacy.tokenizer import Tokenizer @@ -22,6 +23,17 @@ def test_serialize_custom_tokenizer(en_vocab, en_tokenizer): tokenizer_bytes = tokenizer.to_bytes() Tokenizer(en_vocab).from_bytes(tokenizer_bytes) + # test that empty/unset values are set correctly on deserialization + tokenizer = get_lang_class("en").Defaults.create_tokenizer() + tokenizer.token_match = re.compile("test").match + assert tokenizer.rules != {} + assert tokenizer.token_match is not None + assert tokenizer.url_match is not None + tokenizer.from_bytes(tokenizer_bytes) + assert tokenizer.rules == {} + assert tokenizer.token_match is None + assert tokenizer.url_match is None + tokenizer = Tokenizer(en_vocab, rules={"ABC.": [{"ORTH": "ABC"}, {"ORTH": "."}]}) tokenizer.rules = {} tokenizer_bytes = tokenizer.to_bytes() diff --git a/spacy/tokenizer.pyx b/spacy/tokenizer.pyx index 154a42c4f..bdc9e5f3d 100644 --- a/spacy/tokenizer.pyx +++ b/spacy/tokenizer.pyx @@ -608,10 +608,16 @@ cdef class Tokenizer: self.suffix_search = re.compile(data["suffix_search"]).search if "infix_finditer" in data and isinstance(data["infix_finditer"], basestring_): self.infix_finditer = re.compile(data["infix_finditer"]).finditer + # for token_match and url_match, set to None to override the language + # defaults if no regex is provided if "token_match" in data and isinstance(data["token_match"], basestring_): self.token_match = re.compile(data["token_match"]).match + else: + self.token_match = None if "url_match" in data and isinstance(data["url_match"], basestring_): self.url_match = re.compile(data["url_match"]).match + else: + self.url_match = None if "rules" in data and isinstance(data["rules"], dict): # make sure to hard reset the cache to remove data from the default exceptions self._rules = {} From e649242927b7284d435844ca4ee84479f55ba705 Mon Sep 17 00:00:00 2001 From: Adriane Boyd Date: Thu, 14 Jan 2021 07:33:31 +0100 Subject: [PATCH 02/30] Prevent overlapping noun chunks for Spanish (#6712) * Prevent overlapping noun chunks in Spanish noun chunk iterator * Clean up similar code in Danish noun chunk iterator --- spacy/lang/da/syntax_iterators.py | 7 ------- spacy/lang/es/syntax_iterators.py | 14 +++++--------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/spacy/lang/da/syntax_iterators.py b/spacy/lang/da/syntax_iterators.py index c6b944193..f2bc3ee9b 100644 --- a/spacy/lang/da/syntax_iterators.py +++ b/spacy/lang/da/syntax_iterators.py @@ -9,12 +9,6 @@ def noun_chunks(doclike): def is_verb_token(tok): return tok.pos in [VERB, AUX] - def next_token(tok): - try: - return tok.nbor() - except IndexError: - return None - def get_left_bound(doc, root): left_bound = root for tok in reversed(list(root.lefts)): @@ -67,7 +61,6 @@ def noun_chunks(doclike): np_right_deps = [doc.vocab.strings.add(label) for label in right_labels] stop_deps = [doc.vocab.strings.add(label) for label in stop_labels] - chunks = [] prev_right = -1 for token in doclike: if token.pos in [PROPN, NOUN, PRON]: diff --git a/spacy/lang/es/syntax_iterators.py b/spacy/lang/es/syntax_iterators.py index d4572b682..d67eef2d6 100644 --- a/spacy/lang/es/syntax_iterators.py +++ b/spacy/lang/es/syntax_iterators.py @@ -20,27 +20,23 @@ def noun_chunks(doclike): np_left_deps = [doc.vocab.strings.add(label) for label in left_labels] np_right_deps = [doc.vocab.strings.add(label) for label in right_labels] stop_deps = [doc.vocab.strings.add(label) for label in stop_labels] + + prev_right = -1 for token in doclike: if token.pos in [PROPN, NOUN, PRON]: left, right = noun_bounds( doc, token, np_left_deps, np_right_deps, stop_deps ) + if left.i <= prev_right: + continue yield left.i, right.i + 1, np_label - token = right - token = next_token(token) + prev_right = right.i def is_verb_token(token): return token.pos in [VERB, AUX] -def next_token(token): - try: - return token.nbor() - except IndexError: - return None - - def noun_bounds(doc, root, np_left_deps, np_right_deps, stop_deps): left_bound = root for token in reversed(list(root.lefts)): From 28256522c8a6311e6a20d66927ef2bd230755464 Mon Sep 17 00:00:00 2001 From: Santiago Castro Date: Sun, 17 Jan 2021 08:48:43 -0300 Subject: [PATCH 03/30] Fix `spacy.util.minibatch` when the size iterator is finished (#6745) --- spacy/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spacy/util.py b/spacy/util.py index 95a9f087f..6cf87bcac 100644 --- a/spacy/util.py +++ b/spacy/util.py @@ -513,7 +513,7 @@ def minibatch(items, size=8): size_ = size items = iter(items) while True: - batch_size = next(size_) + batch_size = next(size_, 0) # StopIteration isn't handled in generators in Python >= 3.7. batch = list(itertools.islice(items, int(batch_size))) if len(batch) == 0: break From bc7d83d4be0742c01425529baa8aa356b7bc0c50 Mon Sep 17 00:00:00 2001 From: Adriane Boyd Date: Tue, 19 Jan 2021 00:38:11 +0100 Subject: [PATCH 04/30] Skip 0-length matches (#6759) Add hack to prevent matcher from returning 0-length matches. --- spacy/matcher/matcher.pyx | 3 ++- spacy/tests/matcher/test_matcher_api.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/spacy/matcher/matcher.pyx b/spacy/matcher/matcher.pyx index 644f7704b..a367dcc3a 100644 --- a/spacy/matcher/matcher.pyx +++ b/spacy/matcher/matcher.pyx @@ -313,7 +313,8 @@ cdef find_matches(TokenPatternC** patterns, int n, object doclike, int length, e # We need to deduplicate, because we could otherwise arrive at the same # match through two paths, e.g. .?.? matching 'a'. Are we matching the # first .?, or the second .? -- it doesn't matter, it's just one match. - if match not in seen: + # Skip 0-length matches. (TODO: fix algorithm) + if match not in seen and matches[i].length > 0: output.append(match) seen.add(match) return output diff --git a/spacy/tests/matcher/test_matcher_api.py b/spacy/tests/matcher/test_matcher_api.py index 236f25130..75ee255d4 100644 --- a/spacy/tests/matcher/test_matcher_api.py +++ b/spacy/tests/matcher/test_matcher_api.py @@ -493,3 +493,13 @@ def test_matcher_remove_zero_operator(en_vocab): assert "Rule" in matcher matcher.remove("Rule") assert "Rule" not in matcher + + +def test_matcher_no_zero_length(en_vocab): + doc = Doc(en_vocab, words=["a", "b"]) + doc[0].tag_ = "A" + doc[1].tag_ = "B" + doc.is_tagged = True + matcher = Matcher(en_vocab) + matcher.add("TEST", [[{"TAG": "C", "OP": "?"}]]) + assert len(matcher(doc)) == 0 From fdf8c77630b13758c1d49b335897084435e89e89 Mon Sep 17 00:00:00 2001 From: Sofie Van Landeghem Date: Thu, 21 Jan 2021 09:59:17 +0100 Subject: [PATCH 05/30] support IS_SENT_START in PhraseMatcher (#6771) * support IS_SENT_START in PhraseMatcher * add unit test and friendlier error * use IDS.get instead --- spacy/matcher/phrasematcher.pyx | 5 ++++- spacy/tests/matcher/test_phrase_matcher.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/spacy/matcher/phrasematcher.pyx b/spacy/matcher/phrasematcher.pyx index 00c3357f5..c1883869e 100644 --- a/spacy/matcher/phrasematcher.pyx +++ b/spacy/matcher/phrasematcher.pyx @@ -8,6 +8,7 @@ from preshed.maps cimport map_init, map_set, map_get, map_clear, map_iter import warnings +from ..attrs import IDS from ..attrs cimport ORTH, POS, TAG, DEP, LEMMA from ..structs cimport TokenC from ..tokens.token cimport Token @@ -58,9 +59,11 @@ cdef class PhraseMatcher: attr = attr.upper() if attr == "TEXT": attr = "ORTH" + if attr == "IS_SENT_START": + attr = "SENT_START" if attr not in TOKEN_PATTERN_SCHEMA["items"]["properties"]: raise ValueError(Errors.E152.format(attr=attr)) - self.attr = self.vocab.strings[attr] + self.attr = IDS.get(attr) def __len__(self): """Get the number of match IDs added to the matcher. diff --git a/spacy/tests/matcher/test_phrase_matcher.py b/spacy/tests/matcher/test_phrase_matcher.py index 60aa584ef..b523ee157 100644 --- a/spacy/tests/matcher/test_phrase_matcher.py +++ b/spacy/tests/matcher/test_phrase_matcher.py @@ -290,3 +290,8 @@ def test_phrase_matcher_pickle(en_vocab): # clunky way to vaguely check that callback is unpickled (vocab, docs, callbacks, attr) = matcher_unpickled.__reduce__()[1] assert isinstance(callbacks.get("TEST2"), Mock) + + +@pytest.mark.parametrize("attr", ["SENT_START", "IS_SENT_START"]) +def test_phrase_matcher_sent_start(en_vocab, attr): + matcher = PhraseMatcher(en_vocab, attr=attr) From 5ace559201c714ab89b3092b87d791e16973f31d Mon Sep 17 00:00:00 2001 From: Sofie Van Landeghem Date: Thu, 21 Jan 2021 16:18:46 +0100 Subject: [PATCH 06/30] ensure span.text works for an empty span (#6772) --- spacy/tests/regression/test_issue6755.py | 9 +++++++++ spacy/tokens/span.pyx | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 spacy/tests/regression/test_issue6755.py diff --git a/spacy/tests/regression/test_issue6755.py b/spacy/tests/regression/test_issue6755.py new file mode 100644 index 000000000..4c735b1ff --- /dev/null +++ b/spacy/tests/regression/test_issue6755.py @@ -0,0 +1,9 @@ +# coding: utf8 +from __future__ import unicode_literals + + +def test_issue6755(en_tokenizer): + doc = en_tokenizer("This is a magnificent sentence.") + span = doc[:0] + assert span.text_with_ws == "" + assert span.text == "" diff --git a/spacy/tokens/span.pyx b/spacy/tokens/span.pyx index cf0775bae..2ac8af9e4 100644 --- a/spacy/tokens/span.pyx +++ b/spacy/tokens/span.pyx @@ -500,7 +500,7 @@ cdef class Span: def text(self): """RETURNS (unicode): The original verbatim text of the span.""" text = self.text_with_ws - if self[-1].whitespace_: + if len(self) > 0 and self[-1].whitespace_: text = text[:-1] return text From 28d06ab860414e14b99fffc6d12d8928139a892c Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Fri, 22 Jan 2021 23:08:41 +0600 Subject: [PATCH 07/30] Add tokenizer_exceptions --- spacy/lang/ky/__init__.py | 31 +++++++++++++++ spacy/lang/ky/tokenizer_exceptions.py | 55 +++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 spacy/lang/ky/__init__.py create mode 100644 spacy/lang/ky/tokenizer_exceptions.py diff --git a/spacy/lang/ky/__init__.py b/spacy/lang/ky/__init__.py new file mode 100644 index 000000000..3655e6264 --- /dev/null +++ b/spacy/lang/ky/__init__.py @@ -0,0 +1,31 @@ +# coding: utf8 +from __future__ import unicode_literals + +from .lex_attrs import LEX_ATTRS +from .punctuation import TOKENIZER_INFIXES +from .stop_words import STOP_WORDS +from .tokenizer_exceptions import TOKENIZER_EXCEPTIONS +from ..tokenizer_exceptions import BASE_EXCEPTIONS +from ...attrs import LANG +from ...language import Language +from ...util import update_exc + + +class TatarDefaults(Language.Defaults): + lex_attr_getters = dict(Language.Defaults.lex_attr_getters) + lex_attr_getters[LANG] = lambda text: "tt" + + lex_attr_getters.update(LEX_ATTRS) + + tokenizer_exceptions = update_exc(BASE_EXCEPTIONS, TOKENIZER_EXCEPTIONS) + infixes = tuple(TOKENIZER_INFIXES) + + stop_words = STOP_WORDS + + +class Tatar(Language): + lang = "tt" + Defaults = TatarDefaults + + +__all__ = ["Tatar"] diff --git a/spacy/lang/ky/tokenizer_exceptions.py b/spacy/lang/ky/tokenizer_exceptions.py new file mode 100644 index 000000000..be5e9530c --- /dev/null +++ b/spacy/lang/ky/tokenizer_exceptions.py @@ -0,0 +1,55 @@ +# coding: utf8 +from __future__ import unicode_literals + +from ...symbols import ORTH, LEMMA, NORM + +_exc = {} + +_abbrev_exc = [ + # Weekdays abbreviations + {ORTH: "дүй", LEMMA: "дүйшөмбү"}, + {ORTH: "шей", LEMMA: "шейшемби"}, + {ORTH: "шар", LEMMA: "шаршемби"}, + {ORTH: "бей", LEMMA: "бейшемби"}, + {ORTH: "жум", LEMMA: "жума"}, + {ORTH: "ишм", LEMMA: "ишемби"}, + {ORTH: "жек", LEMMA: "жекшемби"}, + # Months abbreviations + {ORTH: "янв", LEMMA: "январь"}, + {ORTH: "фев", LEMMA: "февраль"}, + {ORTH: "мар", LEMMA: "март"}, + {ORTH: "апр", LEMMA: "апрель"}, + {ORTH: "июн", LEMMA: "июнь"}, + {ORTH: "июл", LEMMA: "июль"}, + {ORTH: "авг", LEMMA: "август"}, + {ORTH: "сен", LEMMA: "сентябрь"}, + {ORTH: "окт", LEMMA: "октябрь"}, + {ORTH: "ноя", LEMMA: "ноябрь"}, + {ORTH: "дек", LEMMA: "декабрь"}, + # Number abbreviations + {ORTH: "млрд", LEMMA: "миллиард"}, + {ORTH: "млн", LEMMA: "миллион"}, +] + +for abbr in _abbrev_exc: + for orth in (abbr[ORTH], abbr[ORTH].capitalize(), abbr[ORTH].upper()): + _exc[orth] = [{ORTH: orth, LEMMA: abbr[LEMMA], NORM: abbr[LEMMA]}] + _exc[orth + "."] = [{ORTH: orth + ".", LEMMA: abbr[LEMMA], NORM: abbr[LEMMA]}] + +for exc_data in [ # "etc." abbreviations + {ORTH: "ж.б.у.с.", NORM: "жана башка ушул сыяктуу"}, + {ORTH: "ж.б.", NORM: "жана башка"}, + {ORTH: "ж.", NORM: "жыл"}, + {ORTH: "б.з.ч.", NORM: "биздин заманга чейин"}, + {ORTH: "б.з.", NORM: "биздин заман"}, + {ORTH: "кк.", NORM: "кылымдар"}, + {ORTH: "жж.", NORM: "жылдар"}, + {ORTH: "к.", NORM: "кылым"}, + {ORTH: "көч.", NORM: "көчөсү"}, + {ORTH: "м-н", NORM: "менен"}, + {ORTH: "б-ча", NORM: "боюнча"}, +]: + exc_data[LEMMA] = exc_data[NORM] + _exc[exc_data[ORTH]] = [exc_data] + +TOKENIZER_EXCEPTIONS = _exc From 101d265778633f5f4cbe15013ab8c5cc3c9f3789 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:25:28 +0600 Subject: [PATCH 08/30] Add stopwords --- spacy/lang/ky/stop_words.py | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 spacy/lang/ky/stop_words.py diff --git a/spacy/lang/ky/stop_words.py b/spacy/lang/ky/stop_words.py new file mode 100644 index 000000000..1f59539fe --- /dev/null +++ b/spacy/lang/ky/stop_words.py @@ -0,0 +1,47 @@ +# encoding: utf8 +from __future__ import unicode_literals + +# Tatar stopwords are from https://github.com/aliiae/stopwords-tt + +STOP_WORDS = set( +""" +ага адам айтты айтымында айтып ал алар +алардын алган алуу алып анда андан аны +анын ар + +бар басма баш башка башкы башчысы берген +биз билдирген билдирди бир биринчи бирок +бишкек болгон болот болсо болуп боюнча +буга бул + +гана + +да дагы деген деди деп + +жана жатат жаткан жаңы же жогорку жок жол +жолу + +кабыл калган кандай карата каршы катары +келген керек кийин кол кылмыш кыргыз +күнү көп + +маалымат мамлекеттик мен менен миң +мурдагы мыйзам мындай мүмкүн + +ошол ошондой + +сүрөт сөз + +тарабынан турган тууралуу + +укук учурда + +чейин чек + +экенин эки эл эле эмес эми эч + +үч үчүн + +өз +""".split() +) From 4418ec2eeedb0889968127ac4c0d9a1a0439723b Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:31:31 +0600 Subject: [PATCH 09/30] Add punctuation --- spacy/lang/ky/punctuation.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 spacy/lang/ky/punctuation.py diff --git a/spacy/lang/ky/punctuation.py b/spacy/lang/ky/punctuation.py new file mode 100644 index 000000000..9ee66a59e --- /dev/null +++ b/spacy/lang/ky/punctuation.py @@ -0,0 +1,23 @@ +# coding: utf8 +from __future__ import unicode_literals + +from ..char_classes import ALPHA, ALPHA_LOWER, ALPHA_UPPER, CONCAT_QUOTES, HYPHENS +from ..char_classes import LIST_ELLIPSES, LIST_ICONS + +_hyphens_no_dash = HYPHENS.replace("-", "").strip("|").replace("||", "") +_infixes = ( + LIST_ELLIPSES + + LIST_ICONS + + [ + r"(?<=[{al}])\.(?=[{au}])".format(al=ALPHA_LOWER, au=ALPHA_UPPER), + r"(?<=[{a}])[,!?/()]+(?=[{a}])".format(a=ALPHA), + r"(?<=[{a}{q}])[:<>=](?=[{a}])".format(a=ALPHA, q=CONCAT_QUOTES), + r"(?<=[{a}])--(?=[{a}])".format(a=ALPHA), + r"(?<=[{a}]),(?=[{a}])".format(a=ALPHA), + r"(?<=[{a}])([{q}\)\]\(\[])(?=[\-{a}])".format(a=ALPHA, q=CONCAT_QUOTES), + r"(?<=[{a}])(?:{h})(?=[{a}])".format(a=ALPHA, h=_hyphens_no_dash), + r"(?<=[0-9])-(?=[0-9])", + ] +) + +TOKENIZER_INFIXES = _infixes From d53724ba1d6a22b3f25fad118dce14e3495040e5 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:35:25 +0600 Subject: [PATCH 10/30] Add lex_attrs --- spacy/lang/ky/lex_attrs.py | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 spacy/lang/ky/lex_attrs.py diff --git a/spacy/lang/ky/lex_attrs.py b/spacy/lang/ky/lex_attrs.py new file mode 100644 index 000000000..af926b138 --- /dev/null +++ b/spacy/lang/ky/lex_attrs.py @@ -0,0 +1,51 @@ +# coding: utf8 +from __future__ import unicode_literals + +from ...attrs import LIKE_NUM + +_num_words = [ + "нөл", + "ноль", + "бир", + "эки", + "үч", + "төрт", + "беш", + "алты", + "жети", + "сегиз", + "тогуз", + "он", + "жыйырма", + "отуз", + "кырк", + "элүү", + "алтымыш", + "жетмиш", + "сексен", + "токсон", + "жүз", + "миң", + "миллион", + "миллиард", + "триллион", + "триллиард", +] + + +def like_num(text): + if text.startswith(("+", "-", "±", "~")): + text = text[1:] + text = text.replace(",", "").replace(".", "") + if text.isdigit(): + return True + if text.count("/") == 1: + num, denom = text.split("/") + if num.isdigit() and denom.isdigit(): + return True + if text in _num_words: + return True + return False + + +LEX_ATTRS = {LIKE_NUM: like_num} From 2f385385a95f9a6ce22dc8489a95fcd58b853fc2 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:36:28 +0600 Subject: [PATCH 11/30] Remove comment --- spacy/lang/ky/stop_words.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/spacy/lang/ky/stop_words.py b/spacy/lang/ky/stop_words.py index 1f59539fe..eede62767 100644 --- a/spacy/lang/ky/stop_words.py +++ b/spacy/lang/ky/stop_words.py @@ -1,8 +1,6 @@ # encoding: utf8 from __future__ import unicode_literals -# Tatar stopwords are from https://github.com/aliiae/stopwords-tt - STOP_WORDS = set( """ ага адам айтты айтымында айтып ал алар From e30bbf5432c86352c9ae0e7f9b5329ac6ba39620 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:49:08 +0600 Subject: [PATCH 12/30] Add examples --- spacy/lang/ky/examples.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 spacy/lang/ky/examples.py diff --git a/spacy/lang/ky/examples.py b/spacy/lang/ky/examples.py new file mode 100644 index 000000000..f1f31e3ab --- /dev/null +++ b/spacy/lang/ky/examples.py @@ -0,0 +1,19 @@ +# coding: utf8 +from __future__ import unicode_literals + +""" +Example sentences to test spaCy and its language models. +>>> from spacy.lang.ky.examples import sentences +>>> docs = nlp.pipe(sentences) +""" + +sentences = [ + "Apple Улуу Британия стартабын $1 миллиардга сатып алууну көздөөдө.", + "Автоном автомобилдерди камсыздоо жоопкерчилиги өндүрүүчүлөргө артылды.", + "Сан-Франциско тротуар менен жүрүүчү робот-курьерлерге тыю салууну караштырууда.", + "Лондон - Улуу Британияда жайгашкан ири шаар.", + "Кайдасың?", + "Франциянын президенти ким?", + "Америка Кошмо Штаттарынын борбор калаасы кайсы шаар?", + "Барак Обама качан төрөлгөн?", +] From fe3b5b8ff596117d39a9143f8d076a601e8016db Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 21:53:41 +0600 Subject: [PATCH 13/30] Add kyrgyz to char_classes --- spacy/lang/char_classes.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/spacy/lang/char_classes.py b/spacy/lang/char_classes.py index 3fb0fb41e..d876d375a 100644 --- a/spacy/lang/char_classes.py +++ b/spacy/lang/char_classes.py @@ -207,6 +207,10 @@ _tatar_lower = r"әөүҗңһ" _tatar_upper = r"ӘӨҮҖҢҺ" _tatar = r"әөүҗңһӘӨҮҖҢҺ" +_kyrgyz_lower = r"өңү" +_kyrgyz_upper = r"ӨҢҮ" +_kyrgyz = r"өңүӨҢҮ" + _greek_lower = r"α-ωάέίόώήύ" _greek_upper = r"Α-ΩΆΈΊΌΏΉΎ" _greek = r"α-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎ" @@ -219,8 +223,8 @@ _macedonian_lower = r"ѓѕјљњќѐѝ" _macedonian_upper = r"ЃЅЈЉЊЌЀЍ" _macedonian = r"ѓѕјљњќѐѝЃЅЈЉЊЌЀЍ" -_upper = LATIN_UPPER + _russian_upper + _tatar_upper + _greek_upper + _ukrainian_upper + _macedonian_upper -_lower = LATIN_LOWER + _russian_lower + _tatar_lower + _greek_lower + _ukrainian_lower + _macedonian_lower +_upper = LATIN_UPPER + _russian_upper + _tatar_upper + _kyrgyz_upper + _greek_upper + _ukrainian_upper + _macedonian_upper +_lower = LATIN_LOWER + _russian_lower + _tatar_lower + _kyrgyz_lower + _greek_lower + _ukrainian_lower + _macedonian_lower _uncased = ( _ethiopic @@ -236,7 +240,7 @@ _uncased = ( + _cjk ) -ALPHA = group_chars(LATIN + _russian + _tatar + _greek + _ukrainian + _macedonian + _uncased) +ALPHA = group_chars(LATIN + _russian + _tatar + _kyrgyz + _greek + _ukrainian + _macedonian + _uncased) ALPHA_LOWER = group_chars(_lower + _uncased) ALPHA_UPPER = group_chars(_upper + _uncased) From 2a2646362be11ee9122328353d46f24277a6b1b5 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sat, 23 Jan 2021 22:00:50 +0600 Subject: [PATCH 14/30] Fix language subclass --- spacy/lang/ky/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spacy/lang/ky/__init__.py b/spacy/lang/ky/__init__.py index 3655e6264..4656cfeb9 100644 --- a/spacy/lang/ky/__init__.py +++ b/spacy/lang/ky/__init__.py @@ -11,9 +11,9 @@ from ...language import Language from ...util import update_exc -class TatarDefaults(Language.Defaults): +class KyrgyzDefaults(Language.Defaults): lex_attr_getters = dict(Language.Defaults.lex_attr_getters) - lex_attr_getters[LANG] = lambda text: "tt" + lex_attr_getters[LANG] = lambda text: "ky" lex_attr_getters.update(LEX_ATTRS) @@ -23,9 +23,9 @@ class TatarDefaults(Language.Defaults): stop_words = STOP_WORDS -class Tatar(Language): - lang = "tt" - Defaults = TatarDefaults +class Kyrgyz(Language): + lang = "ky" + Defaults = KyrgyzDefaults -__all__ = ["Tatar"] +__all__ = ["Kyrgyz"] From 53abf759ad035ad64d4cfb1f0ae3ced1a6e00522 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sun, 24 Jan 2021 20:54:22 +0600 Subject: [PATCH 15/30] Fix punctuation --- spacy/lang/ky/punctuation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/spacy/lang/ky/punctuation.py b/spacy/lang/ky/punctuation.py index 9ee66a59e..22c2061ca 100644 --- a/spacy/lang/ky/punctuation.py +++ b/spacy/lang/ky/punctuation.py @@ -16,6 +16,7 @@ _infixes = ( r"(?<=[{a}]),(?=[{a}])".format(a=ALPHA), r"(?<=[{a}])([{q}\)\]\(\[])(?=[\-{a}])".format(a=ALPHA, q=CONCAT_QUOTES), r"(?<=[{a}])(?:{h})(?=[{a}])".format(a=ALPHA, h=_hyphens_no_dash), + r"(?<=[0-9])-(?=[{a}])".format(a=ALPHA), r"(?<=[0-9])-(?=[0-9])", ] ) From 87168eb81f679ba17b7ddac9fb934b058c70a40c Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Sun, 24 Jan 2021 20:56:16 +0600 Subject: [PATCH 16/30] Add tests --- spacy/tests/conftest.py | 5 ++ spacy/tests/lang/ky/__init__.py | 0 spacy/tests/lang/ky/test_tokenizer.py | 91 +++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 spacy/tests/lang/ky/__init__.py create mode 100644 spacy/tests/lang/ky/test_tokenizer.py diff --git a/spacy/tests/conftest.py b/spacy/tests/conftest.py index 90a18925b..ad545bcfd 100644 --- a/spacy/tests/conftest.py +++ b/spacy/tests/conftest.py @@ -262,6 +262,11 @@ def tt_tokenizer(): return get_lang_class("tt").Defaults.create_tokenizer() +@pytest.fixture(scope="session") +def ky_tokenizer(): + return get_lang_class("ky").Defaults.create_tokenizer() + + @pytest.fixture(scope="session") def uk_tokenizer(): pytest.importorskip("pymorphy2") diff --git a/spacy/tests/lang/ky/__init__.py b/spacy/tests/lang/ky/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/spacy/tests/lang/ky/test_tokenizer.py b/spacy/tests/lang/ky/test_tokenizer.py new file mode 100644 index 000000000..99dab2b16 --- /dev/null +++ b/spacy/tests/lang/ky/test_tokenizer.py @@ -0,0 +1,91 @@ +# coding: utf8 +from __future__ import unicode_literals + +import pytest + + +INFIX_HYPHEN_TESTS = [ + ("Бала-чака жакшыбы?", "Бала-чака жакшыбы ?".split()), + ("Кыз-келиндер кийими.", "Кыз-келиндер кийими .".split()), +] + +PUNC_INSIDE_WORDS_TESTS = [ + ( + "Пассажир саны - 2,13 млн — киши/күнүнө (2010), 783,9 млн. киши/жылына.", + "Пассажир саны - 2,13 млн — киши / күнүнө ( 2010 ) ," + " 783,9 млн. киши / жылына .".split(), + ), + ('То"кой', 'То " кой'.split()), +] + +MIXED_ORDINAL_NUMS_TESTS = [ + ("Эртең 22-январь...", "Эртең 22 - январь ...".split()) +] + +ABBREV_TESTS = [ + ("Маселе б-ча эртең келет", "Маселе б-ча эртең келет".split()), + ("Ахунбаев көч. турат.", "Ахунбаев көч. турат .".split()), + ("«3-жылы (б.з.ч.) туулган", "« 3 - жылы ( б.з.ч. ) туулган".split()), + ("Жүгөрү ж.б. дандар колдонулат", "Жүгөрү ж.б. дандар колдонулат".split()), + ("3-4 кк. курулган.", "3 - 4 кк. курулган .".split()), +] + +NAME_ABBREV_TESTS = [ + ("М.Жумаш", "М.Жумаш".split()), + ("М.жумаш", "М.жумаш".split()), + ("м.Жумаш", "м . Жумаш".split()), + ("Жумаш М.Н.", "Жумаш М.Н.".split()), + ("Жумаш.", "Жумаш .".split()), +] + +TYPOS_IN_PUNC_TESTS = [ + ("«3-жылда , туулган", "« 3 - жылда , туулган".split()), + ("«3-жылда,туулган", "« 3 - жылда , туулган".split()), + ("«3-жылда,туулган.", "« 3 - жылда , туулган .".split()), + ("Ал иштейт(качан?)", "Ал иштейт ( качан ? )".split()), + ("Ал (качан?)иштейт", "Ал ( качан ?) иштейт".split()), # "?)" => "?)" or "? )" +] + +LONG_TEXTS_TESTS = [ + ( + "Алыскы өлкөлөргө аздыр-көптүр татаалыраак жүрүштөргө чыккандар " + "азыраак: ал бир топ кымбат жана логистика маселесинин айынан " + "кыйла татаал. Мисалы, январдагы майрамдарда Мароккого үчүнчү " + "категориядагы маршрутка (100 чакырымдан кем эмес) барып " + "келгенге аракет кылдык.", + "Алыскы өлкөлөргө аздыр-көптүр татаалыраак жүрүштөргө чыккандар " + "азыраак : ал бир топ кымбат жана логистика маселесинин айынан " + "кыйла татаал . Мисалы , январдагы майрамдарда Мароккого үчүнчү " + "категориядагы маршрутка ( 100 чакырымдан кем эмес ) барып " + "келгенге аракет кылдык .".split(), + ) +] + +TESTCASES = ( + INFIX_HYPHEN_TESTS + + PUNC_INSIDE_WORDS_TESTS + + MIXED_ORDINAL_NUMS_TESTS + + ABBREV_TESTS + + NAME_ABBREV_TESTS + + LONG_TEXTS_TESTS + + TYPOS_IN_PUNC_TESTS +) + +NORM_TESTCASES = [ + ( + "ит, мышык ж.б.у.с. үй жаныбарлары.", + ["ит", ",", "мышык", "жана башка ушул сыяктуу", "үй", "жаныбарлары", "."], + ) +] + + +@pytest.mark.parametrize("text,expected_tokens", TESTCASES) +def test_ky_tokenizer_handles_testcases(ky_tokenizer, text, expected_tokens): + tokens = [token.text for token in ky_tokenizer(text) if not token.is_space] + assert expected_tokens == tokens + + +@pytest.mark.parametrize("text,norms", NORM_TESTCASES) +def test_ky_tokenizer_handles_norm_exceptions(ky_tokenizer, text, norms): + tokens = ky_tokenizer(text) + assert [token.norm_ for token in tokens] == norms From 79327197d133b106d2f524d172705842043c9f0a Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Mon, 25 Jan 2021 00:34:12 +0600 Subject: [PATCH 17/30] Add contributor agreement --- .github/contributors/jumasheff.md | 106 ++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .github/contributors/jumasheff.md diff --git a/.github/contributors/jumasheff.md b/.github/contributors/jumasheff.md new file mode 100644 index 000000000..1ce6d2341 --- /dev/null +++ b/.github/contributors/jumasheff.md @@ -0,0 +1,106 @@ +# spaCy contributor agreement + +This spaCy Contributor Agreement (**"SCA"**) is based on the +[Oracle Contributor Agreement](http://www.oracle.com/technetwork/oca-405177.pdf). +The SCA applies to any contribution that you make to any product or project +managed by us (the **"project"**), and sets out the intellectual property rights +you grant to us in the contributed materials. The term **"us"** shall mean +[ExplosionAI GmbH](https://explosion.ai/legal). The term +**"you"** shall mean the person or entity identified below. + +If you agree to be bound by these terms, fill in the information requested +below and include the filled-in version with your first pull request, under the +folder [`.github/contributors/`](/.github/contributors/). The name of the file +should be your GitHub username, with the extension `.md`. For example, the user +example_user would create the file `.github/contributors/example_user.md`. + +Read this agreement carefully before signing. These terms and conditions +constitute a binding legal agreement. + +## Contributor Agreement + +1. The term "contribution" or "contributed materials" means any source code, +object code, patch, tool, sample, graphic, specification, manual, +documentation, or any other material posted or submitted by you to the project. + +2. With respect to any worldwide copyrights, or copyright applications and +registrations, in your contribution: + + * you hereby assign to us joint ownership, and to the extent that such + assignment is or becomes invalid, ineffective or unenforceable, you hereby + grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, + royalty-free, unrestricted license to exercise all rights under those + copyrights. This includes, at our option, the right to sublicense these same + rights to third parties through multiple levels of sublicensees or other + licensing arrangements; + + * you agree that each of us can do all things in relation to your + contribution as if each of us were the sole owners, and if one of us makes + a derivative work of your contribution, the one who makes the derivative + work (or has it made will be the sole owner of that derivative work; + + * you agree that you will not assert any moral rights in your contribution + against us, our licensees or transferees; + + * you agree that we may register a copyright in your contribution and + exercise all ownership rights associated with it; and + + * you agree that neither of us has any duty to consult with, obtain the + consent of, pay or render an accounting to the other for any use or + distribution of your contribution. + +3. With respect to any patents you own, or that you can license without payment +to any third party, you hereby grant to us a perpetual, irrevocable, +non-exclusive, worldwide, no-charge, royalty-free license to: + + * make, have made, use, sell, offer to sell, import, and otherwise transfer + your contribution in whole or in part, alone or in combination with or + included in any product, work or materials arising out of the project to + which your contribution was submitted, and + + * at our option, to sublicense these same rights to third parties through + multiple levels of sublicensees or other licensing arrangements. + +4. Except as set out above, you keep all right, title, and interest in your +contribution. The rights that you grant to us under these terms are effective +on the date you first submitted a contribution to us, even if your submission +took place before the date you sign these terms. + +5. You covenant, represent, warrant and agree that: + + * Each contribution that you submit is and shall be an original work of + authorship and you can legally grant the rights set out in this SCA; + + * to the best of your knowledge, each contribution will not violate any + third party's copyrights, trademarks, patents, or other intellectual + property rights; and + + * each contribution shall be in compliance with U.S. export control laws and + other applicable export and import laws. You agree to notify us if you + become aware of any circumstance which would make any of the foregoing + representations inaccurate in any respect. We may publicly disclose your + participation in the project, including the fact that you have signed the SCA. + +6. This SCA is governed by the laws of the State of California and applicable +U.S. Federal law. Any choice of law rules will not apply. + +7. Please place an “x” on one of the applicable statement below. Please do NOT +mark both statements: + + * [x] I am signing on behalf of myself as an individual and no other person + or entity, including my employer, has or will have rights with respect to my + contributions. + + * [ ] I am signing on behalf of my employer or a legal entity and I have the + actual authority to contractually bind that entity. + +## Contributor Details + +| Field | Entry | +|------------------------------- | -------------------- | +| Name | Murat Jumashev | +| Company name (if applicable) | | +| Title or role (if applicable) | | +| Date | 25.01.2021 | +| GitHub username | jumasheff | +| Website (optional) | | From 7d0154a36e180a6ff01059d57b62d186f2fd4458 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Mon, 25 Jan 2021 00:42:04 +0600 Subject: [PATCH 18/30] Added language meta data --- website/meta/languages.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/meta/languages.json b/website/meta/languages.json index 4975a1a1e..02a8eb123 100644 --- a/website/meta/languages.json +++ b/website/meta/languages.json @@ -151,6 +151,12 @@ { "code": "fa", "name": "Persian", "has_examples": true }, { "code": "ur", "name": "Urdu", "example": "یہ ایک جملہ ہے", "has_examples": true }, { "code": "tt", "name": "Tatar", "has_examples": true }, + { + "code": "ky", + "name": "Kyrgyz", + "example": "Адамга эң кыйыны — күн сайын адам болуу", + "has_examples": true + }, { "code": "te", "name": "Telugu", "example": "ఇది ఒక వాక్యం.", "has_examples": true }, { "code": "si", "name": "Sinhala", "example": "මෙය වාක්‍යයකි.", "has_examples": true }, { "code": "ga", "name": "Irish" }, From 2b19ebad59c37f97a374b8ea7eec127889ef4709 Mon Sep 17 00:00:00 2001 From: muratjumashev Date: Mon, 25 Jan 2021 00:46:45 +0600 Subject: [PATCH 19/30] Remove Kyrgyz chars fr. char_classes since Tatar ones already cover --- spacy/lang/char_classes.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/spacy/lang/char_classes.py b/spacy/lang/char_classes.py index d876d375a..3fb0fb41e 100644 --- a/spacy/lang/char_classes.py +++ b/spacy/lang/char_classes.py @@ -207,10 +207,6 @@ _tatar_lower = r"әөүҗңһ" _tatar_upper = r"ӘӨҮҖҢҺ" _tatar = r"әөүҗңһӘӨҮҖҢҺ" -_kyrgyz_lower = r"өңү" -_kyrgyz_upper = r"ӨҢҮ" -_kyrgyz = r"өңүӨҢҮ" - _greek_lower = r"α-ωάέίόώήύ" _greek_upper = r"Α-ΩΆΈΊΌΏΉΎ" _greek = r"α-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎ" @@ -223,8 +219,8 @@ _macedonian_lower = r"ѓѕјљњќѐѝ" _macedonian_upper = r"ЃЅЈЉЊЌЀЍ" _macedonian = r"ѓѕјљњќѐѝЃЅЈЉЊЌЀЍ" -_upper = LATIN_UPPER + _russian_upper + _tatar_upper + _kyrgyz_upper + _greek_upper + _ukrainian_upper + _macedonian_upper -_lower = LATIN_LOWER + _russian_lower + _tatar_lower + _kyrgyz_lower + _greek_lower + _ukrainian_lower + _macedonian_lower +_upper = LATIN_UPPER + _russian_upper + _tatar_upper + _greek_upper + _ukrainian_upper + _macedonian_upper +_lower = LATIN_LOWER + _russian_lower + _tatar_lower + _greek_lower + _ukrainian_lower + _macedonian_lower _uncased = ( _ethiopic @@ -240,7 +236,7 @@ _uncased = ( + _cjk ) -ALPHA = group_chars(LATIN + _russian + _tatar + _kyrgyz + _greek + _ukrainian + _macedonian + _uncased) +ALPHA = group_chars(LATIN + _russian + _tatar + _greek + _ukrainian + _macedonian + _uncased) ALPHA_LOWER = group_chars(_lower + _uncased) ALPHA_UPPER = group_chars(_upper + _uncased) From 1f2b0ec168289189a7b4d1e07bf364457c0744f3 Mon Sep 17 00:00:00 2001 From: jganseman <555345+jganseman@users.noreply.github.com> Date: Tue, 26 Jan 2021 10:53:39 +0100 Subject: [PATCH 20/30] proposing a more concise explanation for is_oov proposing a more concise explanation for is_oov --- website/docs/api/token.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/api/token.md b/website/docs/api/token.md index 9f8594c96..2b5d779e3 100644 --- a/website/docs/api/token.md +++ b/website/docs/api/token.md @@ -459,7 +459,7 @@ The L2 norm of the token's vector representation. | `like_url` | bool | Does the token resemble a URL? | | `like_num` | bool | Does the token represent a number? e.g. "10.9", "10", "ten", etc. | | `like_email` | bool | Does the token resemble an email address? | -| `is_oov` | bool | Does the token have a word vector? | +| `is_oov` | bool | Is the token out-of-vocabulary (i.e. does it not have a word vector?) | | `is_stop` | bool | Is the token part of a "stop list"? | | `pos` | int | Coarse-grained part-of-speech from the [Universal POS tag set](https://universaldependencies.org/docs/u/pos/). | | `pos_` | unicode | Coarse-grained part-of-speech from the [Universal POS tag set](https://universaldependencies.org/docs/u/pos/). | From c9103d60fa9aa551cb383ac43acf42e39c70af03 Mon Sep 17 00:00:00 2001 From: jganseman <555345+jganseman@users.noreply.github.com> Date: Tue, 26 Jan 2021 11:02:31 +0100 Subject: [PATCH 21/30] Create jganseman.md --- .github/contributors/jganseman.md | 106 ++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .github/contributors/jganseman.md diff --git a/.github/contributors/jganseman.md b/.github/contributors/jganseman.md new file mode 100644 index 000000000..dc25bee1c --- /dev/null +++ b/.github/contributors/jganseman.md @@ -0,0 +1,106 @@ +# spaCy contributor agreement + +This spaCy Contributor Agreement (**"SCA"**) is based on the +[Oracle Contributor Agreement](http://www.oracle.com/technetwork/oca-405177.pdf). +The SCA applies to any contribution that you make to any product or project +managed by us (the **"project"**), and sets out the intellectual property rights +you grant to us in the contributed materials. The term **"us"** shall mean +[ExplosionAI GmbH](https://explosion.ai/legal). The term +**"you"** shall mean the person or entity identified below. + +If you agree to be bound by these terms, fill in the information requested +below and include the filled-in version with your first pull request, under the +folder [`.github/contributors/`](/.github/contributors/). The name of the file +should be your GitHub username, with the extension `.md`. For example, the user +example_user would create the file `.github/contributors/example_user.md`. + +Read this agreement carefully before signing. These terms and conditions +constitute a binding legal agreement. + +## Contributor Agreement + +1. The term "contribution" or "contributed materials" means any source code, +object code, patch, tool, sample, graphic, specification, manual, +documentation, or any other material posted or submitted by you to the project. + +2. With respect to any worldwide copyrights, or copyright applications and +registrations, in your contribution: + + * you hereby assign to us joint ownership, and to the extent that such + assignment is or becomes invalid, ineffective or unenforceable, you hereby + grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, + royalty-free, unrestricted license to exercise all rights under those + copyrights. This includes, at our option, the right to sublicense these same + rights to third parties through multiple levels of sublicensees or other + licensing arrangements; + + * you agree that each of us can do all things in relation to your + contribution as if each of us were the sole owners, and if one of us makes + a derivative work of your contribution, the one who makes the derivative + work (or has it made will be the sole owner of that derivative work; + + * you agree that you will not assert any moral rights in your contribution + against us, our licensees or transferees; + + * you agree that we may register a copyright in your contribution and + exercise all ownership rights associated with it; and + + * you agree that neither of us has any duty to consult with, obtain the + consent of, pay or render an accounting to the other for any use or + distribution of your contribution. + +3. With respect to any patents you own, or that you can license without payment +to any third party, you hereby grant to us a perpetual, irrevocable, +non-exclusive, worldwide, no-charge, royalty-free license to: + + * make, have made, use, sell, offer to sell, import, and otherwise transfer + your contribution in whole or in part, alone or in combination with or + included in any product, work or materials arising out of the project to + which your contribution was submitted, and + + * at our option, to sublicense these same rights to third parties through + multiple levels of sublicensees or other licensing arrangements. + +4. Except as set out above, you keep all right, title, and interest in your +contribution. The rights that you grant to us under these terms are effective +on the date you first submitted a contribution to us, even if your submission +took place before the date you sign these terms. + +5. You covenant, represent, warrant and agree that: + + * Each contribution that you submit is and shall be an original work of + authorship and you can legally grant the rights set out in this SCA; + + * to the best of your knowledge, each contribution will not violate any + third party's copyrights, trademarks, patents, or other intellectual + property rights; and + + * each contribution shall be in compliance with U.S. export control laws and + other applicable export and import laws. You agree to notify us if you + become aware of any circumstance which would make any of the foregoing + representations inaccurate in any respect. We may publicly disclose your + participation in the project, including the fact that you have signed the SCA. + +6. This SCA is governed by the laws of the State of California and applicable +U.S. Federal law. Any choice of law rules will not apply. + +7. Please place an “x” on one of the applicable statement below. Please do NOT +mark both statements: + + * [x] I am signing on behalf of myself as an individual and no other person + or entity, including my employer, has or will have rights with respect to my + contributions. + + * [ ] I am signing on behalf of my employer or a legal entity and I have the + actual authority to contractually bind that entity. + +## Contributor Details + +| Field | Entry | +|------------------------------- | -------------------- | +| Name | Joachim Ganseman | +| Company name (if applicable) | | +| Title or role (if applicable) | | +| Date | 26/01/2021 | +| GitHub username | jganseman | +| Website (optional) | www.ganseman.be | From 8bc57ec37205842af77cbd8b1d40c380d992a6a8 Mon Sep 17 00:00:00 2001 From: jganseman <555345+jganseman@users.noreply.github.com> Date: Tue, 26 Jan 2021 11:09:16 +0100 Subject: [PATCH 22/30] also update is_oov in lexeme docs --- website/docs/api/lexeme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/api/lexeme.md b/website/docs/api/lexeme.md index f7f6d654c..f36ba1871 100644 --- a/website/docs/api/lexeme.md +++ b/website/docs/api/lexeme.md @@ -156,7 +156,7 @@ The L2 norm of the lexeme's vector representation. | `like_url` | bool | Does the lexeme resemble a URL? | | `like_num` | bool | Does the lexeme represent a number? e.g. "10.9", "10", "ten", etc. | | `like_email` | bool | Does the lexeme resemble an email address? | -| `is_oov` | bool | Does the lexeme have a word vector? | +| `is_oov` | bool | Is the lexeme out-of-vocabulary (i.e. Does it not have a word vector?) | | `is_stop` | bool | Is the lexeme part of a "stop list"? | | `lang` | int | Language of the parent vocabulary. | | `lang_` | unicode | Language of the parent vocabulary. | From 4096a79de74f3edd2ce4499f7b4e7ea2d2ba47dc Mon Sep 17 00:00:00 2001 From: Adriane Boyd Date: Wed, 27 Jan 2021 13:40:42 +0100 Subject: [PATCH 23/30] Add alignment mode error and fix Doc.char_span docs (#6820) * Raise an error on an unrecognized alignment mode rather than defaulting to `strict` * Fix the `Doc.char_span` API doc alignment mode details --- spacy/errors.py | 1 + spacy/tests/doc/test_span.py | 6 ++++++ spacy/tokens/doc.pyx | 5 +++-- website/docs/api/doc.md | 18 +++++++++--------- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/spacy/errors.py b/spacy/errors.py index 7f9164694..9a6123b1f 100644 --- a/spacy/errors.py +++ b/spacy/errors.py @@ -591,6 +591,7 @@ class Errors(object): E200 = ("Specifying a base model with a pretrained component '{component}' " "can not be combined with adding a pretrained Tok2Vec layer.") E201 = ("Span index out of range.") + E202 = ("Unsupported alignment mode '{mode}'. Supported modes: {modes}.") @add_codes diff --git a/spacy/tests/doc/test_span.py b/spacy/tests/doc/test_span.py index df41aedf5..a5da50fbd 100644 --- a/spacy/tests/doc/test_span.py +++ b/spacy/tests/doc/test_span.py @@ -197,6 +197,12 @@ def test_spans_by_character(doc): assert span1.end_char == span2.end_char assert span2.label_ == "GPE" + # unsupported alignment mode + with pytest.raises(ValueError): + span2 = doc.char_span( + span1.start_char + 1, span1.end_char, label="GPE", alignment_mode="unk" + ) + def test_span_to_array(doc): span = doc[1:-2] diff --git a/spacy/tokens/doc.pyx b/spacy/tokens/doc.pyx index aa8d1cc19..584f9d483 100644 --- a/spacy/tokens/doc.pyx +++ b/spacy/tokens/doc.pyx @@ -379,8 +379,9 @@ cdef class Doc: label = self.vocab.strings.add(label) if not isinstance(kb_id, int): kb_id = self.vocab.strings.add(kb_id) - if alignment_mode not in ("strict", "contract", "expand"): - alignment_mode = "strict" + alignment_modes = ("strict", "contract", "expand") + if alignment_mode not in alignment_modes: + raise ValueError(Errors.E202.format(mode=alignment_mode, modes=", ".join(alignment_modes))) cdef int start = token_by_char(self.c, self.length, start_idx) if start < 0 or (alignment_mode == "strict" and start_idx != self[start].idx): return None diff --git a/website/docs/api/doc.md b/website/docs/api/doc.md index 93f63e582..077e6a13a 100644 --- a/website/docs/api/doc.md +++ b/website/docs/api/doc.md @@ -199,15 +199,15 @@ Create a `Span` object from the slice `doc.text[start_idx:end_idx]`. Returns > assert span.text == "New York" > ``` -| Name | Type | Description | -| ------------------------------------ | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `start_idx` | int | The index of the first character of the span. | -| `end_idx` | int | The index of the last character after the span. | -| `label` | uint64 / unicode | A label to attach to the span, e.g. for named entities. | -| `kb_id` 2.2 | uint64 / unicode | An ID from a knowledge base to capture the meaning of a named entity. | -| `vector` | `numpy.ndarray[ndim=1, dtype='float32']` | A meaning representation of the span. | -| `alignment_mode` | `str` | How character indices snap to token boundaries. Options: "strict" (no snapping), "inside" (span of all tokens completely within the character span), "outside" (span of all tokens at least partially covered by the character span). Defaults to "strict". | -| **RETURNS** | `Span` | The newly constructed object or `None`. | +| Name | Type | Description | +| ------------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `start_idx` | int | The index of the first character of the span. | +| `end_idx` | int | The index of the last character after the span. | +| `label` | uint64 / unicode | A label to attach to the span, e.g. for named entities. | +| `kb_id` 2.2 | uint64 / unicode | An ID from a knowledge base to capture the meaning of a named entity. | +| `vector` | `numpy.ndarray[ndim=1, dtype='float32']` | A meaning representation of the span. | +| `alignment_mode` | `str` | How character indices snap to token boundaries. Options: "strict" (no snapping), "contract" (span of all tokens completely within the character span), "expand" (span of all tokens at least partially covered by the character span). Defaults to "strict". | +| **RETURNS** | `Span` | The newly constructed object or `None`. | ## Doc.similarity {#similarity tag="method" model="vectors"} From 41ee75ac6dba87a6ea97dc4539fe1308a158c309 Mon Sep 17 00:00:00 2001 From: Pamphile ROY Date: Fri, 29 Jan 2021 15:37:44 +0100 Subject: [PATCH 24/30] Remove --no-cache-dir when downloading models When `--no-cache-dir` is present, it prevents caching to properly function. If the user still wants to do this, there is the possibility to pass options with `user_pip_args`. But you should not enforce options like these. In my case this is preventing some docker build (using buildkit caching) to have proper caching of models. --- spacy/cli/download.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spacy/cli/download.py b/spacy/cli/download.py index 19f3e7860..85aaf3e5b 100644 --- a/spacy/cli/download.py +++ b/spacy/cli/download.py @@ -128,8 +128,6 @@ def get_version(model, comp): def download_model(filename, user_pip_args=None): download_url = about.__download_url__ + "/" + filename - pip_args = ["--no-cache-dir"] - if user_pip_args: - pip_args.extend(user_pip_args) + pip_args = user_pip_args if user_pip_args is not None else [] cmd = [sys.executable, "-m", "pip", "install"] + pip_args + [download_url] return subprocess.call(cmd, env=os.environ.copy()) From e496b8623f4808024c21730b8067a0ac4cbac841 Mon Sep 17 00:00:00 2001 From: Pamphile ROY Date: Fri, 29 Jan 2021 15:46:53 +0100 Subject: [PATCH 25/30] SCA tupui --- .github/contributors/tupui.md | 106 ++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .github/contributors/tupui.md diff --git a/.github/contributors/tupui.md b/.github/contributors/tupui.md new file mode 100644 index 000000000..5f53a72f8 --- /dev/null +++ b/.github/contributors/tupui.md @@ -0,0 +1,106 @@ +# spaCy contributor agreement + +This spaCy Contributor Agreement (**"SCA"**) is based on the +[Oracle Contributor Agreement](http://www.oracle.com/technetwork/oca-405177.pdf). +The SCA applies to any contribution that you make to any product or project +managed by us (the **"project"**), and sets out the intellectual property rights +you grant to us in the contributed materials. The term **"us"** shall mean +[ExplosionAI GmbH](https://explosion.ai/legal). The term +**"you"** shall mean the person or entity identified below. + +If you agree to be bound by these terms, fill in the information requested +below and include the filled-in version with your first pull request, under the +folder [`.github/contributors/`](/.github/contributors/). The name of the file +should be your GitHub username, with the extension `.md`. For example, the user +example_user would create the file `.github/contributors/example_user.md`. + +Read this agreement carefully before signing. These terms and conditions +constitute a binding legal agreement. + +## Contributor Agreement + +1. The term "contribution" or "contributed materials" means any source code, +object code, patch, tool, sample, graphic, specification, manual, +documentation, or any other material posted or submitted by you to the project. + +2. With respect to any worldwide copyrights, or copyright applications and +registrations, in your contribution: + + * you hereby assign to us joint ownership, and to the extent that such + assignment is or becomes invalid, ineffective or unenforceable, you hereby + grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, + royalty-free, unrestricted license to exercise all rights under those + copyrights. This includes, at our option, the right to sublicense these same + rights to third parties through multiple levels of sublicensees or other + licensing arrangements; + + * you agree that each of us can do all things in relation to your + contribution as if each of us were the sole owners, and if one of us makes + a derivative work of your contribution, the one who makes the derivative + work (or has it made will be the sole owner of that derivative work; + + * you agree that you will not assert any moral rights in your contribution + against us, our licensees or transferees; + + * you agree that we may register a copyright in your contribution and + exercise all ownership rights associated with it; and + + * you agree that neither of us has any duty to consult with, obtain the + consent of, pay or render an accounting to the other for any use or + distribution of your contribution. + +3. With respect to any patents you own, or that you can license without payment +to any third party, you hereby grant to us a perpetual, irrevocable, +non-exclusive, worldwide, no-charge, royalty-free license to: + + * make, have made, use, sell, offer to sell, import, and otherwise transfer + your contribution in whole or in part, alone or in combination with or + included in any product, work or materials arising out of the project to + which your contribution was submitted, and + + * at our option, to sublicense these same rights to third parties through + multiple levels of sublicensees or other licensing arrangements. + +4. Except as set out above, you keep all right, title, and interest in your +contribution. The rights that you grant to us under these terms are effective +on the date you first submitted a contribution to us, even if your submission +took place before the date you sign these terms. + +5. You covenant, represent, warrant and agree that: + + * Each contribution that you submit is and shall be an original work of + authorship and you can legally grant the rights set out in this SCA; + + * to the best of your knowledge, each contribution will not violate any + third party's copyrights, trademarks, patents, or other intellectual + property rights; and + + * each contribution shall be in compliance with U.S. export control laws and + other applicable export and import laws. You agree to notify us if you + become aware of any circumstance which would make any of the foregoing + representations inaccurate in any respect. We may publicly disclose your + participation in the project, including the fact that you have signed the SCA. + +6. This SCA is governed by the laws of the State of California and applicable +U.S. Federal law. Any choice of law rules will not apply. + +7. Please place an “x” on one of the applicable statement below. Please do NOT +mark both statements: + + * [x] I am signing on behalf of myself as an individual and no other person + or entity, including my employer, has or will have rights with respect to my + contributions. + + * [ ] I am signing on behalf of my employer or a legal entity and I have the + actual authority to contractually bind that entity. + +## Contributor Details + +| Field | Entry | +|------------------------------- | -------------------- | +| Name | Pamphile Roy | +| Company name (if applicable) | N/A | +| Title or role (if applicable) | N/A | +| Date | January 29th, 2021 | +| GitHub username | tupui | +| Website (optional) | N/A | From 8d293a4c4b63477d97ad024e80e4ab09db11129d Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 30 Jan 2021 18:27:31 +1100 Subject: [PATCH 26/30] Update website to support legacy state [ci skip] --- website/docs/usage/index.md | 7 - website/gatsby-config.js | 24 +- website/meta/site.json | 1 + website/package-lock.json | 678 ++++++++++-------- website/package.json | 2 + website/src/components/landing.js | 12 +- website/src/components/main.js | 8 +- website/src/components/seo.js | 16 +- website/src/images/icon_legacy.png | Bin 0 -> 12059 bytes website/src/images/pattern_landing_legacy.jpg | Bin 0 -> 88239 bytes website/src/images/pattern_legacy.jpg | Bin 0 -> 108939 bytes website/src/images/social_legacy.jpg | Bin 0 -> 203440 bytes website/src/styles/alert.module.sass | 3 + website/src/styles/layout.sass | 11 + website/src/templates/docs.js | 5 +- website/src/templates/index.js | 20 +- website/src/templates/universe.js | 7 +- website/src/widgets/landing.js | 3 +- 18 files changed, 484 insertions(+), 313 deletions(-) create mode 100644 website/src/images/icon_legacy.png create mode 100644 website/src/images/pattern_landing_legacy.jpg create mode 100644 website/src/images/pattern_legacy.jpg create mode 100644 website/src/images/social_legacy.jpg diff --git a/website/docs/usage/index.md b/website/docs/usage/index.md index e5a37ad6c..41630e41c 100644 --- a/website/docs/usage/index.md +++ b/website/docs/usage/index.md @@ -13,13 +13,6 @@ spaCy is compatible with **64-bit CPython 2.7 / 3.5+** and runs on available over [pip](https://pypi.python.org/pypi/spacy) and [conda](https://anaconda.org/conda-forge/spacy). -> #### 📖 Looking for the old docs? -> -> To help you make the transition from v1.x to v2.0, we've uploaded the old -> website to [**legacy.spacy.io**](https://legacy.spacy.io/docs). Wherever -> possible, the new docs also include notes on features that have changed in -> v2.0, and features that were introduced in the new version. - ## Quickstart {hidden="true"} import QuickstartInstall from 'widgets/quickstart-install.js' diff --git a/website/gatsby-config.js b/website/gatsby-config.js index 5a7272238..562ed144e 100644 --- a/website/gatsby-config.js +++ b/website/gatsby-config.js @@ -14,10 +14,12 @@ const models = require('./meta/languages.json') const universe = require('./meta/universe.json') const DEFAULT_TEMPLATE = path.resolve('./src/templates/index.js') +const legacy = site.legacy || !!+process.env.SPACY_LEGACY module.exports = { siteMetadata: { ...site, + legacy, ...logos, sidebars, ...models, @@ -127,7 +129,7 @@ module.exports = { background_color: site.theme, theme_color: site.theme, display: `minimal-ui`, - icon: `src/images/icon.png`, + icon: legacy ? `src/images/icon.png` : `src/images/icon_legacy.png`, }, }, { @@ -136,6 +138,26 @@ module.exports = { domain: site.domain, }, }, + { + resolve: 'gatsby-plugin-robots-txt', + options: { + host: site.siteUrl, + sitemap: `${site.siteUrl}/sitemap.xml`, + // If we're in a special state prevent indexing + resolveEnv: () => (legacy ? 'development' : 'production'), + env: { + production: { + policy: [{ userAgent: '*', allow: '/' }], + }, + development: { + policy: [ + { userAgent: '*', disallow: ['/'] }, + { userAgent: 'Twitterbot', allow: '/' }, + ], + }, + }, + }, + }, `gatsby-plugin-offline`, ], } diff --git a/website/meta/site.json b/website/meta/site.json index 987099cba..d3c596fa6 100644 --- a/website/meta/site.json +++ b/website/meta/site.json @@ -4,6 +4,7 @@ "slogan": "Industrial-strength Natural Language Processing in Python", "siteUrl": "https://spacy.io", "domain": "spacy.io", + "legacy": false, "email": "contact@explosion.ai", "company": "Explosion AI", "companyUrl": "https://explosion.ai", diff --git a/website/package-lock.json b/website/package-lock.json index 8fdcd8ea7..27a4920ee 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -3437,6 +3437,11 @@ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==" + }, "@types/mkdirp": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", @@ -3479,6 +3484,11 @@ } } }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -4500,6 +4510,11 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -8700,16 +8715,6 @@ "logalot": "^2.1.0" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -8729,9 +8734,9 @@ "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==" }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { "ms": "^2.1.1" } @@ -8741,6 +8746,15 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + } + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -10178,6 +10192,11 @@ "regenerator-runtime": "^0.13.4" } }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" + }, "emoji-regex": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.0.tgz", @@ -13091,6 +13110,30 @@ "svg-react-loader": "^0.4.4" } }, + "gatsby-plugin-robots-txt": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.5.5.tgz", + "integrity": "sha512-wLIep04R0cnY+3t9uFVFitA/eLbI6o8xkrUPg6gVxnas/LtzMe5tUiMK5P+idC14B0ohY1y2zl2hP+Bu54/dHQ==", + "requires": { + "@babel/runtime": "^7.11.2", + "generate-robotstxt": "^8.0.3" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + } + } + }, "gatsby-plugin-sass": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-2.0.10.tgz", @@ -14758,6 +14801,234 @@ "globule": "^1.0.0" } }, + "generate-robotstxt": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/generate-robotstxt/-/generate-robotstxt-8.0.3.tgz", + "integrity": "sha512-iD//oAVKcHOCz9M0IiT3pyUiF2uN1qvL3qaTA8RGLz7NU7l0XVwyzd3rN+tzhB657DNUgrygXt9w8+0zkTMFrg==", + "requires": { + "cosmiconfig": "^6.0.0", + "fs-extra": "^9.0.0", + "ip-regex": "^4.1.0", + "is-absolute-url": "^3.0.3", + "meow": "^7.0.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "map-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", + "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==" + }, + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "trim-newlines": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==" + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -15371,6 +15642,11 @@ } } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -18345,6 +18621,23 @@ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, "minipass": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", @@ -19611,6 +19904,13 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + } } }, "param-case": { @@ -22129,9 +22429,14 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==" }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, "ramda": { "version": "0.21.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "resolved": "http://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=" }, "randombytes": { @@ -24586,6 +24891,11 @@ "kind-of": "^3.2.0" }, "dependencies": { + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -24594,11 +24904,6 @@ "is-buffer": "^1.1.5" } }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" - }, "p-cancelable": { "version": "0.4.1", "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", @@ -24659,6 +24964,13 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } } }, "iconv-lite": { @@ -24715,11 +25027,24 @@ "ms": "^2.1.1" } }, + "electron-to-chromium": { + "version": "1.3.113", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", + "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==" + }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "requires": { + "semver": "^5.3.0" + } + }, "socket.io-parser": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", @@ -24749,19 +25074,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } - }, - "electron-to-chromium": { - "version": "1.3.113", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", - "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==" - }, - "node-releases": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", - "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", - "requires": { - "semver": "^5.3.0" - } } } }, @@ -25352,6 +25664,11 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -25359,11 +25676,6 @@ "requires": { "ansi-regex": "^3.0.0" } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -25704,7 +26016,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "loader-utils": { @@ -25896,6 +26208,15 @@ "tar-stream": "^1.1.2" }, "dependencies": { + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "requires": { + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", @@ -25905,16 +26226,6 @@ "once": "^1.3.1" } }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -25930,209 +26241,6 @@ } } }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" - }, - "csso": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", - "requires": { - "css-tree": "1.0.0-alpha.29" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - } - } - } - }, - "csstype": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.0.tgz", - "integrity": "sha512-by8hi8BlLbowQq0qtkx54d9aN73R9oUW20HISpka5kmgsR9F7nnxgfsemuR2sdCKZh+CDNf5egW9UZMm4mgJRg==" - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cwebp-bin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cwebp-bin/-/cwebp-bin-5.0.0.tgz", - "integrity": "sha512-7//DAQG0yFr+YGrQ0of50sPlPm+8mIRv1TGxXtlOeq1S0Y56iY2lHlX/aLz+AOTWH/2YVNthNtH97pxRl7q33A==", - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.1", - "logalot": "^2.1.0" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" - }, - "damerau-levenshtein": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", - "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, "tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", @@ -26322,6 +26430,11 @@ "rimraf": "^3.0.0" }, "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -26329,11 +26442,6 @@ "requires": { "glob": "^7.1.3" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -28273,6 +28381,20 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "requires": { + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -28291,21 +28413,6 @@ "ansi-regex": "^5.0.0" } }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -28508,6 +28615,20 @@ "number-is-nan": "^1.0.0" } }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "requires": { + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, "string-width": { "version": "1.0.2", "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -28518,21 +28639,6 @@ "strip-ansi": "^3.0.0" } }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", diff --git a/website/package.json b/website/package.json index 4bf28c5cf..882483c17 100644 --- a/website/package.json +++ b/website/package.json @@ -25,6 +25,7 @@ "gatsby-plugin-plausible": "0.0.6", "gatsby-plugin-react-helmet": "^3.0.6", "gatsby-plugin-react-svg": "^2.1.2", + "gatsby-plugin-robots-txt": "^1.5.5", "gatsby-plugin-sass": "^2.0.10", "gatsby-plugin-sharp": "^2.0.20", "gatsby-plugin-sitemap": "^2.0.5", @@ -52,6 +53,7 @@ "scripts": { "build": "gatsby build", "dev": "gatsby develop", + "dev:legacy": "SPACY_LEGACY=1 npm run dev", "lint": "eslint **", "clear": "rm -rf .cache", "test": "echo \"Write tests! -> https://gatsby.app/unit-testing\"" diff --git a/website/src/components/landing.js b/website/src/components/landing.js index e1d60b15d..e3d283ae6 100644 --- a/website/src/components/landing.js +++ b/website/src/components/landing.js @@ -1,8 +1,10 @@ import React, { Fragment } from 'react' import classNames from 'classnames' -import pattern from '../images/pattern_blue.jpg' -import patternOverlay from '../images/pattern_landing.jpg' +import patternDefault from '../images/pattern_blue.jpg' +import overlayDefault from '../images/pattern_landing.jpg' +import patternLegacy from '../images/pattern_legacy.jpg' +import overlayLegacy from '../images/pattern_landing_legacy.jpg' import logoSvgs from '../images/logos' import Grid from './grid' @@ -14,9 +16,11 @@ import Link from './link' import { chunkArray } from './util' import classes from '../styles/landing.module.sass' -export const LandingHeader = ({ style = {}, children }) => { +export const LandingHeader = ({ style = {}, children, legacy }) => { + const pattern = legacy ? patternLegacy : patternDefault + const overlay = legacy ? overlayLegacy : overlayDefault const wrapperStyle = { backgroundImage: `url(${pattern})` } - const contentStyle = { backgroundImage: `url(${patternOverlay})`, ...style } + const contentStyle = { backgroundImage: `url(${overlay})`, ...style } return (
diff --git a/website/src/components/main.js b/website/src/components/main.js index 4131de570..bd2b11d6c 100644 --- a/website/src/components/main.js +++ b/website/src/components/main.js @@ -5,9 +5,15 @@ import classNames from 'classnames' import patternBlue from '../images/pattern_blue.jpg' import patternGreen from '../images/pattern_green.jpg' import patternPurple from '../images/pattern_purple.jpg' +import patternLegacy from '../images/pattern_legacy.jpg' import classes from '../styles/main.module.sass' -const patterns = { blue: patternBlue, green: patternGreen, purple: patternPurple } +const patterns = { + blue: patternBlue, + green: patternGreen, + purple: patternPurple, + legacy: patternLegacy, +} export const Content = ({ Component = 'div', className, children }) => ( {children} diff --git a/website/src/components/seo.js b/website/src/components/seo.js index 9aaee43fe..874f25958 100644 --- a/website/src/components/seo.js +++ b/website/src/components/seo.js @@ -6,10 +6,12 @@ import { StaticQuery, graphql } from 'gatsby' import socialImageDefault from '../images/social_default.jpg' import socialImageApi from '../images/social_api.jpg' import socialImageUniverse from '../images/social_universe.jpg' +import socialImageLegacy from '../images/social_legacy.jpg' -function getPageTitle(title, sitename, slogan, sectionTitle) { +function getPageTitle(title, sitename, slogan, sectionTitle, legacy) { if (sectionTitle && title) { - return `${title} · ${sitename} ${sectionTitle}` + const suffix = legacy ? ' (legacy)' : '' + return `${title} · ${sitename} ${sectionTitle}${suffix}` } if (title) { return `${title} · ${sitename}` @@ -17,7 +19,8 @@ function getPageTitle(title, sitename, slogan, sectionTitle) { return `${sitename} · ${slogan}` } -function getImage(section) { +function getImage(section, legacy) { + if (legacy) return socialImageLegacy if (section === 'api') return socialImageApi if (section === 'universe') return socialImageUniverse return socialImageDefault @@ -29,13 +32,15 @@ const SEO = ({ description, lang, title, section, sectionTitle, bodyClass }) => render={data => { const siteMetadata = data.site.siteMetadata const metaDescription = description || siteMetadata.description + const legacy = siteMetadata.legacy const pageTitle = getPageTitle( title, siteMetadata.title, siteMetadata.slogan, - sectionTitle + sectionTitle, + legacy ) - const socialImage = siteMetadata.siteUrl + getImage(section) + const socialImage = siteMetadata.siteUrl + getImage(section, legacy) const meta = [ { name: 'description', @@ -125,6 +130,7 @@ const query = graphql` site { siteMetadata { title + legacy description slogan siteUrl diff --git a/website/src/images/icon_legacy.png b/website/src/images/icon_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..860fcb560ca365223c5374efdd2b56100c04aaba GIT binary patch literal 12059 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 YiZ(R7qjso4HoXHX3Yzj?WG%w}2jc=EZ2$lO literal 0 HcmV?d00001 diff --git a/website/src/images/pattern_landing_legacy.jpg b/website/src/images/pattern_landing_legacy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..846b7b2c7028e8e6e72fe4fa1e5389b50402a467 GIT binary patch literal 88239 zcmeFXWmH_t);8KefZ!I~-6goY1qi|2-Q6`<c_5YxdhvNT|1Q|K0ijQr@1P(d-oGvZ-v99%0Du?wfA{@!{r`gj+{bfYPn{j%|Ah_9PyDX1y3- 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 Z-$lSXxHoWcA^`cI|3?q_|MXb+{{ZN(F=zk) literal 0 HcmV?d00001 diff --git a/website/src/images/pattern_legacy.jpg b/website/src/images/pattern_legacy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d2e112f4e6101f4f94e60b87ec3f8c75c92ac88 GIT binary patch literal 108939 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⪚dMrS+Vca-m_;}7p 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∋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 z

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 literal 0 HcmV?d00001 diff --git a/website/src/styles/alert.module.sass b/website/src/styles/alert.module.sass index d64c3287d..e2758ea63 100644 --- a/website/src/styles/alert.module.sass +++ b/website/src/styles/alert.module.sass @@ -8,6 +8,9 @@ font: var(--font-size-sm)/var(--line-height-md) var(--font-primary) text-align: center padding: 1rem + box-shadow: var(--box-shadow) + border-top: 2px solid + color: var(--color-theme) .warning --alert-bg: var(--color-yellow-light) diff --git a/website/src/styles/layout.sass b/website/src/styles/layout.sass index 13257554a..9a6d3848d 100644 --- a/website/src/styles/layout.sass +++ b/website/src/styles/layout.sass @@ -47,6 +47,11 @@ --color-theme-purple-light: hsla(255, 61%, 54%, 0.06) --color-theme-purple-opaque: hsla(255, 61%, 54%, 0.11) + --color-theme-legacy: #6f6f6f + --color-theme-legacy-dark: hsl(257, 0%, 35%) + --color-theme-legacy-light: hsla(257, 0%, 67%, 0.06) + --color-theme-legacy-opaque: hsla(257, 0%, 67%, 0.11) + // Regular colors --color-back: hsl(0, 0%, 100%) --color-front: hsl(213, 15%, 12%) @@ -106,6 +111,12 @@ --color-theme-light: var(--color-theme-purple-light) --color-theme-opaque: var(--color-theme-purple-opaque) +.theme-legacy + --color-theme: var(--color-theme-legacy) + --color-theme-dark: var(--color-theme-legacy-dark) + --color-theme-light: var(--color-theme-legacy-light) + --color-theme-opaque: var(--color-theme-legacy-opaque) + /* Fonts */ diff --git a/website/src/templates/docs.js b/website/src/templates/docs.js index 840dcbf1f..2065261f6 100644 --- a/website/src/templates/docs.js +++ b/website/src/templates/docs.js @@ -31,7 +31,7 @@ const Docs = ({ pageContext, children }) => ( theme, version, } = pageContext - const { sidebars = [], modelsRepo, languages } = site.siteMetadata + const { sidebars = [], modelsRepo, languages, legacy } = site.siteMetadata const isModels = section === 'models' const sidebar = pageContext.sidebar ? { items: pageContext.sidebar } @@ -83,7 +83,7 @@ const Docs = ({ pageContext, children }) => ( {sidebar && }
{ +const AlertSpace = ({ legacy }) => { const isOnline = useOnlineStatus() return ( <> @@ -84,6 +84,16 @@ const AlertSpace = () => { But don't worry, your visited pages should be saved for you. )} + {legacy && ( + + This page reflects an older version of spaCy, not the latest{' '} + stable release. + + )} ) } @@ -131,8 +141,9 @@ class Layout extends React.Component { const { file, site = {} } = data || {} const mdx = file ? file.childMdx : null const { title, section, sectionTitle, teaser, theme = 'blue', searchExclude } = pageContext - const bodyClass = classNames(`theme-${theme}`, { 'search-exclude': !!searchExclude }) const meta = site.siteMetadata || {} + const uiTheme = meta.legacy ? 'legacy' : theme + const bodyClass = classNames(`theme-${uiTheme}`, { 'search-exclude': !!searchExclude }) const isDocs = ['usage', 'models', 'api', 'styleguide'].includes(section) const content = !mdx ? null : ( @@ -149,12 +160,12 @@ class Layout extends React.Component { sectionTitle={sectionTitle} bodyClass={bodyClass} /> - + } + search={meta.legacy ? null : } > @@ -186,6 +197,7 @@ export const pageQuery = graphql` siteMetadata { title description + legacy navigation { text url diff --git a/website/src/templates/universe.js b/website/src/templates/universe.js index 4a4e13bec..8c484cdc6 100644 --- a/website/src/templates/universe.js +++ b/website/src/templates/universe.js @@ -30,8 +30,8 @@ function filterResources(resources, data) { return sorted.filter(res => (res.category || []).includes(data.id)) } -const UniverseContent = ({ content = [], categories, pageContext, location, mdxComponents }) => { - const { theme, data = {} } = pageContext +const UniverseContent = ({ content = [], categories, pageContext, mdxComponents, theme }) => { + const { data = {} } = pageContext const filteredResources = filterResources(content, data) const activeData = data ? content.find(({ id }) => id === data.id) : null const markdownComponents = { ...mdxComponents, code: InlineCode } @@ -304,6 +304,7 @@ const Universe = ({ pageContext, location, mdxComponents }) => ( render={data => { const content = data.site.siteMetadata.universe.resources const categories = data.site.siteMetadata.universe.categories + const theme = data.site.siteMetadata.legacy ? 'legacy' : pageContext.theme return ( ( pageContext={pageContext} location={location} mdxComponents={mdxComponents} + theme={theme} /> ) }} @@ -323,6 +325,7 @@ const query = graphql` query UniverseQuery { site { siteMetadata { + legacy universe { resources { type diff --git a/website/src/widgets/landing.js b/website/src/widgets/landing.js index 9cb40acfe..34faf4edd 100644 --- a/website/src/widgets/landing.js +++ b/website/src/widgets/landing.js @@ -69,7 +69,7 @@ const Landing = ({ data }) => { const counts = getCounts(data.languages) return ( <> - + Industrial-Strength
@@ -300,6 +300,7 @@ const landingQuery = graphql` query LandingQuery { site { siteMetadata { + legacy repo languages { models From 44dc987d8542e842b958bb5b9450f83e8e71933d Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 30 Jan 2021 18:27:55 +1100 Subject: [PATCH 27/30] Fix icon [ci skip] --- website/gatsby-config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/gatsby-config.js b/website/gatsby-config.js index 562ed144e..79bb71788 100644 --- a/website/gatsby-config.js +++ b/website/gatsby-config.js @@ -129,7 +129,7 @@ module.exports = { background_color: site.theme, theme_color: site.theme, display: `minimal-ui`, - icon: legacy ? `src/images/icon.png` : `src/images/icon_legacy.png`, + icon: legacy ? `src/images/icon_legacy.png` : `src/images/icon.png`, }, }, { From fba7550537bef00f95f3800ff631e5f90677e4c8 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 30 Jan 2021 19:57:14 +1100 Subject: [PATCH 28/30] Set to legacy [ci skip] --- website/meta/site.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/meta/site.json b/website/meta/site.json index d3c596fa6..5657a7d70 100644 --- a/website/meta/site.json +++ b/website/meta/site.json @@ -4,7 +4,7 @@ "slogan": "Industrial-strength Natural Language Processing in Python", "siteUrl": "https://spacy.io", "domain": "spacy.io", - "legacy": false, + "legacy": true, "email": "contact@explosion.ai", "company": "Explosion AI", "companyUrl": "https://explosion.ai", From 6daf2381fa09a83a49a491ebe2bebd417cf45be8 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 30 Jan 2021 20:18:01 +1100 Subject: [PATCH 29/30] Update meta [ci skip] --- website/meta/site.json | 8 ++++---- website/src/widgets/landing.js | 8 +++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/website/meta/site.json b/website/meta/site.json index 5657a7d70..3477bb2bb 100644 --- a/website/meta/site.json +++ b/website/meta/site.json @@ -2,8 +2,8 @@ "title": "spaCy", "description": "spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more.", "slogan": "Industrial-strength Natural Language Processing in Python", - "siteUrl": "https://spacy.io", - "domain": "spacy.io", + "siteUrl": "https://v2.spacy.io", + "domain": "v2.spacy.io", "legacy": true, "email": "contact@explosion.ai", "company": "Explosion AI", @@ -25,8 +25,8 @@ "indexName": "spacy" }, "binderUrl": "explosion/spacy-io-binder", - "binderBranch": "live", - "binderVersion": "2.3.0", + "binderBranch": "v2.spacy.io", + "binderVersion": "2.3.5", "sections": [ { "id": "usage", "title": "Usage Documentation", "theme": "blue" }, { "id": "models", "title": "Models Documentation", "theme": "blue" }, diff --git a/website/src/widgets/landing.js b/website/src/widgets/landing.js index 34faf4edd..c224b056c 100644 --- a/website/src/widgets/landing.js +++ b/website/src/widgets/landing.js @@ -150,12 +150,10 @@ const Landing = ({ data }) => { spaCy v3.0 features all new transformer-based pipelines that From c70e6ee72da59fac588b530cd5ad1295ea880b17 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Mon, 1 Feb 2021 11:48:35 +1100 Subject: [PATCH 30/30] Fix code branch for v2.x site [ci skip] --- website/docs/api/annotation.md | 6 +-- website/docs/api/cli.md | 16 +++---- website/docs/api/cython.md | 12 ++--- website/docs/api/goldcorpus.md | 2 +- website/docs/api/top-level.md | 28 +++++------ website/docs/usage/101/_language-data.md | 20 ++++---- website/docs/usage/adding-languages.md | 54 +++++++++++----------- website/docs/usage/examples.md | 50 ++++++++++---------- website/docs/usage/index.md | 8 ++-- website/docs/usage/linguistic-features.md | 8 ++-- website/docs/usage/models.md | 2 +- website/docs/usage/processing-pipelines.md | 4 +- website/docs/usage/rule-based-matching.md | 2 +- website/docs/usage/saving-loading.md | 2 +- website/docs/usage/spacy-101.md | 8 ++-- website/docs/usage/training.md | 16 +++---- website/docs/usage/v2-1.md | 2 +- website/docs/usage/v2-3.md | 33 +++++++------ website/docs/usage/v2.md | 2 +- website/meta/site.json | 3 +- website/src/components/util.js | 11 +++-- 21 files changed, 145 insertions(+), 144 deletions(-) diff --git a/website/docs/api/annotation.md b/website/docs/api/annotation.md index 3f2f4e36a..050ccefbd 100644 --- a/website/docs/api/annotation.md +++ b/website/docs/api/annotation.md @@ -250,7 +250,7 @@ POS tag set. For the label schemes used by the other models, see the respective `tag_map.py` -in [`spacy/lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang). +in [`spacy/lang`](https://github.com/explosion/spaCy/tree/v2.x/spacy/lang). @@ -564,7 +564,7 @@ Here's an example of dependencies, part-of-speech tags and names entities, taken from the English Wall Street Journal portion of the Penn Treebank: ```json -https://github.com/explosion/spaCy/tree/master/examples/training/training-data.json +https://github.com/explosion/spaCy/tree/v2.x/examples/training/training-data.json ``` ### Lexical data for vocabulary {#vocab-jsonl new="2"} @@ -619,5 +619,5 @@ data. Here's an example of the 20 most frequent lexemes in the English training data: ```json -https://github.com/explosion/spaCy/tree/master/examples/training/vocab-data.jsonl +https://github.com/explosion/spaCy/tree/v2.x/examples/training/vocab-data.jsonl ``` diff --git a/website/docs/api/cli.md b/website/docs/api/cli.md index 0d2ff36b8..0973a67ad 100644 --- a/website/docs/api/cli.md +++ b/website/docs/api/cli.md @@ -166,13 +166,13 @@ All output files generated by this command are compatible with ### Converter options -| ID | Description | -| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auto` | Automatically pick converter based on file extension and file content (default). | -| `conll`, `conllu`, `conllubio` | Universal Dependencies `.conllu` or `.conll` format. | -| `ner` | NER with IOB/IOB2 tags, one token per line with columns separated by whitespace. The first column is the token and the final column is the IOB tag. Sentences are separated by blank lines and documents are separated by the line `-DOCSTART- -X- O O`. Supports CoNLL 2003 NER format. See [sample data](https://github.com/explosion/spaCy/tree/master/examples/training/ner_example_data). | -| `iob` | NER with IOB/IOB2 tags, one sentence per line with tokens separated by whitespace and annotation separated by `|`, either `word|B-ENT` or `word|POS|B-ENT`. See [sample data](https://github.com/explosion/spaCy/tree/master/examples/training/ner_example_data). | -| `jsonl` | NER data formatted as JSONL with one dict per line and a `"text"` and `"spans"` key. This is also the format exported by the [Prodigy](https://prodi.gy) annotation tool. See [sample data](https://raw.githubusercontent.com/explosion/projects/master/ner-fashion-brands/fashion_brands_training.jsonl). | +| ID | Description | +| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auto` | Automatically pick converter based on file extension and file content (default). | +| `conll`, `conllu`, `conllubio` | Universal Dependencies `.conllu` or `.conll` format. | +| `ner` | NER with IOB/IOB2 tags, one token per line with columns separated by whitespace. The first column is the token and the final column is the IOB tag. Sentences are separated by blank lines and documents are separated by the line `-DOCSTART- -X- O O`. Supports CoNLL 2003 NER format. See [sample data](https://github.com/explosion/spaCy/tree/v2.x/examples/training/ner_example_data). | +| `iob` | NER with IOB/IOB2 tags, one sentence per line with tokens separated by whitespace and annotation separated by `|`, either `word|B-ENT` or `word|POS|B-ENT`. See [sample data](https://github.com/explosion/spaCy/tree/v2.x/examples/training/ner_example_data). | +| `jsonl` | NER data formatted as JSONL with one dict per line and a `"text"` and `"spans"` key. This is also the format exported by the [Prodigy](https://prodi.gy) annotation tool. See [sample data](https://raw.githubusercontent.com/explosion/projects/master/ner-fashion-brands/fashion_brands_training.jsonl). | ## Debug data {#debug-data new="2.2"} @@ -473,7 +473,7 @@ $ python -m spacy pretrain [texts_loc] [vectors_model] [output_dir] | `--use-chars`, `-chr` 2.2.2 | flag | Whether to use character-based embedding. | | `--sa-depth`, `-sa` 2.2.2 | option | Depth of self-attention layers. | | `--embed-rows`, `-er` | option | Number of embedding rows. | -| `--loss-func`, `-L` | option | Loss function to use for the objective. Either `"cosine"`, `"L2"` or `"characters"`. | +| `--loss-func`, `-L` | option | Loss function to use for the objective. Either `"cosine"`, `"L2"` or `"characters"`. | | `--dropout`, `-d` | option | Dropout rate. | | `--batch-size`, `-bs` | option | Number of words per training batch. | | `--max-length`, `-xw` | option | Maximum words per example. Longer examples are discarded. | diff --git a/website/docs/api/cython.md b/website/docs/api/cython.md index f91909747..1bcd56ea2 100644 --- a/website/docs/api/cython.md +++ b/website/docs/api/cython.md @@ -23,12 +23,12 @@ abruptly. With Cython there are four ways of declaring complex data types. Unfortunately we use all four in different places, as they all have different utility: -| Declaration | Description | Example | -| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `class` | A normal Python class. | [`Language`](/api/language) | -| `cdef class` | A Python extension type. Differs from a normal Python class in that its attributes can be defined on the underlying struct. Can have C-level objects as attributes (notably structs and pointers), and can have methods which have C-level objects as arguments or return types. | [`Lexeme`](/api/cython-classes#lexeme) | -| `cdef struct` | A struct is just a collection of variables, sort of like a named tuple, except the memory is contiguous. Structs can't have methods, only attributes. | [`LexemeC`](/api/cython-structs#lexemec) | -| `cdef cppclass` | A C++ class. Like a struct, this can be allocated on the stack, but can have methods, a constructor and a destructor. Differs from `cdef class` in that it can be created and destroyed without acquiring the Python global interpreter lock. This style is the most obscure. | [`StateC`](https://github.com/explosion/spaCy/tree/master/spacy/syntax/_state.pxd) | +| Declaration | Description | Example | +| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `class` | A normal Python class. | [`Language`](/api/language) | +| `cdef class` | A Python extension type. Differs from a normal Python class in that its attributes can be defined on the underlying struct. Can have C-level objects as attributes (notably structs and pointers), and can have methods which have C-level objects as arguments or return types. | [`Lexeme`](/api/cython-classes#lexeme) | +| `cdef struct` | A struct is just a collection of variables, sort of like a named tuple, except the memory is contiguous. Structs can't have methods, only attributes. | [`LexemeC`](/api/cython-structs#lexemec) | +| `cdef cppclass` | A C++ class. Like a struct, this can be allocated on the stack, but can have methods, a constructor and a destructor. Differs from `cdef class` in that it can be created and destroyed without acquiring the Python global interpreter lock. This style is the most obscure. | [`StateC`](https://github.com/explosion/spaCy/tree/v2.x/spacy/syntax/_state.pxd) | The most important classes in spaCy are defined as `cdef class` objects. The underlying data for these objects is usually gathered into a struct, which is diff --git a/website/docs/api/goldcorpus.md b/website/docs/api/goldcorpus.md index a18ef4d32..025928d69 100644 --- a/website/docs/api/goldcorpus.md +++ b/website/docs/api/goldcorpus.md @@ -14,7 +14,7 @@ Create a `GoldCorpus`. IF the input data is an iterable, each item should be a `(text, paragraphs)` tuple, where each paragraph is a tuple `(sentences, brackets)`, and each sentence is a tuple `(ids, words, tags, heads, ner)`. See the implementation of -[`gold.read_json_file`](https://github.com/explosion/spaCy/tree/master/spacy/gold.pyx) +[`gold.read_json_file`](https://github.com/explosion/spaCy/tree/v2.x/spacy/gold.pyx) for further details. | Name | Type | Description | diff --git a/website/docs/api/top-level.md b/website/docs/api/top-level.md index 217c51794..3dadb5c94 100644 --- a/website/docs/api/top-level.md +++ b/website/docs/api/top-level.md @@ -107,7 +107,7 @@ meta data as a dictionary instead, you can use the `meta` attribute on your Get a description for a given POS tag, dependency label or entity type. For a list of available terms, see -[`glossary.py`](https://github.com/explosion/spaCy/tree/master/spacy/glossary.py). +[`glossary.py`](https://github.com/explosion/spaCy/tree/v2.x/spacy/glossary.py). > #### Example > @@ -279,7 +279,7 @@ to add custom labels and their colors automatically. ## Utility functions {#util source="spacy/util.py"} spaCy comes with a small collection of utility functions located in -[`spacy/util.py`](https://github.com/explosion/spaCy/tree/master/spacy/util.py). +[`spacy/util.py`](https://github.com/explosion/spaCy/tree/v2.x/spacy/util.py). Because utility functions are mostly intended for **internal use within spaCy**, their behavior may change with future releases. The functions documented on this page should be safe to use and we'll try to ensure backwards compatibility. @@ -538,10 +538,10 @@ Compile a sequence of prefix rules into a regex object. > nlp.tokenizer.prefix_search = prefix_regex.search > ``` -| Name | Type | Description | -| ----------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `entries` | tuple | The prefix rules, e.g. [`lang.punctuation.TOKENIZER_PREFIXES`](https://github.com/explosion/spaCy/tree/master/spacy/lang/punctuation.py). | -| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.prefix_search`](/api/tokenizer#attributes). | +| Name | Type | Description | +| ----------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `entries` | tuple | The prefix rules, e.g. [`lang.punctuation.TOKENIZER_PREFIXES`](https://github.com/explosion/spaCy/tree/v2.x/spacy/lang/punctuation.py). | +| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.prefix_search`](/api/tokenizer#attributes). | ### util.compile_suffix_regex {#util.compile_suffix_regex tag="function"} @@ -555,10 +555,10 @@ Compile a sequence of suffix rules into a regex object. > nlp.tokenizer.suffix_search = suffix_regex.search > ``` -| Name | Type | Description | -| ----------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `entries` | tuple | The suffix rules, e.g. [`lang.punctuation.TOKENIZER_SUFFIXES`](https://github.com/explosion/spaCy/tree/master/spacy/lang/punctuation.py). | -| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.suffix_search`](/api/tokenizer#attributes). | +| Name | Type | Description | +| ----------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `entries` | tuple | The suffix rules, e.g. [`lang.punctuation.TOKENIZER_SUFFIXES`](https://github.com/explosion/spaCy/tree/v2.x/spacy/lang/punctuation.py). | +| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.suffix_search`](/api/tokenizer#attributes). | ### util.compile_infix_regex {#util.compile_infix_regex tag="function"} @@ -572,10 +572,10 @@ Compile a sequence of infix rules into a regex object. > nlp.tokenizer.infix_finditer = infix_regex.finditer > ``` -| Name | Type | Description | -| ----------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `entries` | tuple | The infix rules, e.g. [`lang.punctuation.TOKENIZER_INFIXES`](https://github.com/explosion/spaCy/tree/master/spacy/lang/punctuation.py). | -| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.infix_finditer`](/api/tokenizer#attributes). | +| Name | Type | Description | +| ----------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `entries` | tuple | The infix rules, e.g. [`lang.punctuation.TOKENIZER_INFIXES`](https://github.com/explosion/spaCy/tree/v2.x/spacy/lang/punctuation.py). | +| **RETURNS** | [regex](https://docs.python.org/3/library/re.html#re-objects) | The regex object. to be used for [`Tokenizer.infix_finditer`](/api/tokenizer#attributes). | ### util.minibatch {#util.minibatch tag="function" new="2"} diff --git a/website/docs/usage/101/_language-data.md b/website/docs/usage/101/_language-data.md index 31bfe53ab..93d82ee85 100644 --- a/website/docs/usage/101/_language-data.md +++ b/website/docs/usage/101/_language-data.md @@ -2,7 +2,7 @@ Every language is different – and usually full of **exceptions and special cases**, especially amongst the most common words. Some of these exceptions are shared across languages, while others are **entirely specific** – usually so specific that they need to be hard-coded. The -[`lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang) module +[`lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang) module contains all language-specific data, organized in simple Python files. This makes the data easy to update and extend. @@ -39,21 +39,21 @@ together all components and creating the `Language` subclass – for example, | **Lemmatizer**
[`spacy-lookups-data`][spacy-lookups-data] | Lemmatization rules or a lookup-based lemmatization table to assign base forms, for example "be" for "was". | [stop_words.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/en/stop_words.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/stop_words.py [tokenizer_exceptions.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/de/tokenizer_exceptions.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/de/tokenizer_exceptions.py [norm_exceptions.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/norm_exceptions.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/norm_exceptions.py [punctuation.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/punctuation.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/punctuation.py [char_classes.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/char_classes.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/char_classes.py [lex_attrs.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/en/lex_attrs.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/lex_attrs.py [syntax_iterators.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/en/syntax_iterators.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/syntax_iterators.py [tag_map.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/en/tag_map.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/tag_map.py [morph_rules.py]: - https://github.com/explosion/spaCy/tree/master/spacy/lang/en/morph_rules.py + https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/morph_rules.py [spacy-lookups-data]: https://github.com/explosion/spacy-lookups-data diff --git a/website/docs/usage/adding-languages.md b/website/docs/usage/adding-languages.md index 96ffafe06..3f63efcd3 100644 --- a/website/docs/usage/adding-languages.md +++ b/website/docs/usage/adding-languages.md @@ -15,8 +15,8 @@ the specific workflows for each component. > > To add a new language to spaCy, you'll need to **modify the library's code**. > The easiest way to do this is to clone the -> [repository](https://github.com/explosion/spaCy/tree/master/) and **build -> spaCy from source**. For more information on this, see the +> [repository](https://github.com/explosion/spacy/tree/v2.x/) and **build spaCy +> from source**. For more information on this, see the > [installation guide](/usage). Unlike spaCy's core, which is mostly written in > Cython, all language data is stored in regular Python files. This means that > you won't have to rebuild anything in between – you can simply make edits and @@ -88,7 +88,7 @@ language and training a language model. > #### Should I ever update the global data? > > Reusable language data is collected as atomic pieces in the root of the -> [`spacy.lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang) +> [`spacy.lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang) > module. Often, when a new language is added, you'll find a pattern or symbol > that's missing. Even if it isn't common in other languages, it might be best > to add it to the shared language data, unless it has some conflicting @@ -102,7 +102,7 @@ In order for the tokenizer to split suffixes, prefixes and infixes, spaCy needs to know the language's character set. If the language you're adding uses non-latin characters, you might need to define the required character classes in the global -[`char_classes.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/char_classes.py). +[`char_classes.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/char_classes.py). For efficiency, spaCy uses hard-coded unicode ranges to define character classes, the definitions of which can be found on [Wikipedia](https://en.wikipedia.org/wiki/Unicode_block). If the language @@ -120,7 +120,7 @@ code and resources specific to Spanish are placed into a directory `spacy/lang/es`, which can be imported as `spacy.lang.es`. To get started, you can check out the -[existing languages](https://github.com/explosion/spacy/tree/master/spacy/lang). +[existing languages](https://github.com/explosion/spacy/tree/v2.x/spacy/lang). Here's what the class could look like: ```python @@ -291,14 +291,14 @@ weren't common in the training data, but are equivalent to other words – for example, "realise" and "realize", or "thx" and "thanks". Similarly, spaCy also includes -[global base norms](https://github.com/explosion/spaCy/tree/master/spacy/lang/norm_exceptions.py) +[global base norms](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/norm_exceptions.py) for normalizing different styles of quotation marks and currency symbols. Even though `$` and `€` are very different, spaCy normalizes them both to `$`. This way, they'll always be seen as similar, no matter how common they were in the training data. -As of spaCy v2.3, language-specific norm exceptions are provided as a -JSON dictionary in the package +As of spaCy v2.3, language-specific norm exceptions are provided as a JSON +dictionary in the package [`spacy-lookups-data`](https://github.com/explosion/spacy-lookups-data) rather than in the main library. For a full example, see [`en_lexeme_norm.json`](https://github.com/explosion/spacy-lookups-data/blob/master/spacy_lookups_data/data/en_lexeme_norm.json). @@ -378,7 +378,7 @@ number words), requires some customization. > of possible number words). Here's an example from the English -[`lex_attrs.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/en/lex_attrs.py): +[`lex_attrs.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/lex_attrs.py): ```python ### lex_attrs.py @@ -430,17 +430,17 @@ iterators: > assert chunks[1].text == "another phrase" > ``` -| Language | Code | Source | -| ---------------- | ---- | ----------------------------------------------------------------------------------------------------------------- | -| English | `en` | [`lang/en/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/en/syntax_iterators.py) | -| German | `de` | [`lang/de/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/de/syntax_iterators.py) | -| French | `fr` | [`lang/fr/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/fr/syntax_iterators.py) | -| Spanish | `es` | [`lang/es/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/es/syntax_iterators.py) | -| Greek | `el` | [`lang/el/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/el/syntax_iterators.py) | -| Norwegian Bokmål | `nb` | [`lang/nb/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/nb/syntax_iterators.py) | -| Swedish | `sv` | [`lang/sv/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/sv/syntax_iterators.py) | -| Indonesian | `id` | [`lang/id/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/id/syntax_iterators.py) | -| Persian | `fa` | [`lang/fa/syntax_iterators.py`](https://github.com/explosion/spaCy/tree/master/spacy/lang/fa/syntax_iterators.py) | +| Language | Code | Source | +| ---------------- | ---- | --------------------------------------------------------------------------------------------------------------- | +| English | `en` | [`lang/en/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/en/syntax_iterators.py) | +| German | `de` | [`lang/de/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/de/syntax_iterators.py) | +| French | `fr` | [`lang/fr/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/fr/syntax_iterators.py) | +| Spanish | `es` | [`lang/es/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/es/syntax_iterators.py) | +| Greek | `el` | [`lang/el/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/el/syntax_iterators.py) | +| Norwegian Bokmål | `nb` | [`lang/nb/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/nb/syntax_iterators.py) | +| Swedish | `sv` | [`lang/sv/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/sv/syntax_iterators.py) | +| Indonesian | `id` | [`lang/id/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/id/syntax_iterators.py) | +| Persian | `fa` | [`lang/fa/syntax_iterators.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/fa/syntax_iterators.py) | ### Lemmatizer {#lemmatizer new="2"} @@ -561,7 +561,7 @@ be causing regressions. spaCy uses the [pytest framework](https://docs.pytest.org/en/latest/) for testing. For more details on how the tests are structured and best practices for writing your own tests, see our -[tests documentation](https://github.com/explosion/spaCy/tree/master/spacy/tests). +[tests documentation](https://github.com/explosion/spacy/tree/v2.x/spacy/tests). @@ -569,10 +569,10 @@ writing your own tests, see our It's recommended to always add at least some tests with examples specific to the language. Language tests should be located in -[`tests/lang`](https://github.com/explosion/spaCy/tree/master/spacy/tests/lang) -in a directory named after the language ID. You'll also need to create a fixture +[`tests/lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/tests/lang) in +a directory named after the language ID. You'll also need to create a fixture for your tokenizer in the -[`conftest.py`](https://github.com/explosion/spaCy/tree/master/spacy/tests/conftest.py). +[`conftest.py`](https://github.com/explosion/spacy/tree/v2.x/spacy/tests/conftest.py). Always use the [`get_lang_class`](/api/top-level#util.get_lang_class) helper function within the fixture, instead of importing the class at the top of the file. This will load the language data only when it's needed. (Otherwise, _all @@ -585,7 +585,7 @@ def en_tokenizer(): ``` When adding test cases, always -[`parametrize`](https://github.com/explosion/spaCy/tree/master/spacy/tests#parameters) +[`parametrize`](https://github.com/explosion/spacy/tree/v2.x/spacy/tests#parameters) them – this will make it easier for others to add more test cases without having to modify the test itself. You can also add parameter tuples, for example, a test sentence and its expected length, or a list of expected tokens. Here's an @@ -630,13 +630,13 @@ of using deep learning for NLP with limited labeled data. The vectors are also useful by themselves – they power the `.similarity` methods in spaCy. For best results, you should pre-process the text with spaCy before training the Word2vec model. This ensures your tokenization will match. You can use our -[word vectors training script](https://github.com/explosion/spacy/tree/master/bin/train_word_vectors.py), +[word vectors training script](https://github.com/explosion/spacy/tree/v2.x/bin/train_word_vectors.py), which pre-processes the text with your language-specific tokenizer and trains the model using [Gensim](https://radimrehurek.com/gensim/). The `vectors.bin` file should consist of one word and vector per line. ```python -https://github.com/explosion/spacy/tree/master/bin/train_word_vectors.py +https://github.com/explosion/spacy/tree/v2.x/bin/train_word_vectors.py ``` If you don't have a large sample of text available, you can also convert word diff --git a/website/docs/usage/examples.md b/website/docs/usage/examples.md index 854b2d42b..afffac9b3 100644 --- a/website/docs/usage/examples.md +++ b/website/docs/usage/examples.md @@ -17,7 +17,7 @@ This example shows how to use the new [`PhraseMatcher`](/api/phrasematcher) to efficiently find entities from a large terminology list. ```python -https://github.com/explosion/spaCy/tree/master/examples/information_extraction/phrase_matcher.py +https://github.com/explosion/spacy/tree/v2.x/examples/information_extraction/phrase_matcher.py ``` ### Extracting entity relations {#entity-relations} @@ -29,7 +29,7 @@ tree to find the noun phrase they are referring to – for example: `"$9.4 million"` → `"Net income"`. ```python -https://github.com/explosion/spaCy/tree/master/examples/information_extraction/entity_relations.py +https://github.com/explosion/spacy/tree/v2.x/examples/information_extraction/entity_relations.py ``` ### Navigating the parse tree and subtrees {#subtrees} @@ -38,7 +38,7 @@ This example shows how to navigate the parse tree including subtrees attached to a word. ```python -https://github.com/explosion/spaCy/tree/master/examples/information_extraction/parse_subtrees.py +https://github.com/explosion/spacy/tree/v2.x/examples/information_extraction/parse_subtrees.py ``` ## Pipeline {#pipeline hidden="true"} @@ -51,7 +51,7 @@ entities into one token and sets custom attributes on the `Doc`, `Span` and `Token`. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/custom_component_entities.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/custom_component_entities.py ``` ### Custom pipeline components and attribute extensions via a REST API {#custom-components-api new="2"} @@ -63,7 +63,7 @@ attributes on the `Doc`, `Span` and `Token` – for example, the capital, latitude/longitude coordinates and the country flag. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/custom_component_countries_api.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/custom_component_countries_api.py ``` ### Custom method extensions {#custom-components-attr-methods new="2"} @@ -72,7 +72,7 @@ A collection of snippets showing examples of extensions adding custom methods to the `Doc`, `Token` and `Span`. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/custom_attr_methods.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/custom_attr_methods.py ``` ### Multi-processing with Joblib {#multi-processing} @@ -85,7 +85,7 @@ IMDB movie reviews dataset and will be loaded automatically via Thinc's built-in dataset loader. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/multi_processing.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/multi_processing.py ``` ## Training {#training hidden="true"} @@ -93,11 +93,11 @@ https://github.com/explosion/spaCy/tree/master/examples/pipeline/multi_processin ### Training spaCy's Named Entity Recognizer {#training-ner} This example shows how to update spaCy's entity recognizer with your own -examples, starting off with an existing, pretrained model, or from scratch -using a blank `Language` class. +examples, starting off with an existing, pretrained model, or from scratch using +a blank `Language` class. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_ner.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_ner.py ``` ### Training an additional entity type {#new-entity-type} @@ -108,28 +108,28 @@ examples. In practice, you'll need many more — a few hundred would be a good start. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_new_entity_type.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_new_entity_type.py ``` ### Creating a Knowledge Base for Named Entity Linking {#kb} -This example shows how to create a knowledge base in spaCy, -which is needed to implement entity linking functionality. -It requires as input a spaCy model with pretrained word vectors, -and it stores the KB to file (if an `output_dir` is provided). +This example shows how to create a knowledge base in spaCy, which is needed to +implement entity linking functionality. It requires as input a spaCy model with +pretrained word vectors, and it stores the KB to file (if an `output_dir` is +provided). ```python -https://github.com/explosion/spaCy/tree/master/examples/training/create_kb.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/create_kb.py ``` ### Training spaCy's Named Entity Linker {#nel} This example shows how to train spaCy's entity linker with your own custom -examples, starting off with a predefined knowledge base and its vocab, -and using a blank `English` class. +examples, starting off with a predefined knowledge base and its vocab, and using +a blank `English` class. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_entity_linker.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_entity_linker.py ``` ### Training spaCy's Dependency Parser {#parser} @@ -138,7 +138,7 @@ This example shows how to update spaCy's dependency parser, starting off with an existing, pretrained model, or from scratch using a blank `Language` class. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_parser.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_parser.py ``` ### Training spaCy's Part-of-speech Tagger {#tagger} @@ -148,7 +148,7 @@ map, mapping our own tags to the mapping those tags to the [Universal Dependencies scheme](http://universaldependencies.github.io/docs/u/pos/index.html). ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_tagger.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_tagger.py ``` ### Training a custom parser for chat intent semantics {#intent-parser} @@ -162,7 +162,7 @@ following types of relations: `ROOT`, `PLACE`, `QUALITY`, `ATTRIBUTE`, `TIME` and `LOCATION`. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_intent_parser.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_intent_parser.py ``` ### Training spaCy's text classifier {#textcat new="2"} @@ -174,7 +174,7 @@ automatically via Thinc's built-in dataset loader. Predictions are available via [`Doc.cats`](/api/doc#attributes). ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_textcat.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_textcat.py ``` ## Vectors {#vectors hidden="true"} @@ -186,7 +186,7 @@ This script lets you load any spaCy model containing word vectors into [embedding visualization](https://github.com/tensorflow/tensorboard/blob/master/docs/tensorboard_projector_plugin.ipynb). ```python -https://github.com/explosion/spaCy/tree/master/examples/vectors_tensorboard.py +https://github.com/explosion/spacy/tree/v2.x/examples/vectors_tensorboard.py ``` ## Deep Learning {#deep-learning hidden="true"} @@ -203,5 +203,5 @@ documents so that they're a fixed size. This hurts review accuracy a lot, because people often summarize their rating in the final sentence. ```python -https://github.com/explosion/spaCy/tree/master/examples/deep_learning_keras.py +https://github.com/explosion/spacy/tree/v2.x/examples/deep_learning_keras.py ``` diff --git a/website/docs/usage/index.md b/website/docs/usage/index.md index 41630e41c..c5f078673 100644 --- a/website/docs/usage/index.md +++ b/website/docs/usage/index.md @@ -176,7 +176,7 @@ pip install -r requirements.txt ``` Compared to regular install via pip, the -[`requirements.txt`](https://github.com/explosion/spaCy/tree/master/requirements.txt) +[`requirements.txt`](https://github.com/explosion/spacy/tree/v2.x/requirements.txt) additionally installs developer dependencies such as Cython. See the the [quickstart widget](#quickstart) to get the right commands for your platform and Python version. @@ -243,14 +243,14 @@ source code and recompiling frequently. ### Run tests {#run-tests} spaCy comes with an -[extensive test suite](https://github.com/explosion/spaCy/tree/master/spacy/tests). +[extensive test suite](https://github.com/explosion/spacy/tree/v2.x/spacy/tests). In order to run the tests, you'll usually want to clone the -[repository](https://github.com/explosion/spaCy/tree/master/) and +[repository](https://github.com/explosion/spacy/tree/v2.x/) and [build spaCy from source](#source). This will also install the required development dependencies and test utilities defined in the `requirements.txt`. Alternatively, you can run `pytest` on the tests packaged with the install -`spacy package. Don't forget to also install the test utilities via spaCy's [`requirements.txt`](https://github.com/explosion/spaCy/tree/master/requirements.txt): +`spacy package. Don't forget to also install the test utilities via spaCy's [`requirements.txt`](https://github.com/explosion/spacy/tree/v2.x/requirements.txt): ```bash pip install -r requirements.txt diff --git a/website/docs/usage/linguistic-features.md b/website/docs/usage/linguistic-features.md index 53ea2dfa6..00ce09323 100644 --- a/website/docs/usage/linguistic-features.md +++ b/website/docs/usage/linguistic-features.md @@ -540,7 +540,7 @@ gold = GoldParse(doc, entities=["U-ANIMAL", "O", "O", "O"]) For more details on **training and updating** the named entity recognizer, see the usage guides on [training](/usage/training) or check out the runnable -[training script](https://github.com/explosion/spaCy/tree/master/examples/training/train_ner.py) +[training script](https://github.com/explosion/spacy/tree/v2.x/examples/training/train_ner.py) on GitHub. @@ -646,7 +646,7 @@ import Tokenization101 from 'usage/101/\_tokenization.md' **Global** and **language-specific** tokenizer data is supplied via the language data in -[`spacy/lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang). The +[`spacy/lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang). The tokenizer exceptions define special cases like "don't" in English, which needs to be split into two tokens: `{ORTH: "do"}` and `{ORTH: "n't", NORM: "not"}`. The prefixes, suffixes and infixes mostly define punctuation rules – for @@ -666,7 +666,7 @@ For more details on the language-specific data, see the usage guide on Tokenization rules that are specific to one language, but can be **generalized across that language** should ideally live in the language data in -[`spacy/lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang) – we +[`spacy/lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang) – we always appreciate pull requests! Anything that's specific to a domain or text type – like financial trading abbreviations, or Bavarian youth slang – should be added as a special case rule to your tokenizer instance. If you're dealing with @@ -843,7 +843,7 @@ domain. There are six things you may need to define: be split, overriding the infix rules. Useful for things like numbers. 6. An optional boolean function `url_match`, which is similar to `token_match` except that prefixes and suffixes are removed before applying the match. - + In spaCy v2.2.2-v2.2.4, the `token_match` was equivalent to the `url_match` diff --git a/website/docs/usage/models.md b/website/docs/usage/models.md index cc65dad68..8fe1906cd 100644 --- a/website/docs/usage/models.md +++ b/website/docs/usage/models.md @@ -78,7 +78,7 @@ As of v2.0, spaCy supports models trained on more than one language. This is especially useful for named entity recognition. The language ID used for multi-language or language-neutral models is `xx`. The language class, a generic subclass containing only the base language data, can be found in -[`lang/xx`](https://github.com/explosion/spaCy/tree/master/spacy/lang/xx). +[`lang/xx`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang/xx). To load your model with the neutral, multi-language class, simply set `"language": "xx"` in your [model package](/usage/training#models-generating)'s diff --git a/website/docs/usage/processing-pipelines.md b/website/docs/usage/processing-pipelines.md index b7b840999..ea3a20674 100644 --- a/website/docs/usage/processing-pipelines.md +++ b/website/docs/usage/processing-pipelines.md @@ -489,7 +489,7 @@ When you call `nlp` on a text, the custom pipeline component is applied to the `Doc`. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/custom_component_entities.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/custom_component_entities.py ``` Wrapping this functionality in a pipeline component allows you to reuse the @@ -650,7 +650,7 @@ attributes on the `Doc`, `Span` and `Token` – for example, the capital, latitude/longitude coordinates and even the country flag. ```python -https://github.com/explosion/spaCy/tree/master/examples/pipeline/custom_component_countries_api.py +https://github.com/explosion/spacy/tree/v2.x/examples/pipeline/custom_component_countries_api.py ``` In this case, all data can be fetched on initialization in one request. However, diff --git a/website/docs/usage/rule-based-matching.md b/website/docs/usage/rule-based-matching.md index e7729b383..8eaa19d95 100644 --- a/website/docs/usage/rule-based-matching.md +++ b/website/docs/usage/rule-based-matching.md @@ -193,7 +193,7 @@ computed properties can't be accessed. The uppercase attribute names like `LOWER` or `IS_PUNCT` refer to symbols from the -[`spacy.attrs`](https://github.com/explosion/spaCy/tree/master/spacy/attrs.pyx) +[`spacy.attrs`](https://github.com/explosion/spacy/tree/v2.x/spacy/attrs.pyx) enum table. They're passed into a function that essentially is a big case/switch statement, to figure out which struct field to return. The same attribute identifiers are used in [`Doc.to_array`](/api/doc#to_array), and a few other diff --git a/website/docs/usage/saving-loading.md b/website/docs/usage/saving-loading.md index 76a9773f6..c074b4ada 100644 --- a/website/docs/usage/saving-loading.md +++ b/website/docs/usage/saving-loading.md @@ -194,7 +194,7 @@ add to that data and saves and loads the data to and from a JSON file. > > To see custom serialization methods in action, check out the new > [`EntityRuler`](/api/entityruler) component and its -> [source](https://github.com/explosion/spaCy/tree/master/spacy/pipeline/entityruler.py). +> [source](https://github.com/explosion/spacy/tree/v2.x/spacy/pipeline/entityruler.py). > Patterns added to the component will be saved to a `.jsonl` file if the > pipeline is serialized to disk, and to a bytestring if the pipeline is > serialized to bytes. This allows saving out a model with a rule-based entity diff --git a/website/docs/usage/spacy-101.md b/website/docs/usage/spacy-101.md index 78ee127df..f724acd99 100644 --- a/website/docs/usage/spacy-101.md +++ b/website/docs/usage/spacy-101.md @@ -915,9 +915,9 @@ via the following platforms: questions** and everything related to problems with your specific code. The Stack Overflow community is much larger than ours, so if your problem can be solved by others, you'll receive help much quicker. -- [GitHub discussions](https://github.com/explosion/spaCy/discussions): **General - discussion**, **project ideas** and **usage questions**. Meet other community - members to get help with a specific code implementation, discuss ideas for new +- [GitHub discussions](https://github.com/explosion/spaCy/discussions): **General + discussion**, **project ideas** and **usage questions**. Meet other community + members to get help with a specific code implementation, discuss ideas for new projects/plugins, support more languages, and share best practices. - [GitHub issue tracker](https://github.com/explosion/spaCy/issues): **Bug reports** and **improvement suggestions**, i.e. everything that's likely @@ -959,7 +959,7 @@ regressions to the parts of the library that you care about the most. **For more details on the types of contributions we're looking for, the code conventions and other useful tips, make sure to check out the -[contributing guidelines](https://github.com/explosion/spaCy/tree/master/CONTRIBUTING.md).** +[contributing guidelines](https://github.com/explosion/spacy/tree/v2.x/CONTRIBUTING.md).** diff --git a/website/docs/usage/training.md b/website/docs/usage/training.md index 0be14df69..a820dc8c9 100644 --- a/website/docs/usage/training.md +++ b/website/docs/usage/training.md @@ -352,7 +352,7 @@ a blank `Language` class. To do this, you'll need **example texts** and the **character offsets** and **labels** of each entity contained in the texts. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_ner.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_ner.py ``` #### Step by step guide {#step-by-step-ner} @@ -384,7 +384,7 @@ entity recognizer over unlabelled sentences, and adding their annotations to the training set. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_new_entity_type.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_new_entity_type.py ``` @@ -426,7 +426,7 @@ the respective **heads** and **dependency label** for each token of the example texts. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_parser.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_parser.py ``` #### Step by step guide {#step-by-step-parser} @@ -460,7 +460,7 @@ those tags to the [Universal Dependencies scheme](http://universaldependencies.github.io/docs/u/pos/index.html). ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_tagger.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_tagger.py ``` #### Step by step guide {#step-by-step-tagger} @@ -528,7 +528,7 @@ message semantics will have the following types of relations: `ROOT`, `PLACE`, `QUALITY`, `ATTRIBUTE`, `TIME` and `LOCATION`. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_intent_parser.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_intent_parser.py ``` #### Step by step guide {#step-by-step-parser-custom} @@ -567,7 +567,7 @@ automatically via Thinc's built-in dataset loader. Predictions are available via [`Doc.cats`](/api/doc#attributes). ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_textcat.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_textcat.py ``` #### Step by step guide {#step-by-step-textcat} @@ -614,7 +614,7 @@ pretrained word vectors to obtain an encoding of an entity's description as its vector. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/create_kb.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/create_kb.py ``` #### Step by step guide {#step-by-step-kb} @@ -639,7 +639,7 @@ offsets** and **knowledge base identifiers** of each entity contained in the texts. ```python -https://github.com/explosion/spaCy/tree/master/examples/training/train_entity_linker.py +https://github.com/explosion/spacy/tree/v2.x/examples/training/train_entity_linker.py ``` #### Step by step guide {#step-by-step-entity-linker} diff --git a/website/docs/usage/v2-1.md b/website/docs/usage/v2-1.md index 4a8ef5a37..431f04fa6 100644 --- a/website/docs/usage/v2-1.md +++ b/website/docs/usage/v2-1.md @@ -180,7 +180,7 @@ entirely **in Markdown**, without having to compromise on easy-to-use custom UI components. We're hoping that the Markdown source will make it even easier to contribute to the documentation. For more details, check out the [styleguide](/styleguide) and -[source](https://github.com/explosion/spaCy/tree/master/website). While +[source](https://github.com/explosion/spacy/tree/v2.x/website). While converting the pages to Markdown, we've also fixed a bunch of typos, improved the existing pages and added some new content: diff --git a/website/docs/usage/v2-3.md b/website/docs/usage/v2-3.md index b6c4d7dfb..075e1ce81 100644 --- a/website/docs/usage/v2-3.md +++ b/website/docs/usage/v2-3.md @@ -161,8 +161,8 @@ debugging your tokenizer configuration. spaCy's custom warnings have been replaced with native Python [`warnings`](https://docs.python.org/3/library/warnings.html). Instead of -setting `SPACY_WARNING_IGNORE`, use the [`warnings` -filters](https://docs.python.org/3/library/warnings.html#the-warnings-filter) +setting `SPACY_WARNING_IGNORE`, use the +[`warnings` filters](https://docs.python.org/3/library/warnings.html#the-warnings-filter) to manage warnings. ```diff @@ -176,7 +176,7 @@ import spacy #### Normalization tables The normalization tables have moved from the language data in -[`spacy/lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang) to the +[`spacy/lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang) to the package [`spacy-lookups-data`](https://github.com/explosion/spacy-lookups-data). If you're adding data for a new language, the normalization table should be added to `spacy-lookups-data`. See @@ -190,8 +190,8 @@ lexemes will be added to the vocab automatically, just as in small models without vectors. To see the number of unique vectors and number of words with vectors, see -`nlp.meta['vectors']`, for example for `en_core_web_md` there are `20000` -unique vectors and `684830` words with vectors: +`nlp.meta['vectors']`, for example for `en_core_web_md` there are `20000` unique +vectors and `684830` words with vectors: ```python { @@ -210,8 +210,8 @@ for orth in nlp.vocab.vectors: _ = nlp.vocab[orth] ``` -If your workflow previously iterated over `nlp.vocab`, a similar alternative -is to iterate over words with vectors instead: +If your workflow previously iterated over `nlp.vocab`, a similar alternative is +to iterate over words with vectors instead: ```diff - lexemes = [w for w in nlp.vocab] @@ -220,9 +220,9 @@ is to iterate over words with vectors instead: Be aware that the set of preloaded lexemes in a v2.2 model is not equivalent to the set of words with vectors. For English, v2.2 `md/lg` models have 1.3M -provided lexemes but only 685K words with vectors. The vectors have been -updated for most languages in v2.2, but the English models contain the same -vectors for both v2.2 and v2.3. +provided lexemes but only 685K words with vectors. The vectors have been updated +for most languages in v2.2, but the English models contain the same vectors for +both v2.2 and v2.3. #### Lexeme.is_oov and Token.is_oov @@ -234,8 +234,7 @@ fixed in the next patch release v2.3.1. In v2.3, `Lexeme.is_oov` and `Token.is_oov` are `True` if the lexeme does not -have a word vector. This is equivalent to `token.orth not in -nlp.vocab.vectors`. +have a word vector. This is equivalent to `token.orth not in nlp.vocab.vectors`. Previously in v2.2, `is_oov` corresponded to whether a lexeme had stored probability and cluster features. The probability and cluster features are no @@ -270,8 +269,8 @@ as part of the model vocab. To load the probability table into a provided model, first make sure you have `spacy-lookups-data` installed. To load the table, remove the empty provided -`lexeme_prob` table and then access `Lexeme.prob` for any word to load the -table from `spacy-lookups-data`: +`lexeme_prob` table and then access `Lexeme.prob` for any word to load the table +from `spacy-lookups-data`: ```diff + # prerequisite: pip install spacy-lookups-data @@ -321,9 +320,9 @@ the [train CLI](/api/cli#train), you can use the new `--tag-map-path` option to provide in the tag map as a JSON dict. If you want to export a tag map from a provided model for use with the train -CLI, you can save it as a JSON dict. To only use string keys as required by -JSON and to make it easier to read and edit, any internal integer IDs need to -be converted back to strings: +CLI, you can save it as a JSON dict. To only use string keys as required by JSON +and to make it easier to read and edit, any internal integer IDs need to be +converted back to strings: ```python import spacy diff --git a/website/docs/usage/v2.md b/website/docs/usage/v2.md index 0ac8bfe75..df7dfdbdd 100644 --- a/website/docs/usage/v2.md +++ b/website/docs/usage/v2.md @@ -306,7 +306,7 @@ lookup-based lemmatization – and **many new languages**! **API:** [`Language`](/api/language) **Code:** -[`spacy/lang`](https://github.com/explosion/spaCy/tree/master/spacy/lang) +[`spacy/lang`](https://github.com/explosion/spacy/tree/v2.x/spacy/lang) **Usage:** [Adding languages](/usage/adding-languages) diff --git a/website/meta/site.json b/website/meta/site.json index 3477bb2bb..edb95af92 100644 --- a/website/meta/site.json +++ b/website/meta/site.json @@ -4,7 +4,8 @@ "slogan": "Industrial-strength Natural Language Processing in Python", "siteUrl": "https://v2.spacy.io", "domain": "v2.spacy.io", - "legacy": true, + "legacy": false, + "codeBranch": "v2.x", "email": "contact@explosion.ai", "company": "Explosion AI", "companyUrl": "https://explosion.ai", diff --git a/website/src/components/util.js b/website/src/components/util.js index 1935a8085..6c54095f5 100644 --- a/website/src/components/util.js +++ b/website/src/components/util.js @@ -6,6 +6,7 @@ import siteMetadata from '../../meta/site.json' const htmlToReactParser = new HtmlToReactParser() +export const defaultBranch = siteMetadata.codeBranch export const repo = siteMetadata.repo export const modelsRepo = siteMetadata.modelsRepo @@ -18,11 +19,11 @@ export const headingTextClassName = 'heading-text' /** * Create a link to the spaCy repository on GitHub * @param {string} filepath - The file path relative to the root of the repo. - * @param {string} [branch] - Optional branch. Defaults to master. + * @param {string} [branch] - Optional branch. * @returns {string} - URL to the file on GitHub. */ -export function github(filepath, branch = 'master') { - const path = filepath ? '/tree/' + (branch || 'master') + '/' + filepath : '' +export function github(filepath, branch = defaultBranch) { + const path = filepath ? '/tree/' + (branch || defaultBranch) + '/' + filepath : '' return `https://github.com/${repo}${path}` } @@ -30,9 +31,9 @@ export function github(filepath, branch = 'master') { * Get the source of a file in the documentation based on its slug * @param {string} slug - The slug, e.g. /api/doc. * @param {boolean} [isIndex] - Whether the page is an index, e.g. /api/index.md - * @param {string} [branch] - Optional branch on GitHub. Defaults to master. + * @param {string} [branch] - Optional branch on GitHub. */ -export function getCurrentSource(slug, isIndex = false, branch = 'master') { +export function getCurrentSource(slug, isIndex = false, branch = defaultBranch) { const ext = isIndex ? '/index.md' : '.md' return github(`website/docs${slug}${ext}`, branch) }