54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ 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.
 | 
						|
  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";
 | 
						|
    homepage = "https://github.com/Kaggle/kaggle-api";
 | 
						|
    license = licenses.asl20;
 | 
						|
    maintainers = with maintainers; [ cdepillabout ];
 | 
						|
  };
 | 
						|
}
 |