diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix new file mode 100644 index 000000000000..d7989d80e8e0 --- /dev/null +++ b/pkgs/development/python-modules/starfish/default.nix @@ -0,0 +1,89 @@ +{ lib +, buildPythonPackage +, fetchPypi +, click +, dataclasses +, jsonschema +, matplotlib +, numpy +, pandas +, regional +, semantic-version +, scikitimage +, scikitlearn +, scipy +, showit +, slicedimage +, sympy +, tqdm +, trackpy +, validators +, xarray +, ipywidgets +, pytest +, pythonOlder +}: + +buildPythonPackage rec { + pname = "starfish"; + version = "0.1.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "19bec2a869affbca0a7e3fc0aee1b9978ff7f0f1a2a8551c2d4ae148a7ddc251"; + }; + + propagatedBuildInputs = [ + click + jsonschema + matplotlib + numpy + pandas + regional + semantic-version + scikitimage + scikitlearn + scipy + showit + slicedimage + sympy + tqdm + trackpy + validators + xarray + ipywidgets + ] ++ lib.optionals (pythonOlder "3.7") [ dataclasses ]; + + checkInputs = [ + pytest + ]; + + postConfigure = '' + substituteInPlace REQUIREMENTS.txt \ + --replace "slicedimage==3.1.1" "slicedimage" + ''; + + checkPhase = '' + # a few tests < 5% require + rm -rf starfish/test/full_pipelines/* + pytest starfish \ + --ignore starfish/core/config/test/test_config.py \ + --ignore starfish/core/experiment/builder/test/test_build.py \ + --ignore starfish/core/experiment/test/test_experiment.py \ + --ignore starfish/core/image/_filter/test/test_reduce.py \ + --ignore starfish/core/image/_registration/_apply_transform/test/test_warp.py \ + --ignore starfish/core/image/_registration/_learn_transform/test/test_translation.py \ + --ignore starfish/core/image/_registration/test/test_transforms_list.py \ + --ignore starfish/core/imagestack/test/test_max_proj.py \ + --ignore starfish/core/recipe/test/test_recipe.py \ + --ignore starfish/core/recipe/test/test_runnable.py \ + --ignore starfish/core/test/test_profiler.py + ''; + + meta = with lib; { + description = "Pipelines and pipeline components for the analysis of image-based transcriptomics data"; + homepage = https://spacetx-starfish.readthedocs.io/en/latest/; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8425cd28270f..568d16456c7c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2499,6 +2499,8 @@ in { statsd = callPackage ../development/python-modules/statsd { }; + starfish = callPackage ../development/python-modules/starfish { }; + multi_key_dict = callPackage ../development/python-modules/multi_key_dict { }; random2 = callPackage ../development/python-modules/random2 { };