summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/enum-compat/default.nix21
-rw-r--r--pkgs/development/python-modules/flask-assets/default.nix20
-rw-r--r--pkgs/development/python-modules/flask-login/default.nix8
-rw-r--r--pkgs/development/python-modules/flask-principal/default.nix22
-rw-r--r--pkgs/development/python-modules/flask-script/default.nix21
-rw-r--r--pkgs/development/python-modules/hmmlearn/default.nix2
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix22
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix21
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix22
-rw-r--r--pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix28
-rw-r--r--pkgs/development/python-modules/libarcus/default.nix4
-rw-r--r--pkgs/development/python-modules/libgpuarray/default.nix5
-rw-r--r--pkgs/development/python-modules/onkyo-eiscp/default.nix22
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix3
-rw-r--r--pkgs/development/python-modules/plyfile/default.nix2
-rw-r--r--pkgs/development/python-modules/py_stringmatching/default.nix28
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix6
-rw-r--r--pkgs/development/python-modules/pylru/default.nix18
-rw-r--r--pkgs/development/python-modules/pyspf/default.nix20
-rw-r--r--pkgs/development/python-modules/python-axolotl-curve25519/default.nix18
-rw-r--r--pkgs/development/python-modules/python-axolotl/default.nix22
-rw-r--r--pkgs/development/python-modules/pyunifi/default.nix22
-rw-r--r--pkgs/development/python-modules/regex/default.nix4
-rw-r--r--pkgs/development/python-modules/sarge/default.nix18
-rw-r--r--pkgs/development/python-modules/scandir/default.nix18
-rw-r--r--pkgs/development/python-modules/sockjs-tornado/default.nix20
-rw-r--r--pkgs/development/python-modules/sphfile/default.nix2
-rw-r--r--pkgs/development/python-modules/uranium/default.nix6
-rw-r--r--pkgs/development/python-modules/virtkey/default.nix23
-rw-r--r--pkgs/development/python-modules/wakeonlan/default.nix19
-rw-r--r--pkgs/development/python-modules/webassets/default.nix25
31 files changed, 471 insertions, 21 deletions
diff --git a/pkgs/development/python-modules/enum-compat/default.nix b/pkgs/development/python-modules/enum-compat/default.nix
new file mode 100644
index 000000000000..6b1d2af357a4
--- /dev/null
+++ b/pkgs/development/python-modules/enum-compat/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, enum34 }:
+
+buildPythonPackage rec {
+  pname = "enum-compat";
+  version = "0.0.2";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14j1i963jic2vncbf9k5nq1vvv8pw2zsg7yvwhm7d9c6h7qyz74k";
+  };
+
+  propagatedBuildInputs = [ enum34 ];
+
+  meta = with lib; {
+    homepage = https://github.com/jstasiak/enum-compat;
+    description = "enum/enum34 compatibility package";
+    license = licenses.mit;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-assets/default.nix b/pkgs/development/python-modules/flask-assets/default.nix
new file mode 100644
index 000000000000..53307333048e
--- /dev/null
+++ b/pkgs/development/python-modules/flask-assets/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchurl, flask, webassets, flask_script, nose }:
+
+buildPythonPackage rec {
+  name = "Flask-Assets-${version}";
+  version = "0.12";
+
+  src = fetchurl {
+    url = "mirror://pypi/F/Flask-Assets/${name}.tar.gz";
+    sha256 = "0ivqsihk994rxw58vdgzrx4d77d7lpzjm4qxb38hjdgvi5xm4cb0";
+  };
+
+  propagatedBuildInputs = [ flask webassets flask_script nose ];
+
+  meta = with lib; {
+    homepage = http://github.com/miracle2k/flask-assets;
+    description = "Asset management for Flask, to compress and merge CSS and Javascript files";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-login/default.nix b/pkgs/development/python-modules/flask-login/default.nix
index 3c7731c30a8b..e2585262e58e 100644
--- a/pkgs/development/python-modules/flask-login/default.nix
+++ b/pkgs/development/python-modules/flask-login/default.nix
@@ -1,19 +1,19 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, pythonAtLeast
-, flask, nose, mock, blinker}:
+, flask, blinker, nose, mock, semantic-version }:
 
 buildPythonPackage rec {
   pname = "Flask-Login";
   name = "${pname}-${version}";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "maxcountryman";
     repo = "flask-login";
     rev = version;
-    sha256 = "0sjbmk8m4mmd9g99n6c6lx9nv2jwwqp6qsqhl945w2m0f1sknwdh";
+    sha256 = "1rj0qwyxapxnp84fi4lhmvh3d91fdiwz7hibw77x3d5i72knqaa9";
   };
 
