diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/opentsne/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/opentsne/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/opentsne/default.nix b/nixpkgs/pkgs/development/python-modules/opentsne/default.nix new file mode 100644 index 000000000000..beab3b0d5e6d --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/opentsne/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, cython +, numpy +, scipy +, scikit-learn +, pytestCheckHook +, nix-update-script +, setuptools +}: + +let + self = buildPythonPackage rec { + pname = "opentsne"; + version = "1.0.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "pavlin-policar"; + repo = "openTSNE"; + rev = "v${version}"; + hash = "sha256-L5Qx6dMJlXF3EaWwlFTQ3dkhGXc5PvQBXYJo+QO+Hxc="; + }; + + propagatedBuildInputs = [ numpy scipy scikit-learn ]; + nativeBuildInputs = [ cython setuptools ]; + + pythonImportsCheck = [ "openTSNE" ]; + doCheck = false; + + passthru = { + updateScript = nix-update-script {}; + tests.pytest = self.overridePythonAttrs (old: { + pname = "${old.pname}-tests"; + format = "other"; + + postPatch = "rm openTSNE -rf"; + + doBuild = false; + doInstall = false; + + doCheck = true; + nativeCheckInputs = [ pytestCheckHook self ]; + }); + }; + + meta = { + description = "Modular Python implementation of t-Distributed Stochasitc Neighbor Embedding"; + homepage = "https://github.com/pavlin-policar/openTSNE"; + changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/${version}"; + license = [ lib.licenses.bsd3 ]; + maintainers = [ lib.maintainers.lucasew ]; + }; + }; +in self |