1{ lib
2, blis
3, buildPythonPackage
4, callPackage
5, catalogue
6, cymem
7, fetchPypi
8, jinja2
9, jsonschema
10, langcodes
11, murmurhash
12, numpy
13, packaging
14, pathy
15, preshed
16, pydantic
17, pytest
18, python
19, pythonOlder
20, requests
21, setuptools
22, spacy-legacy
23, spacy-loggers
24, srsly
25, thinc
26, tqdm
27, typer
28, typing-extensions
29, wasabi
30}:
31
32buildPythonPackage rec {
33 pname = "spacy";
34 version = "3.4.1";
35 format = "setuptools";
36
37 disabled = pythonOlder "3.6";
38
39 src = fetchPypi {
40 inherit pname version;
41 hash = "sha256-WcXPXTSKbA5kpZrFz+bNhdCOhmM3hwyV0exhYdUx5GM=";
42 };
43
44 propagatedBuildInputs = [
45 blis
46 catalogue
47 cymem
48 jinja2
49 jsonschema
50 langcodes
51 murmurhash
52 numpy
53 packaging
54 pathy
55 preshed
56 pydantic
57 requests
58 setuptools
59 spacy-legacy
60 spacy-loggers
61 srsly
62 thinc
63 tqdm
64 typer
65 wasabi
66 ] ++ lib.optionals (pythonOlder "3.8") [
67 typing-extensions
68 ];
69
70 postPatch = ''
71 substituteInPlace setup.cfg \
72 --replace "typer>=0.3.0,<0.5.0" "typer>=0.3.0"
73 '';
74
75 checkInputs = [
76 pytest
77 ];
78
79 doCheck = false;
80 checkPhase = ''
81 ${python.interpreter} -m pytest spacy/tests --vectors --models --slow
82 '';
83
84 pythonImportsCheck = [
85 "spacy"
86 ];
87
88 passthru.tests.annotation = callPackage ./annotation-test { };
89
90 meta = with lib; {
91 description = "Industrial-strength Natural Language Processing (NLP)";
92 homepage = "https://github.com/explosion/spaCy";
93 license = licenses.mit;
94 maintainers = with maintainers; [ ];
95 };
96}