-  buildInputs = [ nose mock ];
+  checkInputs = [ nose mock semantic-version ];
   propagatedBuildInputs = [ flask blinker ];
 
   checkPhase = "nosetests -d";
diff --git a/pkgs/development/python-modules/flask-principal/default.nix b/pkgs/development/python-modules/flask-principal/default.nix
new file mode 100644
index 000000000000..1f41f7987631
--- /dev/null
+++ b/pkgs/development/python-modules/flask-principal/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchurl, flask, blinker, nose }:
+
+buildPythonPackage rec {
+  name = "Flask-Principal-${version}";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "mirror://pypi/F/Flask-Principal/${name}.tar.gz";
+    sha256 = "0lwlr5smz8vfm5h9a9i7da3q1c24xqc6vm9jdywdpgxfbi5i7mpm";
+  };
+
+  propagatedBuildInputs = [ flask blinker ];
+
+  checkInputs = [ nose ];
+
+  meta = with lib; {
+    homepage = http://packages.python.org/Flask-Principal/;
+    description = "Identity management for flask";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-script/default.nix b/pkgs/development/python-modules/flask-script/default.nix
new file mode 100644
index 000000000000..ace3cee2d22e
--- /dev/null
+++ b/pkgs/development/python-modules/flask-script/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchurl, flask, pytest }:
+
+buildPythonPackage rec {
+  name = "Flask-Script-${version}";
+  version = "2.0.6";
+
+  src = fetchurl {
+    url = "mirror://pypi/F/Flask-Script/${name}.tar.gz";
+    sha256 = "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf";
+  };
+
+  propagatedBuildInputs = [ flask ];
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = http://github.com/smurfix/flask-script;
+    description = "Scripting support for Flask";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix
index 3295786bd08c..e0294c2afca4 100644
--- a/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/pkgs/development/python-modules/hmmlearn/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Hidden Markov Models in Python with scikit-learn like API";
-    homepage    = "https://github.com/hmmlearn/hmmlearn";
+    homepage    = https://github.com/hmmlearn/hmmlearn;
     license     = licenses.bsd3;
     maintainers = with maintainers; [ abbradar ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
new file mode 100644
index 000000000000..a0056ce25000
--- /dev/null
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, jsonrpc-base }:
+
+buildPythonPackage rec {
+  pname = "jsonrpc-async";
+  version = "0.6";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f1p3qv56jn4sdyp8gzf915nya6vr0rn2pbzld9x23y9jdjmibzw";
+  };
+
+  propagatedBuildInputs = [ aiohttp jsonrpc-base ];
+
+  meta = with stdenv.lib; {
+    description = "A JSON-RPC client library for asyncio";
+    homepage = http://github.com/armills/jsonrpc-async;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
new file mode 100644
index 000000000000..01c0c3f4aa18
--- /dev/null
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "jsonrpc-base";
+  version = "1.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dl55n54ha5kf4x6hap2p1k3s4qa4w7g791wp2656rjg2zxfgywk";
+  };
+
+  propagatedBuildInputs = [ ];
+
+  meta = with stdenv.lib; {
+    description = "A JSON-RPC client library base interface";
+    homepage = https://github.com/armills/jsonrpc-base;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
new file mode 100644
index 000000000000..8394913b2986
--- /dev/null
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, jsonrpc-base }:
+
+buildPythonPackage rec {
+  pname = "jsonrpc-websocket";
+  version = "0.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cijqb8fvv9iq5ds9y5sj0gd6lapi90mgqvpkczp28fxz440ihq4";
+  };
+
+  propagatedBuildInputs = [ aiohttp jsonrpc-base ];
+
+  meta = with stdenv.lib; {
+    description = "A JSON-RPC websocket client library for asyncio";
+    homepage = https://github.com/armills/jsonrpc-websocket;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
new file mode 100644
index 000000000000..02348c68e07a
--- /dev/null
+++ b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, jupyterhub
+, ldap3
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "jupyterhub-ldapauthenticator";
+  version = "1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19dz3a3122wln8lkixj5jbh9x3cqlrcb3p7a53825cj72cmpcxwz";
+  };
+
+  # No tests implemented
+  doCheck = false;
+   
+  propagatedBuildInputs = [ jupyterhub ldap3 ];
+
+  meta = with lib; {
+    description = "Simple LDAP Authenticator Plugin for JupyterHub";
+    homepage =  https://github.com/jupyterhub/ldapauthenticator;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix
index 789beaa2384c..d9cc5fb0d9e5 100644
--- a/pkgs/development/python-modules/libarcus/default.nix
+++ b/pkgs/development/python-modules/libarcus/default.nix
@@ -7,13 +7,13 @@ else
 stdenv.mkDerivation rec {
   pname = "libarcus";
   name = "${pname}-${version}";
-  version = "3.0.3";
+  version = "3.2.1";
   
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libArcus";
     rev = version;
-    sha256 = "05dpd6nx32nws0ghsm365wlsb8hg2s3v9fqcmdk11biwfhnr6rjw";
+    sha256 = "0mln8myvfl7rq2p4g1vadvlykckd8490jijag4xa5hhj3w3p19bk";
   };
   
   propagatedBuildInputs = [ sip protobuf ];
diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix
index 67353a32ada6..c0c2b205f58b 100644
--- a/pkgs/development/python-modules/libgpuarray/default.nix
+++ b/pkgs/development/python-modules/libgpuarray/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "libgpuarray";
-  version = "0.6.9";
+  version = "0.7.5";
   name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "Theano";
     repo = "libgpuarray";
     rev = "v${version}";
-    sha256 = "06z47ls42a37gbv0x7f3l1qvils7q0hvy02s95l530klgibp19s0";
+    sha256 = "0zkdwjq3k6ciiyf8y5w663fbsnmzhgy27yvpxfhkpxazw9vg3l5v";
   };
 
   # requires a GPU
@@ -40,7 +40,6 @@ buildPythonPackage rec {
     make -j$NIX_BUILD_CORES
     make install
 
-    ls $out/lib
     export NIX_CFLAGS_COMPILE="-L $out/lib -I $out/include $NIX_CFLAGS_COMPILE"
 
     cd ..
diff --git a/pkgs/development/python-modules/onkyo-eiscp/default.nix b/pkgs/development/python-modules/onkyo-eiscp/default.nix
new file mode 100644
index 000000000000..c0a1e39b384b
--- /dev/null
+++ b/pkgs/development/python-modules/onkyo-eiscp/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, docopt, netifaces }:
+
+buildPythonPackage rec {
+  pname = "onkyo-eiscp";
+  version = "1.2.4";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qb5w2g2cnckq7psh92g1w3gf76437x1vwfhwnd247wshs5h7hxj";
+  };
+
+  propagatedBuildInputs = [ docopt netifaces ];
+
+  meta = with stdenv.lib; {
+    description = "Control Onkyo receivers over ethernet";
+    homepage = https://github.com/miracle2k/onkyo-eiscp;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index 18c083298e68..09d759c97ee3 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -22,6 +22,7 @@ if !(pythonOlder "3.4") then null else buildPythonPackage rec {
 
   preCheck = ''
     export LC_ALL="en_US.UTF-8"
+    sed -i test_pathlib2.py -e "s@hasattr(pwd, 'getpwall')@False@"
   '';
 
   meta = {
@@ -29,4 +30,4 @@ if !(pythonOlder "3.4") then null else buildPythonPackage rec {
     homepage = https://pypi.python.org/pypi/pathlib2/;
     license = with lib.licenses; [ mit ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/plyfile/default.nix b/pkgs/development/python-modules/plyfile/default.nix
index 410a633c46b0..bfe5d2f202df 100644
--- a/pkgs/development/python-modules/plyfile/default.nix
+++ b/pkgs/development/python-modules/plyfile/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "NumPy-based text/binary PLY file reader/writer for Python";
-    homepage    = "https://github.com/dranjan/python-plyfile";
+    homepage    = https://github.com/dranjan/python-plyfile;
     maintainers = with maintainers; [ abbradar ];
   };
 
diff --git a/pkgs/development/python-modules/py_stringmatching/default.nix b/pkgs/development/python-modules/py_stringmatching/default.nix
new file mode 100644
index 000000000000..3931078c12ed
--- /dev/null
+++ b/pkgs/development/python-modules/py_stringmatching/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, numpy
+, six
+, nose
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "py_stringmatching";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rjsx7iipn6svki21lmsza7b0dz9vkgmix696zryiv7gkhblqyb4";
+  };
+
+  checkInputs = [ nose ];
+   
+  propagatedBuildInputs = [ numpy six ];
+
+  meta = with lib; {
+    description = "A Python string matching library including string tokenizers and string similarity measures";
+    homepage =  https://sites.google.com/site/anhaidgroup/projects/magellan/py_stringmatching;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 46d3272807eb..0b41b6ef0b10 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,19 +2,19 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "1.0.3";
+  version = "2.0.0";
   name = pname + "-" + version;
 
   src = fetchurl {
     url    = "mirror://pypi/p/pychromecast/${name}.tar.gz";
-    sha256 = "714a9e03e6a258081e3b6296ed15592e015facbe38bbe60819cca6f04c599f25";
+    sha256 = "1cp1ssfb8zk4sz74nsnf72b7dd5fzkwc4qdgc7rq8nfr4v611w6c";
   };
 
   propagatedBuildInputs = [ requests six zeroconf protobuf ];
 
   meta = with lib; {
     description = "Library for Python 2 and 3 to communicate with the Google Chromecast";
-    homepage    = "https://github.com/balloob/pychromecast";
+    homepage    = https://github.com/balloob/pychromecast;
     license     = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
     platforms   = platforms.linux;
diff --git a/pkgs/development/python-modules/pylru/default.nix b/pkgs/development/python-modules/pylru/default.nix
new file mode 100644
index 000000000000..db8584c4f9e5
--- /dev/null
+++ b/pkgs/development/python-modules/pylru/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  name = "pylru-${version}";
+  version = "1.0.9";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pylru/${name}.tar.gz";
+    sha256 = "0b0pq0l7xv83dfsajsc49jcxzc99kb9jfx1a1dlx22hzcy962dvi";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/jlhutch/pylru;
+    description = "A least recently used (LRU) cache implementation";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyspf/default.nix b/pkgs/development/python-modules/pyspf/default.nix
new file mode 100644
index 000000000000..6903b6c7a0c0
--- /dev/null
+++ b/pkgs/development/python-modules/pyspf/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchurl, pydns }:
+
+buildPythonPackage rec {
+  name = "pyspf-${version}";
+  version = "2.0.12";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pymilter/pyspf/${name}/${name}.tar.gz";
+    sha256 = "18j1rmbmhih7q6y12grcj169q7sx1986qn4gmpla9y5gwfh1p8la";
+  };
+
+  propagatedBuildInputs = [ pydns ];
+
+  meta = with lib; {
+    homepage = http://bmsi.com/python/milter.html;
+    description = "Python API for Sendmail Milters (SPF)";
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/python-axolotl-curve25519/default.nix b/pkgs/development/python-modules/python-axolotl-curve25519/default.nix
new file mode 100644
index 000000000000..d90b7fa740dc
--- /dev/null
+++ b/pkgs/development/python-modules/python-axolotl-curve25519/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  name = "python-axolotl-curve25519-${version}";
+  version = "0.1";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/python-axolotl-curve25519/${name}.tar.gz";
+    sha256 = "1h1rsdr7m8lvgxwrwng7qv0xxmyc9k0q7g9nbcr6ks2ipyjzcnf5";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/tgalal/python-axolotl-curve25519;
+    description = "Curve25519 with ed25519 signatures";
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/python-axolotl/default.nix b/pkgs/development/python-modules/python-axolotl/default.nix
new file mode 100644
index 000000000000..71c456875bcf
--- /dev/null
+++ b/pkgs/development/python-modules/python-axolotl/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchurl, python-axolotl-curve25519, protobuf, pycrypto }:
+
+buildPythonPackage rec {
+  name = "python-axolotl-${version}";
+  version = "0.1.39";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/python-axolotl/${name}.tar.gz";
+    sha256 = "09bf5gfip9x2wr0ij43p39ac6z2iqzn7kgpi2jjbwpnhs0vwkycs";
+  };
+
+  propagatedBuildInputs = [ python-axolotl-curve25519 protobuf pycrypto ];
+  # IV == 0 in tests is not supported by pycryptodome (our pycrypto drop-in)
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/tgalal/python-axolotl;
+    description = "Python port of libaxolotl-android";
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/pyunifi/default.nix b/pkgs/development/python-modules/pyunifi/default.nix
new file mode 100644
index 000000000000..bbf98c32874b
--- /dev/null
+++ b/pkgs/development/python-modules/pyunifi/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, requests }:
+
+buildPythonPackage rec {
+  pname = "pyunifi";
+  version = "2.13";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dhbfzv5a29v763m0b9wsc4pvkdr979w7g4rz7ak8hsi4sx6b9dq";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  meta = with stdenv.lib; {
+    description = "API towards Ubiquity Networks UniFi controller";
+    homepage = https://github.com/finish06/unifi-api;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index 65de08382239..44650618f5f5 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -15,9 +15,9 @@ buildPythonPackage rec {
 
   meta = {
     description = "Alternative regular expression module, to replace re";
-    homepage = "https://bitbucket.org/mrabarnett/mrab-regex";
+    homepage = https://bitbucket.org/mrabarnett/mrab-regex;
     license = lib.licenses.psfl;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ abbradar ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/sarge/default.nix b/pkgs/development/python-modules/sarge/default.nix
new file mode 100644
index 000000000000..340c8d002b72
--- /dev/null
+++ b/pkgs/development/python-modules/sarge/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  name = "sarge-${version}";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "mirror://pypi/s/sarge/${name}.tar.gz";
+    sha256 = "08s8896973bz1gg0pkr592w6g4p6v47bkfvws5i91p9xf8b35yar";
+  };
+
+  meta = with lib; {
+    homepage = http://sarge.readthedocs.org/;
+    description = "A wrapper for subprocess which provides command pipeline functionality";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/scandir/default.nix b/pkgs/development/python-modules/scandir/default.nix
new file mode 100644
index 000000000000..521f68db1cc6
--- /dev/null
+++ b/pkgs/development/python-modules/scandir/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  name = "scandir-${version}";
+  version = "1.7";
+
+  src = fetchurl {
+    url = "mirror://pypi/s/scandir/${name}.tar.gz";
+    sha256 ="0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj";
+  };
+
+  meta = with lib; {
+    description = "A better directory iterator and faster os.walk()";
+    homepage = https://github.com/benhoyt/scandir;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/sockjs-tornado/default.nix b/pkgs/development/python-modules/sockjs-tornado/default.nix
new file mode 100644
index 000000000000..eff799e0d014
--- /dev/null
+++ b/pkgs/development/python-modules/sockjs-tornado/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchurl, tornado }:
+
+buildPythonPackage rec {
+  name = "sockjs-tornado-${version}";
+  version = "1.0.3";
+
+  src = fetchurl {
+    url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz";
+    sha256 = "16cff40nniqsyvda1pb2j3b4zwmrw7y2g1vqq78lp20xpmhnwwkd";
+  };
+
+  propagatedBuildInputs = [ tornado ];
+
+  meta = with lib; {
+    homepage = http://github.com/mrjoes/sockjs-tornado/;
+    description = "SockJS python server implementation on top of Tornado framework";
+    license = licenses.mit;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphfile/default.nix b/pkgs/development/python-modules/sphfile/default.nix
index 189fa7c932da..8ee4ce76069f 100644
--- a/pkgs/development/python-modules/sphfile/default.nix
+++ b/pkgs/development/python-modules/sphfile/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Numpy-based NIST SPH audio-file reader";
-    homepage    = "https://github.com/mcfletch/sphfile";
+    homepage    = https://github.com/mcfletch/sphfile;
     license     = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/python-modules/uranium/default.nix b/pkgs/development/python-modules/uranium/default.nix
index 24eecf82311a..774799f3b4d8 100644
--- a/pkgs/development/python-modules/uranium/default.nix
+++ b/pkgs/development/python-modules/uranium/default.nix
@@ -5,7 +5,7 @@ then throw "Uranium not supported for interpreter ${python.executable}"
 else
 
 stdenv.mkDerivation rec {
-  version = "3.1.0";
+  version = "3.2.1";
   pname = "uranium";
   name = "${pname}-${version}";
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "Ultimaker";
     repo = "Uranium";
     rev = version;
-    sha256 = "1wz2nk973g8227r9v6j7gry3m0b0ikirkws8sfhysvgj0vgak9yk";
+    sha256 = "1p05iw1x3rvb51p6hj57yq6nsjawjba3pyyr4jx924iq96vcc3fz";
   };
 
   buildInputs = [ python gettext ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Python framework for building Desktop applications";
-    homepage = "https://github.com/Ultimaker/Uranium";
+    homepage = https://github.com/Ultimaker/Uranium;
     license = licenses.agpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/python-modules/virtkey/default.nix b/pkgs/development/python-modules/virtkey/default.nix
new file mode 100644
index 000000000000..e18e9f87acd3
--- /dev/null
+++ b/pkgs/development/python-modules/virtkey/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchurl, pkgconfig, gtk2, libX11, libXtst, libXi, libxkbfile, xextproto, xproto }:
+
+buildPythonPackage rec {
+  name = "virtkey-${version}";
+  majorVersion = "0.63";
+  version = "${majorVersion}.0";
+
+  src = fetchurl {
+    url = "https://launchpad.net/virtkey/${majorVersion}/${version}/+download/virtkey-${version}.tar.gz";
+    sha256 = "0hd99hrxn6bh3rxcrdnad5cqjsphrn1s6fzx91q07d44k6cg6qcr";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ gtk2 libX11 libXtst libXi libxkbfile xextproto xproto ];
+
+  meta = with lib; {
+    description = "Extension to emulate keypresses and to get the layout information from the X server";
+    homepage = https://launchpad.net/virtkey;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix
new file mode 100644
index 000000000000..3d57000e8898
--- /dev/null
+++ b/pkgs/development/python-modules/wakeonlan/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "wakeonlan";
+  version = "1.0.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1snkyc6ph0bnypqs5yjw35mx3f9ij4808r5i06gl2vhn1rfzgyh1";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A small python module for wake on lan";
+    homepage = https://github.com/remcohaszing/pywakeonlan;
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/webassets/default.nix b/pkgs/development/python-modules/webassets/default.nix
new file mode 100644
index 000000000000..a5a7957e8ec1
--- /dev/null
+++ b/pkgs/development/python-modules/webassets/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchurl, pyyaml, nose, jinja2, mock, pytest }:
+
+buildPythonPackage rec {
+  name = "webassets-${version}";
+  version = "0.12.1";
+
+  src = fetchurl {
+    url = "mirror://pypi/w/webassets/${name}.tar.gz";
+    sha256 = "1nrqkpb7z46h2b77xafxihqv3322cwqv6293ngaky4j3ff4cing7";
+  };
+
+  propagatedBuildInputs = [ pyyaml ];
+  checkInputs = [ nose jinja2 mock pytest ];
+
+  # Needs Babel CLI tool
+  doCheck = false;
+  checkPhase = "py.test";
+
+  meta = with lib; {
+    description = "Media asset management for Python, with glue code for various web frameworks";
+    homepage = http://github.com/miracle2k/webassets/;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}