nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 google-auth,
11 protobuf,
12 requests,
13
14 # tests
15 langchain-openai,
16 openai,
17 pyfakefs,
18 pytestCheckHook,
19 pytest-mock,
20 requests-mock,
21}:
22
23buildPythonPackage rec {
24 pname = "databricks-sdk";
25 version = "0.78.0";
26 pyproject = true;
27
28 src = fetchFromGitHub {
29 owner = "databricks";
30 repo = "databricks-sdk-py";
31 tag = "v${version}";
32 hash = "sha256-hoY4YuKIa7LmoW2MxUWKhLLsuTyO2b6qtpxr36hjP20=";
33 };
34
35 build-system = [
36 setuptools
37 ];
38
39 dependencies = [
40 google-auth
41 protobuf
42 requests
43 ];
44
45 pythonImportsCheck = [
46 "databricks.sdk"
47 ];
48
49 nativeCheckInputs = [
50 langchain-openai
51 openai
52 pyfakefs
53 pytestCheckHook
54 pytest-mock
55 requests-mock
56 ];
57
58 disabledTests = [
59 # Require internet access
60 # ValueError: default auth: cannot configure default credentials, please check...
61 "test_azure_cli_does_not_specify_tenant_id_with_msi"
62 "test_azure_cli_fallback"
63 "test_azure_cli_user_no_management_access"
64 "test_azure_cli_user_with_management_access"
65 "test_azure_cli_with_warning_on_stderr"
66 "test_azure_cli_workspace_header_present"
67 "test_config_azure_cli_host"
68 "test_config_azure_cli_host_and_resource_id"
69 "test_config_azure_cli_host_and_resource_i_d_configuration_precedence"
70 "test_load_azure_tenant_id_404"
71 "test_load_azure_tenant_id_happy_path"
72 "test_load_azure_tenant_id_no_location_header"
73 "test_load_azure_tenant_id_unparsable_location_header"
74 # Take an exceptionally long time when sandboxing is enabled due to retries
75 "test_multipart_upload"
76 "test_rewind_seekable_stream"
77 "test_resumable_upload"
78 # flaky -- ConnectionBroken under heavy load indicates a timing issue
79 "test_github_oidc_flow_works_with_azure"
80 ];
81
82 __darwinAllowLocalNetworking = true;
83
84 meta = {
85 description = "Databricks SDK for Python";
86 homepage = "https://github.com/databricks/databricks-sdk-py";
87 changelog = "https://github.com/databricks/databricks-sdk-py/blob/${src.tag}/CHANGELOG.md";
88 license = lib.licenses.asl20;
89 maintainers = with lib.maintainers; [ GaetanLepage ];
90 };
91}