1{ stdenv
2, lib
3, buildPythonPackage
4, fetchPypi
5, pytestCheckHook
6, blis
7, catalogue
8, cymem
9, cython
10, Accelerate
11, CoreFoundation
12, CoreGraphics
13, CoreVideo
14, hypothesis
15, mock
16, murmurhash
17, numpy
18, plac
19, pythonOlder
20, preshed
21, pydantic
22, srsly
23, tqdm
24, typing-extensions
25, wasabi
26}:
27
28buildPythonPackage rec {
29 pname = "thinc";
30 version = "8.0.10";
31
32 disabled = pythonOlder "3.6";
33
34 src = fetchPypi {
35 inherit pname version;
36 hash = "sha256-teTbjSTmvopfHkoXhUdyt5orVgIkUZ9Qoh85UcokAB8=";
37 };
38
39 buildInputs = [ cython ]
40 ++ lib.optionals stdenv.isDarwin [
41 Accelerate
42 CoreFoundation
43 CoreGraphics
44 CoreVideo
45 ];
46
47 propagatedBuildInputs = [
48 blis
49 catalogue
50 cymem
51 murmurhash
52 numpy
53 plac
54 preshed
55 srsly
56 tqdm
57 pydantic
58 wasabi
59 ] ++ lib.optional (pythonOlder "3.8") typing-extensions;
60
61 checkInputs = [
62 hypothesis
63 mock
64 pytestCheckHook
65 ];
66
67 # Cannot find cython modules.
68 doCheck = false;
69
70 pytestFlagsArray = [
71 "thinc/tests"
72 ];
73
74 pythonImportsCheck = [ "thinc" ];
75
76 meta = with lib; {
77 description = "Practical Machine Learning for NLP in Python";
78 homepage = "https://github.com/explosion/thinc";
79 license = licenses.mit;
80 maintainers = with maintainers; [ aborsu ];
81 };
82}