From 935090ec23cd3a309191eb9ec77d501a64a8f599 Mon Sep 17 00:00:00 2001 From: "(cdep)illabout" Date: Fri, 3 Jul 2020 17:51:41 +0900 Subject: kaggle: init at 1.5.6 --- pkgs/development/python-modules/kaggle/default.nix | 48 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/kaggle/default.nix (limited to 'pkgs') diff --git a/pkgs/development/python-modules/kaggle/default.nix b/pkgs/development/python-modules/kaggle/default.nix new file mode 100644 index 00000000000..7b21f984ceb --- /dev/null +++ b/pkgs/development/python-modules/kaggle/default.nix @@ -0,0 +1,48 @@ +{ buildPythonPackage +, certifi +, fetchPypi +, lib +, python-dateutil +, python-slugify +, six +, requests +, tqdm +, urllib3 +}: + +buildPythonPackage rec { + pname = "kaggle"; + version = "1.5.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "0f5qrkgklcpgbwncrif7aw4f86dychqplh7k3f4rljwnr9yhjb1w"; + }; + + # The version bounds in the setup.py file are unnecessarily restrictive. + patchPhase = '' + substituteInPlace setup.py \ + --replace 'urllib3 >= 1.21.1, < 1.25' 'urllib3' + ''; + + propagatedBuildInputs = [ + certifi + python-dateutil + python-slugify + requests + six + tqdm + urllib3 + ]; + + # Tests try to access the network. + doCheck = false; + + meta = with lib; { + description = "Official API for https://www.kaggle.com, accessible using a command line tool implemented in Python 3"; + homepage = "https://github.com/Kaggle/kaggle-api"; + license = licenses.asl20; + maintainers = with maintainers; [ cdepillabout ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c02d26801d6..16a57a03041 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2036,6 +2036,8 @@ in ir-standard-fonts = callPackage ../data/fonts/ir-standard-fonts { }; + kaggle = with python3Packages; toPythonApplication kaggle; + lynis = callPackage ../tools/security/lynis { }; mapproxy = callPackage ../applications/misc/mapproxy { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b2b3f85e716..0f677a97ffa 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4330,6 +4330,8 @@ in { jupyterhub-ldapauthenticator = callPackage ../development/python-modules/jupyterhub-ldapauthenticator { }; + kaggle = callPackage ../development/python-modules/kaggle { }; + keyring = if isPy3k then callPackage ../development/python-modules/keyring { } else -- cgit 1.4.1 From e97b8b629c208de714674a5074af1aeabbcf256e Mon Sep 17 00:00:00 2001 From: Dennis Gosnell Date: Sun, 5 Jul 2020 02:59:59 +0900 Subject: kaggle: add simple check to make sure it's not trivially broken Co-authored-by: Jon --- pkgs/development/python-modules/kaggle/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'pkgs') diff --git a/pkgs/development/python-modules/kaggle/default.nix b/pkgs/development/python-modules/kaggle/default.nix index 7b21f984ceb..cccd553a31f 100644 --- a/pkgs/development/python-modules/kaggle/default.nix +++ b/pkgs/development/python-modules/kaggle/default.nix @@ -36,7 +36,13 @@ buildPythonPackage rec { ]; # Tests try to access the network. - doCheck = false; + checkPhase = '' + export HOME="$TMP" + mkdir -p "$HOME/.kaggle/" + echo '{"username":"foobar","key":"00000000000000000000000000000000"}' > "$HOME/.kaggle/kaggle.json" + $out/bin/kaggle --help > /dev/null + ''; + pythonImportsCheck = [ "kaggle" ]; meta = with lib; { description = "Official API for https://www.kaggle.com, accessible using a command line tool implemented in Python 3"; @@ -45,4 +51,3 @@ buildPythonPackage rec { maintainers = with maintainers; [ cdepillabout ]; }; } - -- cgit 1.4.1