about summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2020-08-04 21:38:08 +0200
committerVladimír Čunát <v@cunat.cz>2020-08-04 21:38:08 +0200
commit01c2ba857590ca8d156682e478d297201b715ea2 (patch)
tree132d524d390bbdf5f08a3b3d9e251ea82177909f /pkgs/development/python-modules
parentccedb29f4b0b3a02f28be0a06cae480da2be432b (diff)
parent8bbc202208d0a972e1a1a973f19b4ae0415bce4b (diff)
Merge branch 'staging-next' into staging
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix36
-rw-r--r--pkgs/development/python-modules/asynctest/default.nix2
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix4
-rw-r--r--pkgs/development/python-modules/bsdiff4/default.nix27
-rw-r--r--pkgs/development/python-modules/click-datetime/default.nix28
-rw-r--r--pkgs/development/python-modules/deepmerge/default.nix29
-rw-r--r--pkgs/development/python-modules/hwi/default.nix51
-rw-r--r--pkgs/development/python-modules/hwi/relax-deps.patch16
-rw-r--r--pkgs/development/python-modules/openwebifpy/default.nix32
-rw-r--r--pkgs/development/python-modules/pyfritzhome/default.nix34
-rw-r--r--pkgs/development/python-modules/pyhs100/default.nix38
-rw-r--r--pkgs/development/python-modules/pyipp/default.nix40
-rw-r--r--pkgs/development/python-modules/python-didl-lite/default.nix35
-rw-r--r--pkgs/development/python-modules/vcver/default.nix31
-rw-r--r--pkgs/development/python-modules/vulture/default.nix21
15 files changed, 421 insertions, 3 deletions
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
new file mode 100644
index 0000000000000..b1ed1c45f85a4
--- /dev/null
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, voluptuous, aiohttp, async-timeout, python-didl-lite, defusedxml
+, pytest, pytest-asyncio }:
+
+buildPythonPackage rec {
+  pname = "async-upnp-client";
+  version = "0.14.14";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "StevenLooman";
+    repo = "async_upnp_client";
+    rev = version;
+    sha256 = "1ysj72l4z78h427ar95x7af0jw0xq1cbca0k8b34vqyyhgs8wc6y";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+    defusedxml
+    python-didl-lite
+    voluptuous
+  ];
+
+  checkInputs = [
+    pytest
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Asyncio UPnP Client library for Python/asyncio.";
+    homepage = "https://github.com/StevenLooman/async_upnp_client";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
index d36328d7225b1..dda3d35f6adda 100644
--- a/pkgs/development/python-modules/asynctest/default.nix
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   '';
 
   # https://github.com/Martiusweb/asynctest/issues/132
-  doCheck = pythonOlder "3.8";
+  doCheck = pythonOlder "3.7";
 
   checkPhase = ''
     ${python.interpreter} -m unittest test
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 2dabb70197b5f..1b40aa9c1408b 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60fd8c4341bab59963dafd5d2a566e94f547e660b9b396f772afe67d8481dbf0";
+    sha256 = "d21d3901cb0da6ebd1e83fc9b0dfbde8b46afc2ede4fe32fbda0c7c6118ca094";
   };
 
   propagatedBuildInputs = [ pycodestyle toml ];
