about 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/audio-metadata/default.nix37
-rw-r--r--pkgs/development/python-modules/bidict/default.nix42
-rw-r--r--pkgs/development/python-modules/bitstruct/default.nix18
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix25
-rw-r--r--pkgs/development/python-modules/django-compat/default.nix23
-rw-r--r--pkgs/development/python-modules/django-hijack-admin/default.nix14
-rw-r--r--pkgs/development/python-modules/django-hijack/default.nix7
-rw-r--r--pkgs/development/python-modules/glances/default.nix4
-rw-r--r--pkgs/development/python-modules/google-music-proto/default.nix37
-rw-r--r--pkgs/development/python-modules/google-music-utils/default.nix35
-rw-r--r--pkgs/development/python-modules/google-music/default.nix39
-rw-r--r--pkgs/development/python-modules/logzero/default.nix23
-rw-r--r--pkgs/development/python-modules/pprintpp/default.nix30
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix3
-rw-r--r--pkgs/development/python-modules/tenacity/default.nix34
15 files changed, 347 insertions, 24 deletions
diff --git a/pkgs/development/python-modules/audio-metadata/default.nix b/pkgs/development/python-modules/audio-metadata/default.nix
new file mode 100644
index 000000000000..633daab7d4e3
--- /dev/null
+++ b/pkgs/development/python-modules/audio-metadata/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, bidict
+, bitstruct
+, more-itertools
+, pprintpp
+}:
+
+buildPythonPackage rec {
+  pname = "audio-metadata";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jd0wzhh9as2qyiwggqmvsbsm5nlb73qnxix2mcar53cddvwrvj7";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    bidict
+    bitstruct
+    more-itertools
+    pprintpp
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/audio-metadata;
+    description = "A library for reading and, in the future, writing metadata from audio files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix
new file mode 100644
index 000000000000..ed99686ed27b
--- /dev/null
+++ b/pkgs/development/python-modules/bidict/default.nix
@@ -0,0 +1,42 @@
+{ lib, buildPythonPackage, fetchPypi
+, setuptools_scm
+, sphinx
+, hypothesis
+, py
+, pytest
+, pytest-benchmark
+, sortedcollections
+, sortedcontainers
+}:
+
+buildPythonPackage rec {
+  pname = "bidict";
+  version = "0.17.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1icj0fnfx47n6i33pj5gfrmd1rzpvah1jihhdhqiqx2cy9rs6x4c";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ sphinx ];
+
+  checkInputs = [
+    hypothesis
+    py
+    pytest
+    pytest-benchmark
+    sortedcollections
+    sortedcontainers
+  ];
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/jab/bidict;
+    description = "Efficient, Pythonic bidirectional map data structures and related functionality";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix
new file mode 100644
index 000000000000..2bc4a5bbb616
--- /dev/null
+++ b/pkgs/development/python-modules/bitstruct/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "bitstruct";
+  version = "6.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1znqgy2ikdqn6n6mv1ccfbl0q7x65bh3i9ph0yjl4rihwvxyg9fg";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/eerimoq/bitstruct;
+    description = "Python bit pack/unpack package";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
new file mode 100644
index 000000000000..673a570c61f0
--- /dev/null
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchFromGitHub, click, pytest }:
+
+buildPythonPackage rec {
+  pname = "click-default-group";
+  version = "1.2";
+
+  # No tests in Pypi tarball
+  src = fetchFromGitHub {
+    owner = "click-contrib";
+    repo = "click-default-group";
+    rev = "v${version}";
+    sha256 = "0lm2k4jvy4ilvv91niawklfnp5mp7wa8c1bicsqdfzrxmw7jliwp";
+  };
+
+  propagatedBuildInputs = [ click ];
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = https://github.com/click-contrib/click-default-group;
+    description = "Group to invoke a command without explicit subcommand name";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-compat/default.nix b/pkgs/development/python-modules/django-compat/default.nix
index d575c1b674b0..32d85cfadd71 100644
--- a/pkgs/development/python-modules/django-compat/default.nix
+++ b/pkgs/development/python-modules/django-compat/default.nix
@@ -1,36 +1,31 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python,
-  django, django_nose, six
+  django, six
 }:
 buildPythonPackage rec {
   pname = "django-compat";
-  version = "1.0.14";
+  version = "1.0.15";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-compat";
     rev = "v${version}";
-    sha256 = "11g6ra6djkchqk44v8k7biaxd1v69qyyyask5l92vmrvb0qiwvm8";
+    sha256 = "1pr6v38ahrsvxlgmcx69s4b5q5082f44gzi4h3c32sccdc4pwqxp";
   };
 
   checkPhase = ''
     runHook preCheck
 
