1{
2 bleach,
3 buildPythonPackage,
4 certifi,
5 charset-normalizer,
6 fetchPypi,
7 hatchling,
8 idna,
9 lib,
10 python-dateutil,
11 python-slugify,
12 requests,
13 setuptools,
14 six,
15 text-unidecode,
16 tqdm,
17 urllib3,
18 webencodings,
19 protobuf,
20}:
21
22buildPythonPackage rec {
23 pname = "kaggle";
24 version = "1.7.4.5";
25 pyproject = true;
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-HZghvWpqFHB0HHbSZJWhhHW1p7/gyAsZGRJUsnNdQd0=";
30 };
31
32 build-system = [ hatchling ];
33
34 dependencies = [
35 bleach
36 certifi
37 charset-normalizer
38 idna
39 python-dateutil
40 python-slugify
41 requests
42 setuptools
43 six
44 text-unidecode
45 tqdm
46 urllib3
47 webencodings
48 protobuf
49 ];
50
51 # Tests try to access the network.
52 checkPhase = ''
53 export HOME="$TMP"
54 mkdir -p "$HOME/.kaggle/"
55 echo '{"username":"foobar","key":"00000000000000000000000000000000"}' > "$HOME/.kaggle/kaggle.json"
56 $out/bin/kaggle --help > /dev/null
57 '';
58 pythonImportsCheck = [ "kaggle" ];
59
60 meta = with lib; {
61 description = "Official API for https://www.kaggle.com, accessible using a command line tool implemented in Python 3";
62 mainProgram = "kaggle";
63 homepage = "https://github.com/Kaggle/kaggle-api";
64 license = licenses.asl20;
65 maintainers = with maintainers; [ mbalatsko ];
66 };
67}