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/astroid/1.6.nix39
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/atom/default.nix23
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix20
-rw-r--r--pkgs/development/python-modules/av/default.nix12
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix94
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix24
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix103
-rw-r--r--pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch11
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix26
-rw-r--r--pkgs/development/python-modules/escapism/default.nix24
-rw-r--r--pkgs/development/python-modules/facebook-sdk/default.nix32
-rw-r--r--pkgs/development/python-modules/filterpy/default.nix35
-rw-r--r--pkgs/development/python-modules/hyperlink/default.nix6
-rw-r--r--pkgs/development/python-modules/ibmquantumexperience/default.nix4
-rwxr-xr-xpkgs/development/python-modules/osmnx/default.nix33
-rw-r--r--pkgs/development/python-modules/pylint/1.9.nix49
-rw-r--r--pkgs/development/python-modules/pylint/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--pkgs/development/python-modules/qasm2image/default.nix8
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix8
-rw-r--r--pkgs/development/python-modules/rfc-bibtex/default.nix20
-rw-r--r--pkgs/development/python-modules/sphinx-jinja/default.nix27
-rw-r--r--pkgs/development/python-modules/sqlalchemy-migrate/default.nix12
-rw-r--r--pkgs/development/python-modules/tempita/default.nix21
-rw-r--r--pkgs/development/python-modules/tinycss/default.nix35
-rw-r--r--pkgs/development/python-modules/toolz/default.nix8
-rw-r--r--pkgs/development/python-modules/trollius/default.nix56
28 files changed, 684 insertions, 80 deletions
diff --git a/pkgs/development/python-modules/astroid/1.6.nix b/pkgs/development/python-modules/astroid/1.6.nix
new file mode 100644
index 000000000000..ca26da5a3737
--- /dev/null
+++ b/pkgs/development/python-modules/astroid/1.6.nix
@@ -0,0 +1,39 @@
+{ lib, fetchPypi, buildPythonPackage, pythonOlder, isPyPy
+, lazy-object-proxy, six, wrapt, enum34, singledispatch, backports_functools_lru_cache
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "astroid";
+  version = "1.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw";
+  };
+
+  # From astroid/__pkginfo__.py
+  propagatedBuildInputs = [
+    lazy-object-proxy
+    six
+    wrapt
+    enum34
+    singledispatch
+    backports_functools_lru_cache
+  ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    # test_builtin_help is broken
+    pytest -k "not test_builtin_help" astroid
+  '';
+
+  meta = with lib; {
+    description = "An abstract syntax tree for Python with inference support";
+    homepage = https://github.com/PyCQA/astroid;
+    license = licenses.lgpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index ccf6f4055269..d773c08e189a 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   checkInputs = [ pytestrunner pytest ];
 
   meta = with lib; {
-    description = "A abstract syntax tree for Python with inference support";
-    homepage = https://bitbucket.org/logilab/astroid;
+    description = "An abstract syntax tree for Python with inference support";
+    homepage = https://github.com/PyCQA/astroid;
     license = licenses.lgpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ nand0p ];
diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix
new file mode 100644
index 000000000000..0a7dbf561a0f
--- /dev/null
+++ b/pkgs/development/python-modules/atom/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, future }:
+
+buildPythonPackage rec {
+  pname = "atom";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0awzja4k3f32y01gd068yyxvh35km62m4wka0vbg1yyy37ahgjmv";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  # Tests not released to pypi
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Memory efficient Python objects";
+    maintainers = [ maintainers.bhipple ];
+    homepage = https://github.com/nucleic/atom;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index 04aa9411247e..f618b05373a7 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, isPy33,
-  unittest2, mock, pytest, trollius, asyncio,
-  pytest-asyncio, futures, cffi,
-  six, twisted, txaio, zope_interface
+{ lib, buildPythonPackage, fetchPypi, isPy3k, isPy33,
+  six, txaio, twisted, zope_interface, cffi, asyncio, trollius, futures,
+  mock, pytest
 }:
 buildPythonPackage rec {
   pname = "autobahn";
@@ -12,21 +11,18 @@ buildPythonPackage rec {
     sha256 = "b69858e0be4bff8437b0bd82a0db1cbef7405e16bd9354ba587c043d6d5e1ad9";
   };
 
-  # Upstream claim python2 support, but tests require pytest-asyncio which
-  # is pythn3 only. Therefore, tests are skipped for python2.
-  doCheck = isPy3k;
-  checkInputs = stdenv.lib.optionals isPy3k [ unittest2 mock pytest pytest-asyncio ];
-  propagatedBuildInputs = [ cffi six twisted zope_interface txaio ] ++
-    (stdenv.lib.optional isPy33 asyncio) ++
-    (stdenv.lib.optionals (!isPy3k) [ trollius futures ]);
+  propagatedBuildInputs = [ six txaio twisted zope_interface cffi ] ++
+    (lib.optional isPy33 asyncio) ++
+    (lib.optionals (!isPy3k) [ trollius futures ]);
 
+  checkInputs = [ mock pytest ];
   checkPhase = ''
     runHook preCheck
     USE_TWISTED=true py.test $out
     runHook postCheck
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "WebSocket and WAMP in Python for Twisted and asyncio.";
     homepage    = "https://crossbar.io/autobahn";
     license     = licenses.mit;
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index 7e68265eed83..4440edc22362 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -4,7 +4,7 @@
 , nose
 , pillow
 , numpy
-, ffmpeg_2
+, ffmpeg_4
 , git
 , libav
 , pkgconfig
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "av";
-  version = "0.4.1";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf9a8d113392c6a445f424e16f9e64ac53d1db1548731e6326763d555647c24f";
+    sha256 = "0k5nbff8c2wxc8wnyn1qghndbd2rjck1y3552s63w41mccj1k1qr";
   };
 
-  buildInputs = [ nose pillow numpy ffmpeg_2 git libav pkgconfig ];
+  buildInputs = [ nose pillow numpy ffmpeg_4 git pkgconfig ];
 
-  # Because of https://github.com/mikeboers/PyAV/issues/152
+  # Tests require downloading files from internet
   doCheck = false;
 
   meta = {
@@ -29,4 +29,4 @@ buildPythonPackage rec {
     homepage = https://github.com/mikeboers/PyAV/;
     license = lib.licenses.bsd2;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
new file mode 100644
index 000000000000..0110aa92c061
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -0,0 +1,94 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
+  python, twisted, jinja2, zope_interface, future, sqlalchemy,
+  sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, treq, txrequests,
+  txgithub, pyjade, boto3, moto, mock, lz4, setuptoolsTrial, isort, pylint,
+  flake8, buildbot-worker, buildbot-pkg, glibcLocales }:
+
+let
+  withPlugins = plugins: buildPythonPackage {
+    name = "${package.name}-with-plugins";
+    phases = [ "installPhase" "fixupPhase" ];
+    buildInputs = [ makeWrapper ];
+    propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
+
+    installPhase = ''
+      makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
+        --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH"
+      ln -sfv ${package}/lib $out/lib
+    '';
+
+    passthru = package.passthru // {
+      withPlugins = morePlugins: withPlugins (morePlugins ++ plugins);
+    };
+  };
+
+  package = buildPythonPackage rec {
+    pname = "buildbot";
+    version = "1.4.0";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0dfa926nh642i3bnpzlz0q347zicyx6wswjfqbniri59ya64fncx";
+    };
+
+    propagatedBuildInputs = [
+      # core
+      twisted
+      jinja2
+      zope_interface
+      future
+      sqlalchemy
+      sqlalchemy_migrate
+      dateutil
+      txaio
+      autobahn
+      pyjwt
+
+      # tls
+      twisted.extras.tls
+    ];
+
+    checkInputs = [
+      treq
+      txrequests
+      pyjade
+      boto3
+      moto
+      mock
+      lz4
+      setuptoolsTrial
+      isort
+      pylint
+      flake8
+      buildbot-worker
+      buildbot-pkg
+      glibcLocales
+    ];
+
+    patches = [
+      # This patch disables the test that tries to read /etc/os-release which
+      # is not accessible in sandboxed builds.
+      ./skip_test_linux_distro.patch
+    ];
+
+    LC_ALL = "en_US.UTF-8";
+
+    # TimeoutErrors on slow machines -> aarch64
+    doCheck = !stdenv.isAarch64;
+
+    postPatch = ''
+      substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+    '';
+
+    passthru = {
+      inherit withPlugins;
+    };
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+in package
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
new file mode 100644
index 000000000000..b9358b1c420b
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, setuptools }:
+
+buildPythonPackage rec {
+  pname = "buildbot-pkg";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06f4jvczbg9km0gfmcd1ljplf5w8za27i9ap9jnyqgh3j77smd7a";
+  };
+
+  postPatch = ''
+    # Their listdir function filters out `node_modules` folders.
+    # Do we have to care about that with Nix...?
+    substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
+  '';
+
+  meta = with lib; {
+    homepage = http://buildbot.net/;
+    description = "Buildbot Packaging Helper";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
new file mode 100644
index 000000000000..bdc67d178d44
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -0,0 +1,103 @@
+{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg }:
+
+{
+  www = buildPythonPackage rec {
+    pname = "buildbot_www";
+    inherit (buildbot-pkg) version;
+
+    # NOTE: wheel is used due to buildbot circular dependency
+    format = "wheel";
+
+    src = fetchPypi {
+      inherit pname version format;
+      sha256 = "1m5dsp1gn9m5vfh5hnqp8g6hmhw1f1ydnassd33nhk521f2akz0v";
+    };
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot UI";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  console-view = buildPythonPackage rec {
+    pname = "buildbot-console-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0vblaxmihgb4w9aa5q0wcgvxs7qzajql8s22w0pl9qs494g05s9r";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Console View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  waterfall-view = buildPythonPackage rec {
+    pname = "buildbot-waterfall-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "18v1a6dapwjc2s9hi0cv3ry3s048w84md908zwaa3033gz3zwzy7";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Waterfall View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  grid-view = buildPythonPackage rec {
+    pname = "buildbot-grid-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0iawsy892v6rn88hsgiiwaf689jqzhnb2wbxh6zkz3c0hvq4g0qd";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Grid View Plugin";
+      maintainers = with maintainers; [ nand0p ];
+      license = licenses.gpl2;
+    };
+  };
+
+  wsgi-dashboards = buildPythonPackage rec {
+    pname = "buildbot-wsgi-dashboards";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "00cpjna3bffh1qbq6a3sqffd1g7qhbrmn9gpzxf9k38jam6jgfpz";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot WSGI dashboards Plugin";
+      maintainers = with maintainers; [ ];
+      license = licenses.gpl2;
+    };
+  };
+}
diff --git a/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch b/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch
new file mode 100644
index 000000000000..8fe5c7b56b4f
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch
@@ -0,0 +1,11 @@
+diff -Nur buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py
+--- buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-04-19 16:57:02.000000000 +0200
++++ buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py	2017-05-04 12:22:54.575762551 +0200
+@@ -147,6 +147,7 @@
+         _sendBuildbotNetUsageData({'foo': 'bar'})
+ 
+     def test_linux_distro(self):
++        raise SkipTest("NixOS sandboxed builds hides /etc/os-release")
+         system = platform.system()
+         if system != "Linux":
+             raise SkipTest("test is only for linux")
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
new file mode 100644
index 000000000000..4e54276f8aed
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, python, setuptoolsTrial, mock, twisted, future }:
+
+buildPythonPackage (rec {
+  pname = "buildbot-worker";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12zvf4c39b6s4g1f2w407q8kkw602m88rc1ggi4w9pkw3bwbxrgy";
+  };
+
+  propagatedBuildInputs = [ twisted future ];
+
+  checkInputs = [ setuptoolsTrial mock ];
+
+  postPatch = ''
+    substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+  '';
+
+  meta = with lib; {
+    homepage = http://buildbot.net/;
+    description = "Buildbot Worker Daemon";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    license = licenses.gpl2;
+  };
+})
diff --git a/pkgs/development/python-modules/escapism/default.nix b/pkgs/development/python-modules/escapism/default.nix
new file mode 100644
index 000000000000..b2ac36582357
--- /dev/null
+++ b/pkgs/development/python-modules/escapism/default.nix
@@ -0,0 +1,24 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "escapism";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5f1cc1fa04a95f5b85b3da194750f8a71846d493ea332f62e8798949f10c9b86";
+  };
+
+  # No tests distributed
+  doCheck = false;
+
+  meta = with pkgs.lib; {
+    description = "Simple, generic API for escaping strings";
+    homepage = "https://github.com/minrk/escapism";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/pkgs/development/python-modules/facebook-sdk/default.nix b/pkgs/development/python-modules/facebook-sdk/default.nix
new file mode 100644
index 000000000000..249acb262fba
--- /dev/null
+++ b/pkgs/development/python-modules/facebook-sdk/default.nix
@@ -0,0 +1,32 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, requests
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "facebook-sdk";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f3d450ec313b62d3716fadc4e5098183760e1d2a9e0434a94b74e59ea6ea3e4d";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # checks require network
+  doCheck = false;
+
+  checkPhase = ''
+    ${python.interpreter} test/test_facebook.py
+  '';
+
+  meta = with pkgs.lib; {
+    description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK";
+    homepage = https://github.com/pythonforfacebook/facebook-sdk;
+    license = licenses.asl20 ;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/filterpy/default.nix b/pkgs/development/python-modules/filterpy/default.nix
new file mode 100644
index 000000000000..47f2c083d8a3
--- /dev/null
+++ b/pkgs/development/python-modules/filterpy/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, matplotlib
+, pytest
+}:
+
+buildPythonPackage rec {
+  version = "1.4.5";
+  pname = "filterpy";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ numpy scipy matplotlib ];
+
+  # single test fails (even on master branch of repository)
+  # project does not use CI
+  checkPhase = ''
+    pytest --ignore=filterpy/common/tests/test_discretization.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rlabbe/filterpy;
+    description = "Kalman filtering and optimal estimation library";
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix
index 53a245c45dcf..2e2e4e1cb774 100644
--- a/pkgs/development/python-modules/hyperlink/default.nix
+++ b/pkgs/development/python-modules/hyperlink/default.nix
@@ -11,12 +11,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ idna ];
 
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    py.test $out
-  '';
-
   meta = with stdenv.lib; {
     description = "A featureful, correct URL for Python";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/ibmquantumexperience/default.nix b/pkgs/development/python-modules/ibmquantumexperience/default.nix
index 82f6cb144ac7..22b809c46c20 100644
--- a/pkgs/development/python-modules/ibmquantumexperience/default.nix
+++ b/pkgs/development/python-modules/ibmquantumexperience/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "IBMQuantumExperience";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2a5662d7457c297af0751985979e64a88569beb07cfedad0ce1dfa5a7237842";
+    sha256 = "c5dbcc140344c7bdf545ad59db87f31a90ca35107c40d6cae1489bb997a47ba9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix
new file mode 100755
index 000000000000..c34b75bd0415
--- /dev/null
+++ b/pkgs/development/python-modules/osmnx/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy
+, pandas, requests, Rtree, shapely, pytest, coverage, coveralls, folium, scikitlearn, scipy}:
+
+buildPythonPackage rec {
+  pname = "osmnx";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner  = "gboeing";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "1pn2v3dhbmb0yhqif9padg7x3sdx27pgfr95i3kxj4v0yrviaf9k";
+  };
+
+  propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikitlearn scipy ];
+
+  checkInputs = [ coverage pytest coveralls ];
+  #Fails when using sandboxing as it requires internet connection, works fine without it
+  doCheck = false;
+
+  #Check phase for the record
+  #checkPhase = ''
+  #  coverage run --source osmnx -m pytest --verbose
+  #'';
+
+  meta = with stdenv.lib; {
+    description = "A package to easily download, construct, project, visualize, and analyze complex street networks from OpenStreetMap with NetworkX.";
+    homepage = https://github.com/gboeing/osmnx;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/pylint/1.9.nix b/pkgs/development/python-modules/pylint/1.9.nix
new file mode 100644
index 000000000000..ad3140cf1572
--- /dev/null
+++ b/pkgs/development/python-modules/pylint/1.9.nix
@@ -0,0 +1,49 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, astroid, six, isort,
+  mccabe, configparser, backports_functools_lru_cache, singledispatch,
+  pytest, pytestrunner, pyenchant }:
+
+buildPythonPackage rec {
+  pname = "pylint";
+  version = "1.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cxr1j037hsm4spmvl64v2j2rdq72pc2z0gnn3iggd4np6y21wpz";
+  };
+
+  checkInputs = [ pytest pytestrunner pyenchant ];
+
+  propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch ];
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    # Remove broken darwin test
+    rm -vf pylint/test/test_functional.py
+  '';
+
+  checkPhase = ''
+    pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
+      [ # Broken test
+        "test_good_comprehension_checks"
+        # See PyCQA/pylint#2535
+        "test_libmodule" ] ++
+      # Disable broken darwin tests
+      lib.optionals stdenv.isDarwin [
+        "test_parallel_execution"
+        "test_py3k_jobs_option"
+      ]
+    )}"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp "elisp/"*.el $out/share/emacs/site-lisp/
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/PyCQA/pylint;
+    description = "A bug and style checker for Python";
+    platforms = platforms.all;
+    license = licenses.gpl1Plus;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index c9a44548c142..4f4eb3cfc731 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, isort,
-  pytest, pytestrunner,  mccabe, pytest_xdist, pyenchant }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder, astroid,
+  isort, mccabe, pytest, pytestrunner, pyenchant }:
 
 buildPythonPackage rec {
   pname = "pylint";
@@ -12,21 +12,25 @@ buildPythonPackage rec {
     sha256 = "31142f764d2a7cd41df5196f9933b12b7ee55e73ef12204b648ad7e556c119fb";
   };
 
-  checkInputs = [ pytest pytestrunner pytest_xdist pyenchant ];
+  checkInputs = [ pytest pytestrunner pyenchant ];
 
   propagatedBuildInputs = [ astroid isort mccabe ];
 
-  postPatch = ''
+  postPatch = lib.optionalString stdenv.isDarwin ''
     # Remove broken darwin test
     rm -vf pylint/test/test_functional.py
   '';
 
   checkPhase = ''
-    cat pylint/test/test_self.py
-    # Disable broken darwin tests
-    pytest pylint/test -k "not test_parallel_execution \
-                       and not test_py3k_jobs_option \
-                       and not test_good_comprehension_checks"
+    pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
+      # Broken test
+      [ "test_good_comprehension_checks" ] ++
+      # Disable broken darwin tests
+      lib.optionals stdenv.isDarwin [
+        "test_parallel_execution"
+        "test_py3k_jobs_option"
+      ]
+    )}"
   '';
 
   postInstall = ''
