From 3e7a07b7a8355836c88424a1bd6b07b6b958dd17 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Tue, 28 Nov 2017 09:27:44 +0100 Subject: [PATCH 01/10] maintainers: add ilya-kolpakov --- lib/maintainers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 509f2da8a4b..471e0143b62 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -284,6 +284,7 @@ iblech = "Ingo Blechschmidt "; igsha = "Igor Sharonov "; ikervagyok = "Balázs Lengyel "; + ilya-kolpakov = "Ilya Kolpakov "; infinisil = "Silvan Mosberger "; ironpinguin = "Michele Catalano "; ivan-tkatchev = "Ivan Tkatchev "; From a60513428d7d36791b9d673096a11d78a11a1576 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Mon, 27 Nov 2017 19:35:45 +0100 Subject: [PATCH 02/10] pythonPackages.jsondate: init at 0.1.3 --- .../python-modules/jsondate/default.nix | 22 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/python-modules/jsondate/default.nix diff --git a/pkgs/development/python-modules/jsondate/default.nix b/pkgs/development/python-modules/jsondate/default.nix new file mode 100644 index 00000000000..7888a6df23c --- /dev/null +++ b/pkgs/development/python-modules/jsondate/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchFromGitHub, buildPythonPackage, six }: + +buildPythonPackage rec { + version = "0.1.3"; + pname = "jsondate"; + + src = fetchFromGitHub { + owner = "ilya-kolpakov"; + repo = "jsondate"; + rev = "refs/tags/v${version}"; + sha256 = "0nhvi48nc0bmad5ncyn6c9yc338krs3xf10bvv55xgz25c5gdgwy"; + fetchSubmodules = true; # Fetching by tag does not work otherwise + }; + + propagatedBuildInputs = [ six ]; + + meta = { + homepage = "https://github.com/ilya-kolpakov/jsondate"; + description = "JSON with datetime handling"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 90d8c177b1e..379b3c8a999 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -24454,6 +24454,8 @@ EOF parse-type = callPackage ../development/python-modules/parse-type { }; ephem = callPackage ../development/python-modules/ephem { }; + + jsondate = callPackage ../development/python-modules/jsondate { }; }); in fix' (extends overrides packages) From 741d9c8c2d55ce812f8daf07c705804c937ee5c2 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Mon, 27 Nov 2017 20:31:14 +0100 Subject: [PATCH 03/10] pythonPackages.inflection: enable and add tests --- .../python-modules/inflection/default.nix | 21 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 22 +++---------------- 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 pkgs/development/python-modules/inflection/default.nix diff --git a/pkgs/development/python-modules/inflection/default.nix b/pkgs/development/python-modules/inflection/default.nix new file mode 100644 index 00000000000..f4b7a1f0fc7 --- /dev/null +++ b/pkgs/development/python-modules/inflection/default.nix @@ -0,0 +1,21 @@ +{ lib, fetchurl, buildPythonPackage, pytest } : + +buildPythonPackage rec { + version = "0.3.1"; + name = "inflection-${version}"; + + src = fetchurl { + url= "mirror://pypi/i/inflection/${name}.tar.gz"; + sha256 = "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"; + }; + + propagatedBuildInputs = [ pytest ]; + + meta = { + homepage = https://github.com/jpvanhal/inflection; + description = "A port of Ruby on Rails inflector to Python"; + maintainers = with lib.maintainers; [ NikolaMandic ilya-kolpakov ]; + license = lib.licenses.mit; + }; +} + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 379b3c8a999..0df99e762b3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9709,25 +9709,6 @@ in { }; }; - - inflection = buildPythonPackage rec { - version = "0.3.1"; - name = "inflection-${version}"; - - src = pkgs.fetchurl { - url= "mirror://pypi/i/inflection/${name}.tar.gz"; - sha256 = "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"; - }; - - disabled = isPy3k; - - meta = { - homepage = https://github.com/jpvanhal/inflection; - description = "A port of Ruby on Rails inflector to Python"; - maintainers = with maintainers; [ NikolaMandic ]; - }; - }; - influxdb = buildPythonPackage rec { name = "influxdb-4.0.0"; @@ -24456,6 +24437,9 @@ EOF ephem = callPackage ../development/python-modules/ephem { }; jsondate = callPackage ../development/python-modules/jsondate { }; + + inflection = callPackage ../development/python-modules/inflection { }; + }); in fix' (extends overrides packages) From e15c715daf4c59894cc0b35190dbc0918a187c4b Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 30 Nov 2017 13:48:46 +0100 Subject: [PATCH 04/10] pythonPackages.quandl: init at 3.2.1 --- .../quandl/allow-requests-v2.18.patch | 12 ++++ .../python-modules/quandl/default.nix | 61 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 1 + 3 files changed, 74 insertions(+) create mode 100644 pkgs/development/python-modules/quandl/allow-requests-v2.18.patch create mode 100644 pkgs/development/python-modules/quandl/default.nix diff --git a/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch b/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch new file mode 100644 index 00000000000..c4d14319a8b --- /dev/null +++ b/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch @@ -0,0 +1,12 @@ +diff --git a/setup.py b/setup.py +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ from version import VERSION # NOQA + install_requires = [ + 'pandas >= 0.14', + 'numpy >= 1.8', +- 'requests >= 2.7.0, < 2.18', # Version 2.18 appears to break pulling data. ++ 'requests >= 2.7.0', # Works fine + 'inflection >= 0.3.1', + 'python-dateutil', + 'six', diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix new file mode 100644 index 00000000000..0184d25e31b --- /dev/null +++ b/pkgs/development/python-modules/quandl/default.nix @@ -0,0 +1,61 @@ +{ + lib, fetchFromGitHub, buildPythonPackage, isPy3k, + # runtime dependencies + pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, + # test suite dependencies + nose, unittest2, flake8, httpretty, mock, factory_boy, jsondate, + # additional runtime dependencies are required on Python 2.x + pyOpenSSL ? null, ndg-httpsclient ? null, pyasn1 ? null +}: + +let + version = "3.2.1"; + sha256 = "0vc0pzs2px9yaqkqcmd2m1b2bq1iils8fs0xbl0989hjq791a4jr"; + +in buildPythonPackage rec { + pname = "quandl"; + inherit version; + + patches = [ ./allow-requests-v2.18.patch ]; + + src = fetchFromGitHub { + owner = "quandl"; + repo = "quandl-python"; + rev = "refs/tags/v${version}"; + inherit sha256; + fetchSubmodules = true; # Fetching by tag does not work otherwise + }; + + doCheck = true; + + checkInputs = [ + nose + unittest2 + flake8 + httpretty + mock + factory_boy + jsondate + ]; + + propagatedBuildInputs = [ + pandas + numpy + requests + inflection + python-dateutil + six + more-itertools + ] ++ lib.optional (!isPy3k) [ + pyOpenSSL + ndg-httpsclient + pyasn1 + ]; + + meta = { + homepage = "https://github.com/quandl/quandl-python"; + description = "Quandl Python client library"; + maintainers = [ lib.maintainers.ilya-kolpakov ]; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0df99e762b3..6c5c5ffbc46 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -24440,6 +24440,7 @@ EOF inflection = callPackage ../development/python-modules/inflection { }; + quandl = callPackage ../development/python-modules/quandl { }; }); in fix' (extends overrides packages) From e5037694f56b74b0ee5b6b7eadb8929aecd18e53 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 30 Nov 2017 12:39:44 +0100 Subject: [PATCH 05/10] pythonPackages.Quandl: 3.0.0 -> 3.2.1 (alias for pythonPackages.quandl) --- pkgs/top-level/python-packages.nix | 32 +++--------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6c5c5ffbc46..8fbc27904db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -23588,35 +23588,6 @@ EOF }; }; - Quandl = buildPythonPackage rec { - version = "3.0.0"; - name = "Quandl-${version}"; - - src = pkgs.fetchurl { - url= "mirror://pypi/q/quandl/${name}.tar.gz"; - sha256 = "d4e698eb39291e0b281975813054101f3dfb379dead10d34d7b536e1aad60584"; - }; - - propagatedBuildInputs = with self; [ - numpy - ndg-httpsclient - dateutil - inflection - more-itertools - requests - pandas - ]; - - # No tests in archive - doCheck = false; - - meta = { - homepage = https://github.com/quandl/quandl-python; - description = "A Python library for Quandl’s RESTful API"; - maintainers = with maintainers; [ NikolaMandic ]; - }; - }; - queuelib = buildPythonPackage rec { name = "queuelib-${version}"; version = "1.4.2"; @@ -24441,6 +24412,9 @@ EOF inflection = callPackage ../development/python-modules/inflection { }; quandl = callPackage ../development/python-modules/quandl { }; + # alias for an older package which did not support Python 3 + Quandl = callPackage ../development/python-modules/quandl { }; + }); in fix' (extends overrides packages) From fb598605cdbc92d9e91b9ea01ada093116fef079 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Sun, 3 Dec 2017 21:56:10 +0100 Subject: [PATCH 06/10] pythonPackages.quandl: in sorted order in python-packages --- pkgs/top-level/python-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8fbc27904db..0fccf031726 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16936,6 +16936,10 @@ in { }; }; + quandl = callPackage ../development/python-modules/quandl { }; + # alias for an older package which did not support Python 3 + Quandl = callPackage ../development/python-modules/quandl { }; + qscintilla = disabledIf (isPy3k || isPyPy) (buildPythonPackage rec { # TODO: Qt5 support @@ -24411,10 +24415,6 @@ EOF inflection = callPackage ../development/python-modules/inflection { }; - quandl = callPackage ../development/python-modules/quandl { }; - # alias for an older package which did not support Python 3 - Quandl = callPackage ../development/python-modules/quandl { }; - }); in fix' (extends overrides packages) From 037e35da2dc93c0017a24a02918ad1d458b340ba Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Sun, 3 Dec 2017 21:58:24 +0100 Subject: [PATCH 07/10] pythonPackages.inflection: in sorted order in python-packages --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0fccf031726..2b33f7def95 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9709,6 +9709,8 @@ in { }; }; + inflection = callPackage ../development/python-modules/inflection { }; + influxdb = buildPythonPackage rec { name = "influxdb-4.0.0"; @@ -24413,8 +24415,6 @@ EOF jsondate = callPackage ../development/python-modules/jsondate { }; - inflection = callPackage ../development/python-modules/inflection { }; - }); in fix' (extends overrides packages) From cf62c0e88421bf94d95517ad39576ff080210fc6 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Sun, 3 Dec 2017 21:59:41 +0100 Subject: [PATCH 08/10] pythonPackages.jsondate: in sorted order in python-packages --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2b33f7def95..a23eada7f42 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10046,6 +10046,8 @@ in { inherit (self) systemd pytest; }; + jsondate = callPackage ../development/python-modules/jsondate { }; + jsonnet = buildPythonPackage { inherit (pkgs.jsonnet) name src; # Python 3 is not yet supported https://github.com/google/jsonnet/pull/335 @@ -24413,8 +24415,6 @@ EOF ephem = callPackage ../development/python-modules/ephem { }; - jsondate = callPackage ../development/python-modules/jsondate { }; - }); in fix' (extends overrides packages) From fde83078469f404e71a00635df841c7c3679bb76 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 14 Dec 2017 15:13:51 +0100 Subject: [PATCH 09/10] pythonPackages.inflection: use fetchpypi, run tests (0.3.1) --- .../python-modules/inflection/default.nix | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/inflection/default.nix b/pkgs/development/python-modules/inflection/default.nix index f4b7a1f0fc7..bccf49c56ad 100644 --- a/pkgs/development/python-modules/inflection/default.nix +++ b/pkgs/development/python-modules/inflection/default.nix @@ -1,21 +1,23 @@ -{ lib, fetchurl, buildPythonPackage, pytest } : +{ lib, fetchPypi, buildPythonPackage, pytest } : buildPythonPackage rec { - version = "0.3.1"; - name = "inflection-${version}"; + pname = "inflection"; + version = "0.3.1"; - src = fetchurl { - url= "mirror://pypi/i/inflection/${name}.tar.gz"; - sha256 = "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"; + }; - propagatedBuildInputs = [ pytest ]; + checkInputs = [ pytest ]; + # Suppress overly verbose output if tests run successfully + checkPhase = ''pytest >/dev/null || pytest''; - meta = { - homepage = https://github.com/jpvanhal/inflection; - description = "A port of Ruby on Rails inflector to Python"; - maintainers = with lib.maintainers; [ NikolaMandic ilya-kolpakov ]; - license = lib.licenses.mit; - }; + meta = { + homepage = https://github.com/jpvanhal/inflection; + description = "A port of Ruby on Rails inflector to Python"; + maintainers = with lib.maintainers; [ NikolaMandic ilya-kolpakov ]; + license = lib.licenses.mit; + }; } From 5551af487ff9581bedf3079ac6ac5ce8245b8572 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 14 Dec 2017 15:28:19 +0100 Subject: [PATCH 10/10] pythonPackages.quandl: comment on why gitihub and not pypi (3.2.1) --- pkgs/development/python-modules/quandl/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix index 0184d25e31b..e85e9c4e0f8 100644 --- a/pkgs/development/python-modules/quandl/default.nix +++ b/pkgs/development/python-modules/quandl/default.nix @@ -8,18 +8,16 @@ pyOpenSSL ? null, ndg-httpsclient ? null, pyasn1 ? null }: -let +buildPythonPackage rec { + pname = "quandl"; version = "3.2.1"; sha256 = "0vc0pzs2px9yaqkqcmd2m1b2bq1iils8fs0xbl0989hjq791a4jr"; -in buildPythonPackage rec { - pname = "quandl"; - inherit version; - patches = [ ./allow-requests-v2.18.patch ]; + # Tests do not work with fetchPypi src = fetchFromGitHub { - owner = "quandl"; + owner = pname; repo = "quandl-python"; rev = "refs/tags/v${version}"; inherit sha256;