at master 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 cython, 6 numpy, 7 scipy, 8 scikit-learn, 9 pytestCheckHook, 10 pythonOlder, 11 setuptools, 12}: 13 14let 15 self = buildPythonPackage rec { 16 pname = "opentsne"; 17 version = "1.0.3"; 18 pyproject = true; 19 20 disabled = pythonOlder "3.9"; 21 22 src = fetchFromGitHub { 23 owner = "pavlin-policar"; 24 repo = "openTSNE"; 25 tag = "v${version}"; 26 hash = "sha256-dJM8hv85ST5qGo/oZVr/MgIHGPGpZ+ajaUL7pfSJLAg="; 27 }; 28 29 build-system = [ 30 cython 31 numpy 32 setuptools 33 ]; 34 35 dependencies = [ 36 numpy 37 scipy 38 scikit-learn 39 ]; 40 41 pythonImportsCheck = [ "openTSNE" ]; 42 43 doCheck = false; 44 45 passthru = { 46 tests.pytest = self.overridePythonAttrs (old: { 47 pname = "${old.pname}-tests"; 48 format = "other"; 49 50 postPatch = "rm openTSNE -rf"; 51 52 doBuild = false; 53 doInstall = false; 54 55 doCheck = true; 56 nativeCheckInputs = [ 57 pytestCheckHook 58 self 59 ]; 60 }); 61 }; 62 63 meta = with lib; { 64 description = "Modular Python implementation of t-Distributed Stochasitc Neighbor Embedding"; 65 homepage = "https://github.com/pavlin-policar/openTSNE"; 66 changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/v${version}"; 67 license = licenses.bsd3; 68 maintainers = with maintainers; [ lucasew ]; 69 }; 70 }; 71in 72self