1{
2 lib,
3 buildPythonPackage,
4 cython,
5 fetchPypi,
6 fetchpatch,
7 mock,
8 numpy,
9 scipy,
10 smart-open,
11 testfixtures,
12 pyemd,
13 pytestCheckHook,
14 pythonOlder,
15}:
16
17buildPythonPackage rec {
18 pname = "gensim";
19 version = "4.3.2";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-maxq9v/UBoLnAVXtn5Lsv0OE1Z+1CvEg00PqXuGzCKs=";
27 };
28
29 patches = [
30 # https://github.com/piskvorky/gensim/pull/3524
31 # Import deprecated scipy.linalg.triu from numpy.triu. remove on next update
32 (fetchpatch {
33 name = "scipi-linalg-triu-fix.patch";
34 url = "https://github.com/piskvorky/gensim/commit/ad68ee3f105fc37cf8db333bfb837fe889ff74ac.patch";
35 hash = "sha256-Ij6HvVD8M2amzcjihu5bo8Lk0iCPl3iIq0lcOnI6G2s=";
36 })
37 ];
38
39 nativeBuildInputs = [ cython ];
40
41 propagatedBuildInputs = [
42 smart-open
43 numpy
44 scipy
45 ];
46
47 nativeCheckInputs = [
48 mock
49 pyemd
50 pytestCheckHook
51 ];
52
53 pythonImportsCheck = [ "gensim" ];
54
55 # Test setup takes several minutes
56 doCheck = false;
57
58 pytestFlagsArray = [ "gensim/test" ];
59
60 meta = with lib; {
61 description = "Topic-modelling library";
62 homepage = "https://radimrehurek.com/gensim/";
63 changelog = "https://github.com/RaRe-Technologies/gensim/blob/${version}/CHANGELOG.md";
64 license = licenses.lgpl21Only;
65 maintainers = with maintainers; [ jyp ];
66 };
67}