snakemake: 8.20.1 -> 8.23.0 (#348616)
This commit is contained in:
commit
fba4f0f724
@ -1,138 +0,0 @@
|
||||
{ lib
|
||||
, fetchPypi
|
||||
, python3
|
||||
, stress
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "snakemake";
|
||||
version = "8.20.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-adNwIA1z/TwWsa0gQb4hAsUvHInjd30sm1dYKXvvXy8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build tests/
|
||||
substituteInPlace tests/common.py \
|
||||
--replace-fail 'os.environ["PYTHONPATH"] = os.getcwd()' "pass" \
|
||||
--replace-fail 'del os.environ["PYTHONPATH"]' "pass"
|
||||
substituteInPlace snakemake/unit_tests/__init__.py \
|
||||
--replace-fail '"unit_tests/templates"' '"'"$PWD"'/snakemake/unit_tests/templates"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
appdirs
|
||||
configargparse
|
||||
connection-pool
|
||||
datrie
|
||||
docutils
|
||||
gitpython
|
||||
humanfriendly
|
||||
immutables
|
||||
jinja2
|
||||
jsonschema
|
||||
nbformat
|
||||
psutil
|
||||
pulp
|
||||
pygments
|
||||
pyyaml
|
||||
requests
|
||||
reretry
|
||||
smart-open
|
||||
snakemake-interface-executor-plugins
|
||||
snakemake-interface-common
|
||||
snakemake-interface-storage-plugins
|
||||
snakemake-interface-report-plugins
|
||||
stopit
|
||||
tabulate
|
||||
throttler
|
||||
toposort
|
||||
wrapt
|
||||
yte
|
||||
];
|
||||
|
||||
# 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
|
||||
# setup.
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
numpy
|
||||
pandas
|
||||
pytestCheckHook
|
||||
pytest-mock
|
||||
requests-mock
|
||||
snakemake-executor-plugin-cluster-generic
|
||||
snakemake-storage-plugin-fs
|
||||
stress
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests/tests.py"
|
||||
"tests/test_expand.py"
|
||||
"tests/test_io.py"
|
||||
"tests/test_schema.py"
|
||||
"tests/test_executor_test_suite.py"
|
||||
"tests/test_api.py"
|
||||
];
|
||||
|
||||
# Some will be disabled via https://github.com/snakemake/snakemake/pull/3074
|
||||
disabledTests = [
|
||||
# requires graphviz
|
||||
"test_filegraph"
|
||||
# requires s3
|
||||
"test_storage"
|
||||
"test_default_storage"
|
||||
"test_output_file_cache_storage"
|
||||
# requires peppy and eido
|
||||
"test_pep"
|
||||
"test_modules_peppy"
|
||||
# requires perl
|
||||
"test_shadow"
|
||||
# requires snakemake-storage-plugin-http
|
||||
"test_ancient"
|
||||
"test_modules_prefix"
|
||||
# requires snakemake-storage-plugin-s3
|
||||
"test_deploy_sources"
|
||||
# requires modules
|
||||
"test_env_modules"
|
||||
# issue with locating template file
|
||||
"test_generate_unit_tests"
|
||||
# weird
|
||||
"test_strict_mode"
|
||||
"test_issue1256"
|
||||
"test_issue2574"
|
||||
"test_github_issue1384"
|
||||
# future-proofing
|
||||
"conda"
|
||||
"singularity"
|
||||
"apptainer"
|
||||
"container"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"snakemake"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://snakemake.github.io";
|
||||
license = licenses.mit;
|
||||
description = "Python-based execution environment for make-like workflows";
|
||||
mainProgram = "snakemake";
|
||||
longDescription = ''
|
||||
Snakemake is a workflow management system that aims to reduce the complexity of
|
||||
creating workflows by providing a fast and comfortable execution environment,
|
||||
together with a clean and readable specification language in Python style. Snakemake
|
||||
workflows are essentially Python scripts extended by declarative code to define
|
||||
rules. Rules describe how to create output files from input files.
|
||||
'';
|
||||
maintainers = with maintainers; [ helkafen renatoGarcia veprbl ];
|
||||
};
|
||||
}
|
170
pkgs/by-name/sn/snakemake/package.nix
Normal file
170
pkgs/by-name/sn/snakemake/package.nix
Normal file
@ -0,0 +1,170 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchPypi,
|
||||
python3Packages,
|
||||
stress,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "snakemake";
|
||||
version = "8.23.0";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-XENI9VJW62KyrxDGSwQiygggYZOu9yW2QSNyp4BO9Us=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build tests/
|
||||
substituteInPlace tests/common.py \
|
||||
--replace-fail 'os.environ["PYTHONPATH"] = os.getcwd()' "pass" \
|
||||
--replace-fail 'del os.environ["PYTHONPATH"]' "pass"
|
||||
substituteInPlace snakemake/unit_tests/__init__.py \
|
||||
--replace-fail '"unit_tests/templates"' '"'"$PWD"'/snakemake/unit_tests/templates"'
|
||||
'';
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
appdirs
|
||||
conda-inject
|
||||
configargparse
|
||||
connection-pool
|
||||
datrie
|
||||
docutils
|
||||
gitpython
|
||||
humanfriendly
|
||||
immutables
|
||||
jinja2
|
||||
jsonschema
|
||||
nbformat
|
||||
psutil
|
||||
pulp
|
||||
pygments
|
||||
pyyaml
|
||||
requests
|
||||
reretry
|
||||
smart-open
|
||||
snakemake-interface-executor-plugins
|
||||
snakemake-interface-common
|
||||
snakemake-interface-storage-plugins
|
||||
snakemake-interface-report-plugins
|
||||
stopit
|
||||
tabulate
|
||||
throttler
|
||||
toposort
|
||||
wrapt
|
||||
yte
|
||||
];
|
||||
|
||||
# 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
|
||||
# setup.
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
numpy
|
||||
pandas
|
||||
pytestCheckHook
|
||||
pytest-mock
|
||||
requests-mock
|
||||
snakemake-executor-plugin-cluster-generic
|
||||
snakemake-storage-plugin-fs
|
||||
stress
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = [ "--version" ];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests/tests.py"
|
||||
"tests/test_expand.py"
|
||||
"tests/test_io.py"
|
||||
"tests/test_schema.py"
|
||||
"tests/test_executor_test_suite.py"
|
||||
"tests/test_api.py"
|
||||
];
|
||||
|
||||
disabledTests =
|
||||
[
|
||||
# FAILED tests/tests.py::test_env_modules - AssertionError: expected successful execution
|
||||
"test_ancient"
|
||||
"test_conda_create_envs_only"
|
||||
"test_env_modules"
|
||||
"test_generate_unit_tests"
|
||||
"test_modules_prefix"
|
||||
"test_strict_mode"
|
||||
# Requires perl
|
||||
"test_shadow"
|
||||
# Require peppy and eido
|
||||
"test_peppy"
|
||||
"test_modules_peppy"
|
||||
"test_pep_pathlib"
|
||||
|
||||
# CalledProcessError
|
||||
"test_filegraph" # requires graphviz
|
||||
"test_github_issue1384"
|
||||
|
||||
# AssertionError: assert 127 == 1
|
||||
"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"
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
# Unclear failure:
|
||||
# AssertionError: expected successful execution
|
||||
# `__darwinAllowLocalNetworking` doesn't help
|
||||
"test_excluded_resources_not_submitted_to_cluster"
|
||||
"test_group_job_resources_with_pipe"
|
||||
"test_group_jobs_resources"
|
||||
"test_group_jobs_resources_with_limited_resources"
|
||||
"test_group_jobs_resources_with_max_threads"
|
||||
"test_issue850"
|
||||
"test_issue860"
|
||||
"test_multicomp_group_jobs"
|
||||
"test_queue_input"
|
||||
"test_queue_input_dryrun"
|
||||
"test_queue_input_forceall"
|
||||
"test_resources_submitted_to_cluster"
|
||||
"test_scopes_submitted_to_cluster"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"snakemake"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://snakemake.github.io";
|
||||
license = lib.licenses.mit;
|
||||
description = "Python-based execution environment for make-like workflows";
|
||||
changelog = "https://github.com/snakemake/snakemake/blob/v${version}/CHANGELOG.md";
|
||||
mainProgram = "snakemake";
|
||||
longDescription = ''
|
||||
Snakemake is a workflow management system that aims to reduce the complexity of
|
||||
creating workflows by providing a fast and comfortable execution environment,
|
||||
together with a clean and readable specification language in Python style. Snakemake
|
||||
workflows are essentially Python scripts extended by declarative code to define
|
||||
rules. Rules describe how to create output files from input files.
|
||||
'';
|
||||
maintainers = with lib.maintainers; [
|
||||
helkafen
|
||||
renatoGarcia
|
||||
veprbl
|
||||
];
|
||||
};
|
||||
}
|
47
pkgs/development/python-modules/conda-inject/default.nix
Normal file
47
pkgs/development/python-modules/conda-inject/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
poetry-core,
|
||||
|
||||
# dependencies
|
||||
pyyaml,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "conda-inject";
|
||||
version = "1.3.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koesterlab";
|
||||
repo = "conda-inject";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-M4+bz7ZuHlcF8tF5kSCUjjkIHG75eCCW1IJxcwxNL6o=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
pyyaml
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"conda_inject"
|
||||
];
|
||||
|
||||
# no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Helper functions for injecting a conda environment into the current python environment";
|
||||
homepage = "https://github.com/koesterlab/conda-inject";
|
||||
changelog = "https://github.com/koesterlab/conda-inject/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
}
|
@ -10,19 +10,19 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "snakemake-interface-executor-plugins";
|
||||
version = "9.2.0";
|
||||
format = "pyproject";
|
||||
version = "9.3.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = pname;
|
||||
repo = "snakemake-interface-executor-plugins";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-WMbJP17YnDzFVcr6YepT5Ltw+Jo6PPn7ayIrjx2k+go=";
|
||||
hash = "sha256-3XdsEnL+kuYhNOeAxkAsjTJ2R6NOtq97zPhQg9kdFkI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
argparse-dataclass
|
||||
throttler
|
||||
snakemake-interface-common
|
||||
@ -30,10 +30,11 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "snakemake_interface_executor_plugins" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "This package provides a stable interface for interactions between Snakemake and its executor plugins";
|
||||
homepage = "https://github.com/snakemake/snakemake-interface-executor-plugins";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
changelog = "https://github.com/snakemake/snakemake-interface-executor-plugins/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
|
@ -18387,8 +18387,6 @@ with pkgs;
|
||||
|
||||
smc = callPackage ../tools/misc/smc { };
|
||||
|
||||
snakemake = callPackage ../applications/science/misc/snakemake { };
|
||||
|
||||
snore = callPackage ../tools/misc/snore { };
|
||||
|
||||
snzip = callPackage ../tools/archivers/snzip { };
|
||||
|
@ -2514,6 +2514,8 @@ self: super: with self; {
|
||||
|
||||
conda = callPackage ../development/python-modules/conda { };
|
||||
|
||||
conda-inject = callPackage ../development/python-modules/conda-inject { };
|
||||
|
||||
conda-libmamba-solver = callPackage ../development/python-modules/conda-libmamba-solver { };
|
||||
|
||||
conda-package-handling = callPackage ../development/python-modules/conda-package-handling { };
|
||||
@ -14536,7 +14538,7 @@ self: super: with self; {
|
||||
});
|
||||
|
||||
snakemake = toPythonModule (pkgs.snakemake.override {
|
||||
python3 = python;
|
||||
python3Packages = self;
|
||||
});
|
||||
|
||||
snakemake-executor-plugin-cluster-generic = callPackage ../development/python-modules/snakemake-executor-plugin-cluster-generic { };
|
||||
|
Loading…
Reference in New Issue
Block a user