python3Packages.snakemake: 9.16.3 -> 9.21.0 (#522808)
This commit is contained in:
@@ -6,18 +6,20 @@
|
||||
stress,
|
||||
versionCheckHook,
|
||||
writableTmpDirAsHomeHook,
|
||||
snakemake,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "snakemake";
|
||||
version = "9.16.3";
|
||||
version = "9.21.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+eEzpRY6ZEKB3v1/AkHDg4bOcM2Y6pt4UMrdKF6soac=";
|
||||
hash = "sha256-+EO+BTMkui0mJvEf0TOaCRBH8MzLsit8xK+71gujHt0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -33,6 +35,10 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
|
||||
build-system = with python3Packages; [ setuptools-scm ];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"packaging"
|
||||
"sqlmodel"
|
||||
];
|
||||
dependencies = with python3Packages; [
|
||||
appdirs
|
||||
conda-inject
|
||||
@@ -53,20 +59,24 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
requests
|
||||
reretry
|
||||
smart-open
|
||||
snakemake-interface-executor-plugins
|
||||
snakemake-interface-common
|
||||
snakemake-interface-executor-plugins
|
||||
snakemake-interface-logger-plugins
|
||||
snakemake-interface-storage-plugins
|
||||
snakemake-interface-report-plugins
|
||||
snakemake-interface-scheduler-plugins
|
||||
snakemake-interface-storage-plugins
|
||||
sqlmodel
|
||||
stopit
|
||||
tabulate
|
||||
tenacity
|
||||
throttler
|
||||
toposort
|
||||
wrapt
|
||||
yte
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake" ];
|
||||
|
||||
# See
|
||||
# https://github.com/snakemake/snakemake/blob/main/.github/workflows/main.yml#L99
|
||||
# for the current basic test suite. Slurm, Tibanna and Tes require extra
|
||||
@@ -81,11 +91,15 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
requests-mock
|
||||
snakemake-executor-plugin-cluster-generic
|
||||
snakemake-storage-plugin-fs
|
||||
snakemake-storage-plugin-http
|
||||
snakemake-storage-plugin-s3
|
||||
stress
|
||||
versionCheckHook
|
||||
polars
|
||||
])
|
||||
++ [ writableTmpDirAsHomeHook ];
|
||||
++ [
|
||||
versionCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
enabledTestPaths = [
|
||||
"tests/tests.py"
|
||||
@@ -97,6 +111,9 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# AssertionError: expected file "onerror_module2.log" not produced
|
||||
"test_module_onerror"
|
||||
|
||||
# FAILED tests/tests.py::test_env_modules - AssertionError: expected successful execution
|
||||
"test_ancient"
|
||||
"test_conda_create_envs_only"
|
||||
@@ -119,13 +136,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
"test_issue1256"
|
||||
"test_issue2574"
|
||||
|
||||
# Require `snakemake-storage-plugin-fs` (circular dependency)
|
||||
"test_default_storage"
|
||||
"test_default_storage_local_job"
|
||||
"test_deploy_sources"
|
||||
"test_output_file_cache_storage"
|
||||
"test_storage"
|
||||
|
||||
# Tries to access internet
|
||||
"test_report_after_run"
|
||||
|
||||
@@ -136,10 +146,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
# Needs unshare
|
||||
"test_nodelocal"
|
||||
|
||||
# Requires snakemake-storage-plugin-http
|
||||
"test_keep_local"
|
||||
"test_retrieve"
|
||||
|
||||
# Requires conda
|
||||
"test_jupyter_notebook"
|
||||
"test_jupyter_notebook_nbconvert"
|
||||
@@ -179,7 +185,11 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
"test_issue1331"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake" ];
|
||||
# Circular dependencies
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://snakemake.github.io";
|
||||
|
||||
@@ -158,5 +158,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.lgpl3Plus;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ ShamrockLee ];
|
||||
mainProgram = "xrootd";
|
||||
};
|
||||
})
|
||||
|
||||
+40
-7
@@ -2,36 +2,69 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
snakemake-interface-executor-plugins,
|
||||
|
||||
# dependencies
|
||||
snakemake-interface-common,
|
||||
snakemake-interface-executor-plugins,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-executor-plugin-cluster-generic";
|
||||
version = "1.0.9";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-executor-plugin-cluster-generic";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-RHMefoJOZb6TjRsFCORLFdHtI5ZpTsV6CHrjHKMat9o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
snakemake-interface-executor-plugins
|
||||
dependencies = [
|
||||
snakemake-interface-common
|
||||
snakemake-interface-executor-plugins
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_executor_plugin_cluster_generic" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Failed to setup log file: [Errno 13] Permission denied: '/build/pytest-of-nixbld/pytest-0/test_group_workflow5/groups/.snakemake'
|
||||
"tests/tests.py::TestWorkflowsCancelCmd::test_group_workflow"
|
||||
"tests/tests.py::TestWorkflowsCancelCmd::test_simple_workflow"
|
||||
"tests/tests.py::TestWorkflowsSidecar::test_group_workflow"
|
||||
"tests/tests.py::TestWorkflowsSidecar::test_simple_workflow"
|
||||
"tests/tests.py::TestWorkflowsStatusCmd::test_group_workflow"
|
||||
"tests/tests.py::TestWorkflowsStatusCmd::test_simple_workflow"
|
||||
"tests/tests.py::TestWorkflowsSubmitCmdOnly::test_group_workflow"
|
||||
"tests/tests.py::TestWorkflowsSubmitCmdOnly::test_simple_workflow"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Generic cluster executor for Snakemake";
|
||||
homepage = "https://github.com/snakemake/snakemake-executor-plugin-cluster-generic";
|
||||
changelog = "https://github.com/snakemake/snakemake-executor-plugin-cluster-generic/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,22 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
argparse-dataclass,
|
||||
buildPythonPackage,
|
||||
configargparse,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
argparse-dataclass,
|
||||
configargparse,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-common,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-common";
|
||||
version = "1.23.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-common";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D3vktJmn1CifdiEg5UPGpBuuigEIb+ja4yklHZA6ytQ=";
|
||||
};
|
||||
|
||||
@@ -29,7 +41,9 @@ buildPythonPackage rec {
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
argparse-dataclass
|
||||
@@ -38,16 +52,24 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_common" ];
|
||||
|
||||
# test_snakemake_version: No module named 'snakemake'
|
||||
# nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
];
|
||||
|
||||
# enabledTestPaths = [ "tests/tests.py" ];
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-common.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
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}";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-common/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,39 +2,66 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
argparse-dataclass,
|
||||
throttler,
|
||||
snakemake-interface-common,
|
||||
throttler,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake-executor-plugin-cluster-generic,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-executor-plugins,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-executor-plugins";
|
||||
version = "9.4.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-executor-plugins";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ePbdHMYB2LfCOglz87ZnsUkJH7B97hhSmNBGzwtl5OM=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
argparse-dataclass
|
||||
throttler
|
||||
snakemake-interface-common
|
||||
throttler
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_executor_plugins" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake-executor-plugin-cluster-generic
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-executor-plugins.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "This package provides a stable interface for interactions between Snakemake and its executor plugins";
|
||||
description = "Stable interface for interactions between Snakemake and its executor plugins";
|
||||
homepage = "https://github.com/snakemake/snakemake-interface-executor-plugins";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-executor-plugins/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-executor-plugins/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,34 +2,62 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
|
||||
# dependencies
|
||||
snakemake-interface-common,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake-logger-plugin-rich,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-logger-plugins,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-logger-plugins";
|
||||
version = "2.0.1";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-logger-plugins";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-yvEjd4xBjjCocGK/HD1j5jcuy+syyXcEJGdsEFA0H40=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UBdzJtKukR4Y9KPpu8qJv4HmN9ghncvEqGsTQnHk36k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ hatchling ];
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
snakemake-interface-common
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_logger_plugins" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake-logger-plugin-rich
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-logger-plugins.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Stable interface for interactions between Snakemake and its logger plugins";
|
||||
homepage = "https://github.com/snakemake/snakemake-interface-logger-plugins";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-logger-plugins/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,32 +2,62 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
snakemake-interface-common,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-report-plugins,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-report-plugins";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-report-plugins";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-3ugEmdO1dcusKXXBZBRszlZXX5fhJyYSSF5Uj5CKJkQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ snakemake-interface-common ];
|
||||
dependencies = [
|
||||
snakemake-interface-common
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_report_plugins" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-report-plugins.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Interface for Snakemake report plugins";
|
||||
homepage = "https://github.com/snakemake/snakemake-interface-report-plugins";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-report-plugins/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,41 +2,62 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
|
||||
# dependencies
|
||||
snakemake-interface-common,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-scheduler-plugins,
|
||||
}:
|
||||
|
||||
let
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-scheduler-plugins";
|
||||
version = "2.0.2";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-scheduler-plugins";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BowMwZllFR9IKYUMhISAbf606awTxfmS/nQxkGgb4y8=";
|
||||
};
|
||||
in
|
||||
buildPythonPackage {
|
||||
pname = "snakemake-interface-scheduler-plugins";
|
||||
inherit version src;
|
||||
pyproject = true;
|
||||
|
||||
build-system = [ hatchling ];
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
dependencies = [ snakemake-interface-common ];
|
||||
dependencies = [
|
||||
snakemake-interface-common
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_scheduler_plugins" ];
|
||||
|
||||
# test_scheduler: No module named 'snakemake'
|
||||
# nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
];
|
||||
|
||||
# enabledTestPaths = [ "tests/tests.py" ];
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-scheduler-plugins.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
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";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-scheduler-plugins/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ kyehn ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,42 +2,77 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
humanfriendly,
|
||||
reretry,
|
||||
snakemake-interface-common,
|
||||
tenacity,
|
||||
throttler,
|
||||
wrapt,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
snakemake-storage-plugin-http,
|
||||
|
||||
# passthru
|
||||
snakemake-interface-storage-plugins,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-interface-storage-plugins";
|
||||
version = "4.3.2";
|
||||
version = "4.4.1";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-interface-storage-plugins";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-W2cUwc+9jng4IvBuN+m4WqpehA8qElTRb43w3QOIeN0=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tqSIJnU1+DPx/GI5/wzMkoxpLyM/k/SO8FtejRv9Zls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
humanfriendly
|
||||
reretry
|
||||
snakemake-interface-common
|
||||
tenacity
|
||||
throttler
|
||||
wrapt
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_storage_plugins" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
snakemake-storage-plugin-http
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# Requires internet access
|
||||
"test_storage"
|
||||
];
|
||||
|
||||
# Circular dependency with snakemake
|
||||
doCheck = false;
|
||||
passthru.tests.pytest = snakemake-interface-storage-plugins.overridePythonAttrs {
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "This package provides a stable interface for interactions between Snakemake and its storage plugins";
|
||||
description = "Stable interface for interactions between Snakemake and its storage plugins";
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-storage-plugins/releases/tag/${finalAttrs.src.tag}";
|
||||
homepage = "https://github.com/snakemake/snakemake-interface-storage-plugins";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
|
||||
# dependencies
|
||||
pydantic,
|
||||
rich,
|
||||
snakemake-interface-executor-plugins,
|
||||
snakemake-interface-logger-plugins,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-logger-plugin-rich";
|
||||
version = "0.4.1";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cademirch";
|
||||
repo = "snakemake-logger-plugin-rich";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kMjzagM95Td529JU+qIxGStgJGctS08glrFo3CF+Ih8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
pydantic
|
||||
rich
|
||||
snakemake-interface-executor-plugins
|
||||
snakemake-interface-logger-plugins
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_logger_plugin_rich" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Snakemake logger plugin using Rich";
|
||||
homepage = "https://github.com/cademirch/snakemake-logger-plugin-rich";
|
||||
changelog = "https://github.com/cademirch/snakemake-logger-plugin-rich/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
})
|
||||
@@ -2,42 +2,59 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
snakemake-interface-storage-plugins,
|
||||
|
||||
# dependencies
|
||||
snakemake-interface-common,
|
||||
snakemake-interface-storage-plugins,
|
||||
sysrsync,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-storage-plugin-fs";
|
||||
version = "1.1.3";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-storage-plugin-fs";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UdK0yhl7ljLh57CXAvH/OYiVyw+BjhPwGjSBXX8sbZk=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
snakemake-interface-storage-plugins
|
||||
snakemake-interface-common
|
||||
snakemake-interface-storage-plugins
|
||||
sysrsync
|
||||
];
|
||||
|
||||
# The current tests are not worth dealing with cyclic dependency on snakemake
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "snakemake_storage_plugin_fs" ];
|
||||
|
||||
# Use nothing due to a cyclic dependency on snakemake
|
||||
pythonImportsCheck = [ ];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
meta = {
|
||||
description = "Snakemake storage plugin that reads and writes from a locally mounted filesystem using rsync";
|
||||
homepage = "https://github.com/snakemake/snakemake-storage-plugin-fs";
|
||||
changelog = "https://github.com/snakemake/snakemake-storage-plugin-fs/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
requests,
|
||||
requests-oauthlib,
|
||||
snakemake-interface-common,
|
||||
snakemake-interface-storage-plugins,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-storage-plugin-http";
|
||||
version = "0.3.1";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-storage-plugin-http";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ad4IOjU761CaZ+o0//I8/xW+e+4UJG0+VAbQ9KcNjFY=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"requests-oauthlib"
|
||||
];
|
||||
dependencies = [
|
||||
requests
|
||||
requests-oauthlib
|
||||
snakemake-interface-common
|
||||
snakemake-interface-storage-plugins
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_storage_plugin_http" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# Requires internet access
|
||||
"test_storage"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Snakemake storage plugin for donwloading input files from HTTP(s)";
|
||||
homepage = "https://github.com/snakemake/snakemake-storage-plugin-http";
|
||||
changelog = "https://github.com/snakemake/snakemake-storage-plugin-http/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
})
|
||||
@@ -2,24 +2,33 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
boto3,
|
||||
botocore,
|
||||
poetry-core,
|
||||
snakemake,
|
||||
snakemake-interface-storage-plugins,
|
||||
snakemake-interface-common,
|
||||
snakemake-interface-storage-plugins,
|
||||
urllib3,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-storage-plugin-s3";
|
||||
version = "0.3.6";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-storage-plugin-s3";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hvyQ6V6POUBWTCWt9moQlH0RgSM4J36kjbXK4TtO8Bo=";
|
||||
};
|
||||
|
||||
@@ -33,15 +42,31 @@ buildPythonPackage rec {
|
||||
urllib3
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ snakemake ];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_storage_plugin_s3" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# Requires internet access
|
||||
"test_storage"
|
||||
|
||||
# snakemake_interface_common.exceptions.WorkflowError: Failed to create local storage prefix .snakemake/storage/s3
|
||||
# PermissionError: [Errno 13] Permission denied: '.snakemake'
|
||||
"test_group_workflow"
|
||||
"test_simple_workflow"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Snakemake storage plugin for S3 API storage (AWS S3, MinIO, etc.)";
|
||||
homepage = "https://github.com/snakemake/snakemake-storage-plugin-s3";
|
||||
changelog = "https://github.com/snakemake/snakemake-storage-plugin-s3/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/snakemake/snakemake-storage-plugin-s3/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,29 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatch-vcs,
|
||||
hatchling,
|
||||
snakemake,
|
||||
snakemake-interface-storage-plugins,
|
||||
|
||||
# dependencies
|
||||
reretry,
|
||||
snakemake-interface-common,
|
||||
snakemake-interface-storage-plugins,
|
||||
xrootd,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
snakemake,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "snakemake-storage-plugin-xrootd";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = "snakemake-storage-plugin-xrootd";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-QYG/BE7y3h/Mz1PrVVxmfBBLBLoirrEx9unSEaflUds=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-vL9JD9h0ywsKpUPoXhgg6b+vwi7kxK8CF3L6HnAEidE=";
|
||||
};
|
||||
|
||||
# xrootd<6.0.0,>=5.6.4 not satisfied by version 5.7rc20240303
|
||||
pythonRelaxDeps = [ "xrootd" ];
|
||||
postPatch = ''
|
||||
substituteInPlace tests/tests.py \
|
||||
--replace-fail \
|
||||
'subprocess.Popen(["xrootd",' \
|
||||
'subprocess.Popen(["${lib.getExe pkgs.xrootd}",'
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
hatch-vcs
|
||||
@@ -33,17 +47,24 @@ buildPythonPackage rec {
|
||||
dependencies = [
|
||||
snakemake-interface-storage-plugins
|
||||
snakemake-interface-common
|
||||
reretry
|
||||
xrootd
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ snakemake ];
|
||||
|
||||
pythonImportsCheck = [ "snakemake_storage_plugin_xrootd" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
snakemake
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "tests/tests.py" ];
|
||||
|
||||
meta = {
|
||||
description = "Snakemake storage plugin for handling input and output via XRootD";
|
||||
homepage = "https://github.com/snakemake/snakemake-storage-plugin-xrootd";
|
||||
changelog = "https://github.com/snakemake/snakemake-storage-plugin-xrootd/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -18194,10 +18194,18 @@ self: super: with self; {
|
||||
callPackage ../development/python-modules/snakemake-interface-storage-plugins
|
||||
{ };
|
||||
|
||||
snakemake-logger-plugin-rich =
|
||||
callPackage ../development/python-modules/snakemake-logger-plugin-rich
|
||||
{ };
|
||||
|
||||
snakemake-storage-plugin-fs =
|
||||
callPackage ../development/python-modules/snakemake-storage-plugin-fs
|
||||
{ };
|
||||
|
||||
snakemake-storage-plugin-http =
|
||||
callPackage ../development/python-modules/snakemake-storage-plugin-http
|
||||
{ };
|
||||
|
||||
snakemake-storage-plugin-s3 =
|
||||
callPackage ../development/python-modules/snakemake-storage-plugin-s3
|
||||
{ };
|
||||
|
||||
Reference in New Issue
Block a user