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