Merge pull request #45730 from Helkafen/snakemake

snakemake: init at 5.2.2

Changed files
+85
maintainers
pkgs
applications
science
misc
snakemake
development
python-modules
ratelimiter
top-level
+5
maintainers/maintainer-list.nix
···
github = "heel";
name = "Sergii Paryzhskyi";
};
+
helkafen = {
+
email = "arnaudpourseb@gmail.com";
+
github = "Helkafen";
+
name = "Sébastian Méric de Bellefon";
+
};
henrytill = {
email = "henrytill@gmail.com";
github = "henrytill";
+41
pkgs/applications/science/misc/snakemake/default.nix
···
+
{
+
stdenv
+
, python
+
}:
+
+
python.buildPythonPackage rec {
+
pname = "snakemake";
+
version = "5.2.2";
+
+
propagatedBuildInputs = with python; [
+
appdirs
+
ConfigArgParse
+
datrie
+
docutils
+
jsonschema
+
pyyaml
+
ratelimiter
+
requests
+
wrapt
+
];
+
+
src = python.fetchPypi {
+
inherit pname version;
+
sha256 = "adffe7e24b4a613a9e8bf0a2a320b3cea236d86afb9132bb0bbbc08b8e35a3a3";
+
};
+
+
doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
+
+
meta = with stdenv.lib; {
+
homepage = http://snakemake.bitbucket.io;
+
license = licenses.mit;
+
description = "Python-based execution environment for make-like workflows";
+
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.
+
'';
+
};
+
}
+35
pkgs/development/python-modules/ratelimiter/default.nix
···
+
{
+
stdenv
+
, buildPythonPackage
+
, fetchPypi
+
, pytest
+
, glibcLocales
+
}:
+
+
buildPythonPackage rec {
+
pname = "ratelimiter";
+
version = "1.2.0.post0";
+
+
src = fetchPypi {
+
inherit pname version;
+
sha256 = "5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7";
+
};
+
+
LC_ALL = "en_US.utf-8";
+
+
nativeBuildInputs = [ glibcLocales ];
+
+
checkInputs = [ pytest ];
+
+
checkPhase = ''
+
py.test tests
+
'';
+
+
meta = with stdenv.lib; {
+
homepage = https://github.com/RazerM/ratelimiter;
+
license = licenses.asl20;
+
description = "Simple python rate limiting object";
+
maintainers = with maintainers; [ helkafen ];
+
};
+
}
+
+2
pkgs/top-level/all-packages.nix
···
smc = callPackage ../tools/misc/smc { };
+
snakemake = callPackage ../applications/science/misc/snakemake { python = python3Packages; };
+
snowman = qt5.callPackage ../development/tools/analysis/snowman { };
sparse = callPackage ../development/tools/analysis/sparse { };
+2
pkgs/top-level/python-packages.nix
···
regex = callPackage ../development/python-modules/regex { };
+
ratelimiter = callPackage ../development/python-modules/ratelimiter { };
+
repoze_lru = buildPythonPackage rec {
name = "repoze.lru-0.6";