@@ -34,8 +38,8 @@ buildPythonPackage rec {
     cp "elisp/"*.el $out/share/emacs/site-lisp/
   '';
 
-  meta = with stdenv.lib; {
-    homepage = https://www.logilab.org/project/pylint;
+  meta = with lib; {
+    homepage = https://github.com/PyCQA/pylint;
     description = "A bug and style checker for Python";
     platforms = platforms.all;
     license = licenses.gpl1Plus;
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 6146159ad0ab..deb9cbdb7d0a 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -37,8 +37,10 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
+    homepage = https://docs.pytest.org;
+    description = "Framework for writing tests";
     maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
+    license = licenses.mit;
     platforms = platforms.unix;
-    description = "Framework for writing tests";
   };
 }
diff --git a/pkgs/development/python-modules/qasm2image/default.nix b/pkgs/development/python-modules/qasm2image/default.nix
index 5f7cded86fda..429159d05d7d 100644
--- a/pkgs/development/python-modules/qasm2image/default.nix
+++ b/pkgs/development/python-modules/qasm2image/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "qasm2image";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
-    owner = "nelimeee";
+    owner = "nelimee";
     repo = "qasm2image";
-    rev = "57a640621bbbc74244f07e2e068a26411b0d9b24";
-    sha256 = "1ha5vfl4jfwcwbipsq07xlknkrvx79z5bwbzndybclyk9pa69dlz";
+    rev = "2c01756946ba9782973359dbd7bbf6651af6bee5";
+    sha256 = "1bnkzv7wrdvrq71dmsqanb3v2hcsxh5zaglfcxm2d9zzpmvb4a2n";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 0f02560c81f8..1938cb37c75a 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -13,19 +13,21 @@
 , requests
 , requests_ntlm
 , IBMQuantumExperience
+, jsonschema
+, psutil
 , cmake
 , llvmPackages 
 }:
 
 buildPythonPackage rec {
   pname = "qiskit";
-  version = "0.5.7";
+  version = "0.6.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5a2c6c074f8479dc83d1d599dfebf2363402a182835b8fa5742804055148b17";
+    sha256 = "601e8db4db470593b94a32495c6e90e2db11a9382817a34584520573a7b8cc38";
   };
 
   buildInputs = [ cmake ]
