1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, pytest
6, preshed
7, ftfy
8, numpy
9, murmurhash
10, plac
11, ujson
12, dill
13, requests
14, thinc
15, regex
16, cymem
17, pathlib
18, msgpack-python
19, msgpack-numpy
20}:
21
22buildPythonPackage rec {
23 pname = "spacy";
24 version = "2.0.18";
25
26 src = fetchPypi {
27 inherit pname version;
28 sha256 = "0mybdms7c40jvk8ak180n65anjiyg4c8gkaqwkzicrd1mxq3ngqj";
29 };
30
31 prePatch = ''
32 substituteInPlace setup.py \
33 --replace "regex==" "regex>=" \
34 --replace "plac<1.0.0,>=0.9.6" "plac>=0.9.6"
35 '';
36
37 propagatedBuildInputs = [
38 numpy
39 murmurhash
40 cymem
41 preshed
42 thinc
43 plac
44 ujson
45 dill
46 requests
47 regex
48 ftfy
49 msgpack-python
50 msgpack-numpy
51 ] ++ lib.optional (pythonOlder "3.4") pathlib;
52
53 checkInputs = [
54 pytest
55 ];
56
57 doCheck = false;
58 # checkPhase = ''
59 # ${python.interpreter} -m pytest spacy/tests --vectors --models --slow
60 # '';
61
62 meta = with lib; {
63 description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython";
64 homepage = https://github.com/explosion/spaCy;
65 license = licenses.mit;
66 maintainers = with maintainers; [ sdll ];
67 };
68}