-    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
-    # source directory
-    mkdir -p testbase/compat
-    pushd testbase
-    # note we're not copying the direct contents of compat/ (notably __init__.py) so python won't recognize this as a
-    # package, but the tests need to be in a specific path for the test templates to get picked up.
-    cp -r ../compat/tests compat/
-    cp ../runtests.py .
-    ${python.interpreter} runtests.py compat/tests
-    popd
+    # to convince the tests to run against the installed package, not the source directory, we extract the
+    # tests directory from it then dispose of the actual source
+    mv compat/tests .
+    rm -r compat
+    substituteInPlace runtests.py --replace compat.tests tests
+    ${python.interpreter} runtests.py
 
     runHook postCheck
   '';
 
-  checkInputs = [ django_nose ];
   propagatedBuildInputs = [ django six ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/django-hijack-admin/default.nix b/pkgs/development/python-modules/django-hijack-admin/default.nix
index e6cd5a3482fe..005d61acab9b 100644
--- a/pkgs/development/python-modules/django-hijack-admin/default.nix
+++ b/pkgs/development/python-modules/django-hijack-admin/default.nix
@@ -2,14 +2,14 @@
   django_hijack, django_nose }:
 buildPythonPackage rec {
   pname = "django-hijack-admin";
-  version = "2.1.5";
+  version = "2.1.10";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-hijack-admin";
     rev = "v${version}";
-    sha256 = "02j75blvkjiz5mv5wc4jxl27rgmjsrl6l67a3p8342jwazzsm6jg";
+    sha256 = "0m98lchp2y43886n67j4s7miyd50pg2r5r966vjnxmd7nx7qkihf";
   };
 
   checkInputs = [ django_nose ];
@@ -17,13 +17,21 @@ buildPythonPackage rec {
 
   checkPhase = ''
     runHook preCheck
+
+    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
+    # source directory
+    mkdir testbase
+    pushd testbase
+    mv ../runtests.py .
     ${python.interpreter} runtests.py hijack_admin
+    popd
+
     runHook postCheck
   '';
 
   meta = with stdenv.lib; {
     description = "Admin integration for django-hijack";
-    homepage = https://github.com/arteria/django-hijack;
+    homepage = https://github.com/arteria/django-hijack-admin;
     license = licenses.mit;
     maintainers = with maintainers; [ lsix ];
   };
diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix
index bdf503cd8492..f41e7d146c97 100644
--- a/pkgs/development/python-modules/django-hijack/default.nix
+++ b/pkgs/development/python-modules/django-hijack/default.nix
@@ -3,15 +3,14 @@
 }:
 buildPythonPackage rec {
   pname = "django-hijack";
-  version = "2.1.9";
-  name = pname + "-" + version;
+  version = "2.1.10";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-hijack";
     rev = "v${version}";
-    sha256 = "109xi93xj37ycdsvainybhg89pcb5sawv6w80px4r6fjvaq4732c";
+    sha256 = "01fwkjdzvw0yx2spwi7zc1yy64ndq1y72bfmk7kxnq5x803m2ak6";
   };
 
   checkInputs = [ django_nose ];
@@ -24,7 +23,7 @@ buildPythonPackage rec {
     # source directory
     mkdir testbase
     pushd testbase
-    cp ../runtests.py .
+    mv ../runtests.py .
     ${python.interpreter} runtests.py hijack
     popd
 
diff --git a/pkgs/development/python-modules/glances/default.nix b/pkgs/development/python-modules/glances/default.nix
index f25723e7ec72..9670428a3e5f 100644
--- a/pkgs/development/python-modules/glances/default.nix
+++ b/pkgs/development/python-modules/glances/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   name = "glances-${version}";
-  version = "3.0.2";
+  version = "3.1.0";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "1jkjblfk4gbr00j7lny7ajiizzqnp0p1yhzfi14074gwk38z0q14";
+    sha256 = "0zjpp017i8b8bijdaj85rya7rmdqh4g8vkb42q14q2sw6agxz3zi";
   };
 
   patches = lib.optional doCheck ./skip-failing-tests.patch;