@@ -43,6 +45,8 @@ buildPythonPackage rec {
     requests
     requests_ntlm
     IBMQuantumExperience
+    jsonschema
+    psutil
   ];
 
   # Pypi's tarball doesn't contain tests
diff --git a/pkgs/development/python-modules/rfc-bibtex/default.nix b/pkgs/development/python-modules/rfc-bibtex/default.nix
new file mode 100644
index 000000000000..a1626d6b65c3
--- /dev/null
+++ b/pkgs/development/python-modules/rfc-bibtex/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonApplication, fetchPypi, isPy3k }:
+
+buildPythonApplication rec {
+  pname = "rfc-bibtex";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p8xjgq4rig1jgqy5jqh34mbifxgxsyyxh8sizwz2wyixf8by8lq";
+  };
+
+  disabled = !isPy3k;
+
+  meta = with stdenv.lib; {
+    homepage = ttps://github.com/iluxonchik/rfc-bibtex/;
+    description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts";
+    license = licenses.mit;
+    maintainers = with maintainers; [ teto ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx-jinja/default.nix b/pkgs/development/python-modules/sphinx-jinja/default.nix
new file mode 100644
index 000000000000..375f59ec3f91
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-jinja/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, pbr, sphinx, sphinx-testing, nose, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "sphinx-jinja";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02pgp9pbn0zrs0lggrc74mv6cvlnlq8wib84ga6yjvq30gda9v8q";
+  };
+
+  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ sphinx ];
+
+  checkInputs = [ sphinx-testing nose glibcLocales ];
+
+  checkPhase = ''
+    # Zip (epub) does not support files with epoch timestamp
+    LC_ALL="en_US.UTF-8" nosetests -e test_build_epub
+  '';
+
+  meta = with lib; {
+    description = "Sphinx extension to include jinja templates in documentation";
+    maintainers = with maintainers; [ nand0p ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index 8a5609c1cd9f..41269aa6567f 100644
--- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, python
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, python
 , unittest2, scripttest, pytz, pylint, mock
 , testtools, pbr, tempita, decorator, sqlalchemy
 , six, sqlparse, testrepository
@@ -12,6 +12,12 @@ buildPythonPackage rec {
     sha256 = "0ld2bihp9kmf57ykgzrfgxs4j9kxlw79sgdj9sfn47snw3izb2p6";
   };
 
+  # See: https://review.openstack.org/#/c/608382/
+  patches = [ (fetchpatch {
+    url = https://github.com/openstack/sqlalchemy-migrate/pull/18.patch;
+    sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07";
+  }) ];
+
   checkInputs = [ unittest2 scripttest pytz mock testtools testrepository ];
   propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ];
 
@@ -32,10 +38,8 @@ buildPythonPackage rec {
     ${python.interpreter} setup.py test
   '';
 
-  doCheck = true;
-
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/sqlalchemy-migrate/;
+    homepage = https://github.com/openstack/sqlalchemy-migrate;
     description = "Schema migration tools for SQLAlchemy";
     license = licenses.asl20;
     maintainers = with maintainers; [ makefu ];
diff --git a/pkgs/development/python-modules/tempita/default.nix b/pkgs/development/python-modules/tempita/default.nix
new file mode 100644
index 000000000000..318c47d21608
--- /dev/null
+++ b/pkgs/development/python-modules/tempita/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchFromGitHub, nose }:
+
+buildPythonPackage rec {
+  version = "0.5.3-2016-09-28";
+  name = "tempita-${version}";
+
+  src = fetchFromGitHub {
+    owner = "gjhiggins";
+    repo = "tempita";
+    rev = "47414a7c6e46a9a9afe78f0bce2ea299fa84d10";
+    sha256 = "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = {
+    homepage = https://github.com/gjhiggins/tempita;
+    description = "A very small text templating language";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/tinycss/default.nix b/pkgs/development/python-modules/tinycss/default.nix
new file mode 100644
index 000000000000..ab6a4183df50
--- /dev/null
+++ b/pkgs/development/python-modules/tinycss/default.nix
@@ -0,0 +1,35 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, pytest
+, python
+, cssutils
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "tinycss";
+  version = "0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12306fb50e5e9e7eaeef84b802ed877488ba80e35c672867f548c0924a76716e";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ cssutils ];
+
+  checkPhase = ''
+    py.test $out/${python.sitePackages}
+  '';
+
+  # Disable Cython tests for PyPy
+  TINYCSS_SKIP_SPEEDUPS_TESTS = pkgs.lib.optional isPyPy true;
+
+  meta = with pkgs.lib; {
+    description = "Complete yet simple CSS parser for Python";
+    license = licenses.bsd3;
+    homepage = https://pythonhosted.org/tinycss/;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index 0fea8f1ab751..974e3a43bc7c 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -21,10 +21,10 @@ buildPythonPackage rec{
     nosetests toolz/tests
   '';
 
-  meta = {
-    homepage = https://github.com/pytoolz/toolz/;
+  meta = with lib; {
+    homepage = https://github.com/pytoolz/toolz;
     description = "List processing tools and functional utilities";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix
index 6d43aa8da869..01ad57e55d7d 100644
--- a/pkgs/development/python-modules/trollius/default.nix
+++ b/pkgs/development/python-modules/trollius/default.nix
@@ -1,45 +1,49 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, isPyPy, mock, futures  }:
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k, mock, unittest2, six, futures }:
+
 buildPythonPackage rec {
   pname = "trollius";
-  version = "1.0.4";
+  version = "2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xny8y12x3wrflmyn6xi8a7n3m3ac80fgmgzphx5jbbaxkjcm148";
+    sha256 = "093978388qvw5hyscbbj062dbdc2761xs9yzrq26mh63g689lnxk";
   };
 
-  checkInputs = [ mock ];
+  checkInputs = [ mock ] ++ lib.optional (!isPy3k) unittest2;
 
-  propagatedBuildInputs = lib.optionals (isPy27 || isPyPy) [ futures ];
+  propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) futures;
 
   patches = [
     ./tests.patch
   ];
 
-  # Some of the tests fail on darwin with `error: AF_UNIX path too long'
-  # because of the *long* path names for sockets
-  patchPhase = lib.optionalString stdenv.isDarwin ''
-      sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
-      sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
-      sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
-      sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
-      sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
-      sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
-      sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
-      sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
-      sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
-      sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
-      sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
+  postPatch = ''
+    # Overrides PYTHONPATH causing dependencies not to be found
+    sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|g" tests/test_tasks.py
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Some of the tests fail on darwin with `error: AF_UNIX path too long'
+    # because of the *long* path names for sockets
+    sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
+    sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
+    sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
+    sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
+    sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
+    sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
+    sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
+    sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
+    sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
+    sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
+    sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
   '';
 
   meta = with stdenv.lib; {
-    description = "Port of the Tulip project (asyncio module, PEP 3156) on Python 2";
-    homepage = "https://bitbucket.org/enovance/trollius";
+    description = "Port of the asyncio project to Python 2.7";
+    homepage = https://github.com/vstinner/trollius;
     license = licenses.asl20;
     maintainers = with maintainers; [ garbas ];
   };