diff --git a/pkgs/development/python-modules/bsdiff4/default.nix b/pkgs/development/python-modules/bsdiff4/default.nix
new file mode 100644
index 0000000000000..aabcd4de93433
--- /dev/null
+++ b/pkgs/development/python-modules/bsdiff4/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, aflplusplus
+}:
+
+buildPythonPackage rec {
+  pname = "bsdiff4";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17fc0dd4204x5gqapvbrc4kv83jdajs00jxm739586pl0iapybrw";
+  };
+
+  checkPhase = ''
+    mv bsdiff4 _bsdiff4
+    python -c 'import bsdiff4; bsdiff4.test()'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "binary diff and patch using the BSDIFF4-format";
+    homepage = "https://github.com/ilanschnell/bsdiff4";
+    license = licenses.bsdProtection;
+    maintainers = with maintainers; [ ris ];
+  };
+}
diff --git a/pkgs/development/python-modules/click-datetime/default.nix b/pkgs/development/python-modules/click-datetime/default.nix
new file mode 100644
index 0000000000000..ba710d74355d8
--- /dev/null
+++ b/pkgs/development/python-modules/click-datetime/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, click }:
+
+buildPythonPackage rec {
+  pname = "click-datetime";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "click-contrib";
+    repo = pname;
+    rev = version;
+    sha256 = "1yxagk4wd2h77nxml19bn2y26fv2xw2n9g981ls8mjy0g51ms3gh";
+  };
+
+  propagatedBuildInputs = [ click ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "click_datetime" ];
+
+  meta = with lib; {
+    description = "Datetime type support for click.";
+    homepage = "https://github.com/click-contrib/click-datetime";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/deepmerge/default.nix b/pkgs/development/python-modules/deepmerge/default.nix
new file mode 100644
index 0000000000000..1cdf0449c68c2
--- /dev/null
+++ b/pkgs/development/python-modules/deepmerge/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, vcver }:
+
+buildPythonPackage rec {
+  pname = "deepmerge";
+  version = "0.1.0";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0d1ab9lxwymqxxd58j50id1wib48xym3ss5xw172i2jfwwwzfdrx";
+  };
+
+  propagatedBuildInputs = [
+    vcver
+  ];
+
+  # depends on https://pypi.org/project/uranium/
+  doCheck = false;
+
+  pythonImportsCheck = [ "deepmerge" ];
+
+  meta = with lib; {
+    description = "A toolset to deeply merge python dictionaries.";
+    homepage = "http://deepmerge.readthedocs.io/en/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/hwi/default.nix b/pkgs/development/python-modules/hwi/default.nix
new file mode 100644
index 0000000000000..de9c7995bde97
--- /dev/null
+++ b/pkgs/development/python-modules/hwi/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mnemonic
+, ecdsa
+, typing-extensions
+, hidapi
+, libusb1
+, pyaes
+, trezor
+, btchip
+, ckcc-protocol
+}:
+
+buildPythonPackage rec {
+  pname = "hwi";
+  version = "1.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eec460a51eb556500c1eca92015be246d5714cd53171407a76da71e4346048ae";
+  };
+
+  propagatedBuildInputs = [
+    mnemonic
+    ecdsa
+    typing-extensions
+    hidapi
+    libusb1
+    pyaes
+    trezor
+    btchip
+    ckcc-protocol
+  ];
+
+  patches = [ ./relax-deps.patch ];
+
+  # tests are not packaged in the released tarball
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hwilib"
+  ];
+
+  meta = {
+    description = "Bitcoin Hardware Wallet Interface";
+    homepage = "https://github.com/bitcoin-core/hwi";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ prusnak ];
+  };
+}
diff --git a/pkgs/development/python-modules/hwi/relax-deps.patch b/pkgs/development/python-modules/hwi/relax-deps.patch
new file mode 100644
index 0000000000000..ff6c6b9768f62
--- /dev/null
+++ b/pkgs/development/python-modules/hwi/relax-deps.patch
@@ -0,0 +1,16 @@
+--- a/setup.py
++++ b/setup.py
+@@ -98,10 +98,10 @@ package_data = \
+ modules = \
+ ['hwi', 'hwi-qt']
+ install_requires = \
+-['ecdsa>=0.13.0,<0.14.0',
+- 'hidapi>=0.7.99,<0.8.0',
++['ecdsa',
++ 'hidapi',
+  'libusb1>=1.7,<2.0',
++ 'mnemonic',
+- 'mnemonic>=0.18.0,<0.19.0',
+  'pyaes>=1.6,<2.0',
+  'typing-extensions>=3.7,<4.0']
+ 
diff --git a/pkgs/development/python-modules/openwebifpy/default.nix b/pkgs/development/python-modules/openwebifpy/default.nix
new file mode 100644
index 0000000000000..5cf070d610fbc
--- /dev/null
+++ b/pkgs/development/python-modules/openwebifpy/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, requests, zeroconf, wakeonlan
+, python }:
+
+buildPythonPackage rec {
+  pname = "openwebifpy";
+  version = "3.1.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zqa74i54ww9qjciiv8s58mxbs6vxq06cq5k4pxfarc0l75l4gh2";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    zeroconf
+    wakeonlan
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test
+  '';
+
+  meta = with lib; {
+    description = "Provides a python interface to interact with a device running OpenWebIf";
+    homepage = "https://openwebifpy.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/pyfritzhome/default.nix b/pkgs/development/python-modules/pyfritzhome/default.nix
new file mode 100644
index 0000000000000..7c5dfecd269b2
--- /dev/null
+++ b/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, requests
+, nose, mock }:
+
+buildPythonPackage rec {
+  pname = "pyfritzhome";
+  version = "0.4.2";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+   inherit pname version;
+   sha256 = "0ncyv8svw0fhs01ijjkb1gcinb3jpyjvv9xw1bhnf4ri7b27g6ww";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    mock
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests --with-coverage
+  '';
+
+  meta = with lib; {
+    description = "Python Library to access AVM FRITZ!Box homeautomation";
+    homepage = "https://github.com/hthiery/python-fritzhome";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyhs100/default.nix b/pkgs/development/python-modules/pyhs100/default.nix
new file mode 100644
index 0000000000000..2e6d7164b8bf1
--- /dev/null
+++ b/pkgs/development/python-modules/pyhs100/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, click, click-datetime, deprecation
+, pytest, voluptuous }:
+
+buildPythonPackage rec {
+  pname = "pyHS100";
+  version = "0.3.5.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "GadgetReactor";
+    repo = pname;
+    rev = version;
+    sha256 = "1vddr9sjn6337i1vx0mm7pb3qibvl2gx6nx18vm4fajgv9vcjxny";
+  };
+
+  propagatedBuildInputs = [
+    click
+    click-datetime
+    deprecation
+  ];
+
+  checkInputs = [
+    pytest
+    voluptuous
+  ];
+
+  checkPhase = ''
+    py.test pyHS100
+  '';
+
+  meta = with lib; {
+    description = "Python Library to control TPLink Switch (HS100 / HS110)";
+    homepage = "https://github.com/GadgetReactor/pyHS100";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyipp/default.nix b/pkgs/development/python-modules/pyipp/default.nix
new file mode 100644
index 0000000000000..cf6b67c548b61
--- /dev/null
+++ b/pkgs/development/python-modules/pyipp/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy27
+, aiohttp, deepmerge, yarl
+, aresponses, pytest, pytest-asyncio, pytestcov }:
+
+buildPythonPackage rec {
+  pname = "pyipp";
+  version = "0.10.1";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+   owner = "ctalkington";
+   repo = "python-ipp";
+   rev = version;
+   sha256 = "0y9mkrx66f4m77jzfgdgmvlqismvimb6hm61j2va7zapm8dyabvr";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    deepmerge
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest
+    pytest-asyncio
+    pytestcov
+  ];
+
+  checkPhase = ''
+    pytest -q .
+  '';
+
+  meta = with lib; {
+    description = "Asynchronous Python client for Internet Printing Protocol (IPP)";
+    homepage = "https://github.com/ctalkington/python-ipp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-didl-lite/default.nix b/pkgs/development/python-modules/python-didl-lite/default.nix
new file mode 100644
index 0000000000000..e160c1aa623f7
--- /dev/null
+++ b/pkgs/development/python-modules/python-didl-lite/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, defusedxml
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "python-didl-lite";
+  version = "1.2.4";
+  disabled = pythonOlder "3.5.3";
+
+  src = fetchFromGitHub {
+    owner = "StevenLooman";
+    repo = pname;
+    rev = version;
+    sha256 = "0jf1d5m4r8qd3pn0hh1xqbkblkx9wzrrcmk7qa7q8lzfysp4z217";
+  };
+
+  propagatedBuildInputs = [
+    defusedxml
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "DIDL-Lite (Digital Item Declaration Language) tools for Python";
+    homepage = "https://github.com/StevenLooman/python-didl-lite";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/vcver/default.nix b/pkgs/development/python-modules/vcver/default.nix
new file mode 100644
index 0000000000000..74b44cddc464b
--- /dev/null
+++ b/pkgs/development/python-modules/vcver/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, packaging
+, fetchurl, python }:
+
+buildPythonPackage rec {
+  pname = "vcver";
+  version = "0.2.10";
+
+  src = fetchFromGitHub {
+    owner = "toumorokoshi";
+    repo = "vcver-python";
+    rev = "c5d8a6f1f0e49bb25f5dbb07312e42cb4da096d6";
+    sha256 = "1cvgs70jf7ki78338zaglaw2dkvyndmx15ybd6k4zqwwsfgk490b";
+  };
+
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  # circular dependency on test tool uranium https://pypi.org/project/uranium/
+  doCheck = false;
+
+  pythonImportTests = [ "vcver" ];
+
+  meta = with lib; {
+    description = "Reference Implementation of vcver";
+    homepage = "https://github.com/toumorokoshi/vcver-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/vulture/default.nix b/pkgs/development/python-modules/vulture/default.nix
new file mode 100644
index 0000000000000..06f3265d42489
--- /dev/null
+++ b/pkgs/development/python-modules/vulture/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, coverage, pytest, pytestcov }:
+
+buildPythonPackage rec {
+  pname = "vulture";
+  version = "1.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sbwbwkpk3s7iwnwsdrvj1ydw9lgbn3xqhji7f8y5y6vvr77i53v";
+  };
+
+  checkInputs = [ coverage pytest pytestcov ];
+  checkPhase = "pytest";
+
+  meta = with stdenv.lib; {
+    description = "Finds unused code in Python programs";
+    homepage = "https://github.com/jendrikseipp/vulture";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mcwitt ];
+  };
+}