diff --git a/pkgs/development/python-modules/google-music-proto/default.nix b/pkgs/development/python-modules/google-music-proto/default.nix
new file mode 100644
index 000000000000..b2196c8748ce
--- /dev/null
+++ b/pkgs/development/python-modules/google-music-proto/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, audio-metadata
+, marshmallow
+, pendulum
+, protobuf
+}:
+
+buildPythonPackage rec {
+  pname = "google-music-proto";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "008nap32hcrlnkkqkf462vwnm6xzrn6fj71lbryfmrakad7rz7bc";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    audio-metadata
+    marshmallow
+    pendulum
+    protobuf
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music-proto;
+    description = "Sans-I/O wrapper of Google Music API calls";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-music-utils/default.nix b/pkgs/development/python-modules/google-music-utils/default.nix
new file mode 100644
index 000000000000..d7fb8a917076
--- /dev/null
+++ b/pkgs/development/python-modules/google-music-utils/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, audio-metadata, multidict, wrapt
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "google-music-utils";
+  version = "2.0.0";
+
+  # Pypi tarball doesn't contain tests
+  src = fetchFromGitHub {
+    owner = "thebigmunch";
+    repo = "google-music-utils";
+    rev = version;
+    sha256 = "0i5zcr1ypnxizi41s3lrplz9m9rmb56s5iihjx61kbybxcq2b6gk";
+  };
+
+  propagatedBuildInputs = [
+    audio-metadata multidict wrapt
+  ];
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music-utils;
+    description = "A set of utility functionality for google-music and related projects";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-music/default.nix b/pkgs/development/python-modules/google-music/default.nix
new file mode 100644
index 000000000000..b0fe0f8a2544
--- /dev/null
+++ b/pkgs/development/python-modules/google-music/default.nix
@@ -0,0 +1,39 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, appdirs
+, audio-metadata
+, google-music-proto
+, protobuf
+, requests_oauthlib
+, tenacity
+}:
+
+buildPythonPackage rec {
+  pname = "google-music";
+  version = "3.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13i9nd62wqfg0f5r7ykr15q83397vdpw0js50fy5nbgs33sbf6b7";
+  };
+
+  propagatedBuildInputs = [
+    appdirs
+    audio-metadata
+    google-music-proto
+    protobuf
+    requests_oauthlib
+    tenacity
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music;
+    description = "A Google Music API wrapper";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/logzero/default.nix b/pkgs/development/python-modules/logzero/default.nix
new file mode 100644
index 000000000000..098d9f3e06d8
--- /dev/null
+++ b/pkgs/development/python-modules/logzero/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "logzero";
+  version = "1.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hli2wgwxxackrk1ybmlpdd0rzms6blm11zzwlvrzykd8cp1xyil";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/metachris/logzero;
+    description = "Robust and effective logging for Python 2 and 3";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/pprintpp/default.nix b/pkgs/development/python-modules/pprintpp/default.nix
new file mode 100644
index 000000000000..daf9d0062fb2
--- /dev/null
+++ b/pkgs/development/python-modules/pprintpp/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchpatch, buildPythonPackage, fetchPypi, python, nose, parameterized }:
+
+buildPythonPackage rec {
+  pname = "pprintpp";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00v4pkyiqc0y9qjnp3br58a4k5zwqdrjjxbcsv39vx67w84630pa";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/wolever/pprintpp/commit/873217674cc824b4c1cfdad4867c560c60e8d806.patch";
+      sha256 = "0rqxzxawr83215s84mfzh1gnjwjm2xv399ywwcl4q7h395av5vb3";
+    })
+  ];
+
+  checkInputs = [ nose parameterized ];
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/wolever/pprintpp;
+    description = "A drop-in replacement for pprint that's actually pretty";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index 0721c0d449c7..c5be26bd9b73 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -28,7 +28,8 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python3 Parser for Android XML file and get Application Name without using Androguard";
     homepage = https://github.com/appknox/pyaxmlparser;
-    license = licenses.mit;
+    # Files from Androguard are licensed ASL 2.0
+    license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix
new file mode 100644
index 000000000000..596fa6b825fc
--- /dev/null
+++ b/pkgs/development/python-modules/tenacity/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, pbr, six, futures, monotonic
+, pytest, sphinx, tornado
+}:
+
+buildPythonPackage rec {
+  pname = "tenacity";
+  version = "5.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rjbj9wks7b7n75mbm01y0g2ngyai8yi05ck9gicmcdyix7vw42c";
+  };
+
+  nativeBuildInputs = [ pbr ];
+  propagatedBuildInputs = [ six ]
+    ++ lib.optionals isPy27 [ futures monotonic ];
+
+  checkInputs = [ pytest sphinx tornado ];
+  checkPhase = (if isPy27 then ''
+    pytest --ignore='tenacity/tests/test_asyncio.py'
+  '' else ''
+    pytest
+  '') + ''
+    sphinx-build -a -E -W -b doctest doc/source doc/build
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/jd/tenacity;
+    description = "Retrying library for Python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}