1{ lib
2, jdk8
3, buildPythonPackage
4, fetchPypi
5, six
6, py4j
7, pythonOlder
8}:
9
10buildPythonPackage rec {
11 pname = "databricks-connect";
12 version = "10.4.12";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchPypi {
18 inherit pname version;
19 sha256 = "sha256-T5KGJQryiE2+x9u+AcvTm6dLpU3kh20sCu0CTwpeJao=";
20 };
21
22 sourceRoot = ".";
23
24 propagatedBuildInputs = [ py4j six jdk8 ];
25
26 # requires network access
27 doCheck = false;
28
29 prePatch = ''
30 substituteInPlace setup.py \
31 --replace "py4j==0.10.9" "py4j"
32 '';
33
34 preFixup = ''
35 substituteInPlace "$out/bin/find-spark-home" \
36 --replace find_spark_home.py .find_spark_home.py-wrapped
37 '';
38
39 pythonImportsCheck = [ "pyspark" "six" "py4j" ];
40
41 meta = with lib; {
42 description = "Client for connecting to remote Databricks clusters";
43 homepage = "https://pypi.org/project/databricks-connect";
44 sourceProvenance = with sourceTypes; [ binaryBytecode ];
45 license = licenses.databricks;
46 maintainers = with maintainers; [ kfollesdal ];
47 };
48}