about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorRyan Mulligan <ryan@ryantm.com>2018-09-02 07:54:13 -0700
committerGitHub <noreply@github.com>2018-09-02 07:54:13 -0700
commit7b54a50e97be456efa9074ef5ab0ace0252b6480 (patch)
treed0061473a8bac1eee94d560927f9b054f84ec568 /pkgs
parentc2a984c450838d122b2edd1c147ed53b34377999 (diff)
parent93ce77af405b0be6a6f5f5108b8e59cbac97249d (diff)
downloadnixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar.gz
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar.bz2
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar.lz
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar.xz
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.tar.zst
nixlib-7b54a50e97be456efa9074ef5ab0ace0252b6480.zip
Merge pull request #45730 from Helkafen/snakemake
snakemake: init at 5.2.2
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix41
-rw-r--r--pkgs/development/python-modules/ratelimiter/default.nix35
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
4 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
new file mode 100644
index 000000000000..6b0570814f2b
--- /dev/null
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -0,0 +1,41 @@
+{
+  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.
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/ratelimiter/default.nix b/pkgs/development/python-modules/ratelimiter/default.nix
new file mode 100644
index 000000000000..375b6639368e
--- /dev/null
+++ b/pkgs/development/python-modules/ratelimiter/default.nix
@@ -0,0 +1,35 @@
+{
+  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 ];
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7f85ddac20a1..c95926aa6bee 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8685,6 +8685,8 @@ with pkgs;
 
   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 { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9a3d4c9eea11..fdbb4f90babd 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4347,6 +4347,8 @@ in {
 
   regex = callPackage ../development/python-modules/regex { };
 
+  ratelimiter = callPackage ../development/python-modules/ratelimiter { };
+
   repoze_lru = buildPythonPackage rec {
     name = "repoze.lru-0.6";