diff --git a/pkgs/by-name/sn/snakemake/package.nix b/pkgs/by-name/sn/snakemake/package.nix index f1ae8a21a218..00340e211bf3 100644 --- a/pkgs/by-name/sn/snakemake/package.nix +++ b/pkgs/by-name/sn/snakemake/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "9.5.1"; + version = "9.11.8"; pyproject = true; src = fetchFromGitHub { owner = "snakemake"; repo = "snakemake"; tag = "v${version}"; - hash = "sha256-cSFqPSLeM7hw1bxQZ2FhlHUP+O3iyrwBz4+Jz90Zck8="; + hash = "sha256-fQCpQ3LB0Q1USZ9YTEniR5iKq68Zri9+14zqa/jzO2o="; }; postPatch = '' @@ -58,6 +58,7 @@ python3Packages.buildPythonApplication rec { snakemake-interface-logger-plugins snakemake-interface-storage-plugins snakemake-interface-report-plugins + snakemake-interface-scheduler-plugins stopit tabulate throttler @@ -140,6 +141,11 @@ python3Packages.buildPythonApplication rec { # Requires snakemake-storage-plugin-http "test_keep_local" "test_retrieve" + + # Requires conda + "test_jupyter_notebook" + "test_jupyter_notebook_nbconvert" + "test_jupyter_notebook_draft" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Unclear failure: diff --git a/pkgs/development/python-modules/snakemake-interface-common/default.nix b/pkgs/development/python-modules/snakemake-interface-common/default.nix index 3ec3baca2d5a..b1deaa0b84dd 100644 --- a/pkgs/development/python-modules/snakemake-interface-common/default.nix +++ b/pkgs/development/python-modules/snakemake-interface-common/default.nix @@ -4,43 +4,40 @@ buildPythonPackage, configargparse, fetchFromGitHub, - poetry-core, - pythonOlder, - pytestCheckHook, + setuptools, }: buildPythonPackage rec { pname = "snakemake-interface-common"; - version = "1.17.4"; + version = "1.22.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "snakemake"; repo = "snakemake-interface-common"; tag = "v${version}"; - hash = "sha256-PMEs7yeVfSnZKbabLrbXfIKCIPteNV1wzbt9RIDG3qU="; + hash = "sha256-DxbB/UaBkLbG18CGHyDMo7dmRlVY2tD3BhO0MShbnq4="; }; - build-system = [ poetry-core ]; + build-system = [ setuptools ]; dependencies = [ argparse-dataclass configargparse ]; - nativeCheckInputs = [ pytestCheckHook ]; - pythonImportsCheck = [ "snakemake_interface_common" ]; - enabledTestPaths = [ "tests/tests.py" ]; + # test_snakemake_version: No module named 'snakemake' + # nativeCheckInputs = [ pytestCheckHook ]; - meta = with lib; { + # enabledTestPaths = [ "tests/tests.py" ]; + + meta = { description = "Common functions and classes for Snakemake and its plugins"; homepage = "https://github.com/snakemake/snakemake-interface-common"; changelog = "https://github.com/snakemake/snakemake-interface-common/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ veprbl ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ veprbl ]; }; } diff --git a/pkgs/development/python-modules/snakemake-interface-scheduler-plugins/default.nix b/pkgs/development/python-modules/snakemake-interface-scheduler-plugins/default.nix new file mode 100644 index 000000000000..ccad1ca6f6a2 --- /dev/null +++ b/pkgs/development/python-modules/snakemake-interface-scheduler-plugins/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + snakemake-interface-common, +}: + +let + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "snakemake"; + repo = "snakemake-interface-scheduler-plugins"; + tag = "v${version}"; + hash = "sha256-Z/rJGkby9AcYB+Gil00xhbrySChqEIEOtzLyzQPhObk="; + }; +in +buildPythonPackage { + pname = "snakemake-interface-scheduler-plugins"; + inherit version src; + pyproject = true; + + build-system = [ hatchling ]; + + dependencies = [ snakemake-interface-common ]; + + pythonImportsCheck = [ "snakemake_interface_scheduler_plugins" ]; + + # test_scheduler: No module named 'snakemake' + # nativeCheckInputs = [ pytestCheckHook ]; + + # enabledTestPaths = [ "tests/tests.py" ]; + + meta = { + description = "Provides a stable interface for interactions between Snakemake and its scheduler plugins"; + homepage = "https://github.com/snakemake/snakemake-interface-scheduler-plugins"; + changelog = "https://github.com/snakemake/snakemake-interface-scheduler-plugins/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kyehn ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1dd003ebee66..f0f0db0aea59 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17032,6 +17032,10 @@ self: super: with self; { callPackage ../development/python-modules/snakemake-interface-report-plugins { }; + snakemake-interface-scheduler-plugins = + callPackage ../development/python-modules/snakemake-interface-scheduler-plugins + { }; + snakemake-interface-storage-plugins = callPackage ../development/python-modules/snakemake-interface-storage-plugins { };