Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pyspark / default.nix
blobb735601681db714bfc612a1239560d1c3266d452
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , numpy
5 , pandas
6 , py4j
7 , pyarrow
8 , pythonOlder
9 }:
11 buildPythonPackage rec {
12   pname = "pyspark";
13   version = "3.5.0";
14   format = "setuptools";
16   disabled = pythonOlder "3.7";
18   src = fetchPypi {
19     inherit pname version;
20     hash = "sha256-1Bqbdr0qyjcKYQDQdcAp4iukTFlAknh36UNaOpxWZVg=";
21   };
23   # pypandoc is broken with pandoc2, so we just lose docs.
24   postPatch = ''
25     sed -i "s/'pypandoc'//" setup.py
27     substituteInPlace setup.py \
28       --replace py4j== 'py4j>='
29   '';
31   propagatedBuildInputs = [
32     py4j
33   ];
35   passthru.optional-dependencies = {
36     ml = [
37       numpy
38     ];
39     mllib = [
40       numpy
41     ];
42     sql = [
43       numpy
44       pandas
45       pyarrow
46     ];
47   };
49   # Tests assume running spark instance
50   doCheck = false;
52   pythonImportsCheck = [
53     "pyspark"
54   ];
56   meta = with lib; {
57     description = "Python bindings for Apache Spark";
58     homepage = "https://github.com/apache/spark/tree/master/python";
59     sourceProvenance = with sourceTypes; [
60       fromSource
61       binaryBytecode
62     ];
63     license = licenses.asl20;
64     maintainers = with maintainers; [ shlevy ];
65   };