diff --git a/pkgs/development/python-modules/msprime/default.nix b/pkgs/development/python-modules/msprime/default.nix new file mode 100644 index 000000000000..d33adc13080a --- /dev/null +++ b/pkgs/development/python-modules/msprime/default.nix @@ -0,0 +1,81 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools-scm +, pythonOlder +, gsl +, numpy +, newick +, tskit +, demes +, pytest +, pytest-xdist +, scipy +}: + +buildPythonPackage rec { + pname = "msprime"; + version = "1.2.0"; + format = "pyproject"; + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-YAJa2f0w2CenKubnYLbP8HodDhabLB2hAkyw/CPkp6o="; + }; + + nativeBuildInputs = [ + setuptools-scm + gsl + ]; + + buildInputs = [ + gsl + ]; + + propagatedBuildInputs = [ + numpy + newick + tskit + demes + ]; + + nativeCheckInputs = [ + pytest + pytest-xdist + scipy + ]; + + checkPhase = '' + runHook preCheck + + # avoid adding the current directory to sys.path + # https://docs.pytest.org/en/7.1.x/explanation/pythonpath.html#invoking-pytest-versus-python-m-pytest + # need pythonPackages.stdpopsim + # need pythonPackages.bintrees + # need pythonPachages.python_jsonschema_objects + # ModuleNotFoundError: No module named 'lwt_interface.dict_encoding_testlib' + # fails for python311 + # fails for python311 + pytest -v --import-mode append \ + --ignore=tests/test_demography.py \ + --ignore=tests/test_algorithms.py \ + --ignore=tests/test_provenance.py \ + --ignore=tests/test_dict_encoding.py \ + --deselect=tests/test_ancestry.py::TestSimulator::test_debug_logging \ + --deselect=tests/test_ancestry.py::TestSimulator::test_debug_logging_dtwf + + runHook postCheck + ''; + + pythonImportsCheck = [ + "msprime" + ]; + + meta = with lib; { + description = "Simulate genealogical trees and genomic sequence data using population genetic models"; + homepage = "https://github.com/tskit-dev/msprime"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ alxsimon ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 77e4b5afffa6..f8239ec37a78 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6526,6 +6526,8 @@ self: super: with self; { msoffcrypto-tool = callPackage ../development/python-modules/msoffcrypto-tool { }; + msprime = callPackage ../development/python-modules/msprime { }; + mss = callPackage ../development/python-modules/mss { }; msrestazure = callPackage ../development/python-modules/msrestazure { };