diff --git a/lib/licenses.nix b/lib/licenses.nix index 873ad1b7bbda..56299612a0e6 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -520,6 +520,13 @@ in mkLicense lset) ({ free = false; }; + databricks-dbx = { + fullName = "DataBricks eXtensions aka dbx License"; + url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE"; + free = false; + redistributable = false; + }; + issl = { fullName = "Intel Simplified Software License"; url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; diff --git a/pkgs/applications/misc/dbx/default.nix b/pkgs/applications/misc/dbx/default.nix new file mode 100644 index 000000000000..789f6edc803e --- /dev/null +++ b/pkgs/applications/misc/dbx/default.nix @@ -0,0 +1,103 @@ +{ buildPythonPackage +, fetchFromGitHub +, databricks-cli +, scipy +, pathpy +, pathspec +, pydantic +, protobuf +, tqdm +, mlflow +, azure-identity +, ruamel-yaml +, emoji +, cookiecutter +, retry +, azure-mgmt-datafactory +, azure-mgmt-subscription +, pytestCheckHook +, pytest-asyncio +, pytest-timeout +, lib +}: + +buildPythonPackage rec { + pname = "dbx"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "databrickslabs"; + repo = "dbx"; + rev = "v${version}"; + sha256 = "gd466hhyTfPZwC3B3LlydRrkDtfzjY7SvTKy13HDFG8="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "protobuf==4.21.1" "protobuf>=3.19.4" + ''; + + propagatedBuildInputs = [ + databricks-cli + scipy + pathpy + pathspec + pydantic + protobuf + tqdm + mlflow + azure-identity + ruamel-yaml + emoji + cookiecutter + retry + azure-mgmt-datafactory + azure-mgmt-subscription + ]; + + checkInputs = [ + pytestCheckHook + pytest-asyncio + pytest-timeout + ]; + + disabledTests = [ + # require a HOME for cookiecutter + "test_configure" + "test_datafactory_deploy" + "test_deploy_incorrect_artifact_location" + "test_deploy_listed_jobs" + "test_deploy_multitask_json" + "test_deploy_multitask_yaml" + "test_deploy_non_existent_env" + "test_deploy_path_adjustment_json" + "test_deploy_path_adjustment_yaml" + "test_deploy_with_jobs" + "test_deploy_with_requirements_and_branch" + "test_deployment_with_bad_env_variable" + "test_update_job_negative" + "test_update_job_positive" + "test_with_permissions" + "test_write_specs_to_file" + "test_awake_cluster" + "test_execute" + "test_preprocess_cluster_args" + "test_launch" + "test_launch_run_submit" + "test_launch_with_parameters" + "test_no_runs" + "test_no_runs_run_submit" + "test_payload_keys" + "test_trace_runs" + # fails because of dbfs CLI wrong call + "test_dbfs_unknown_user" + "test_dbfs_no_root" + ]; + + meta = with lib; { + homepage = "https://github.com/databrickslabs/dbx"; + description = "CLI tool for advanced Databricks jobs management"; + license = licenses.databricks-dbx; + maintainers = with maintainers; [ GuillaumeDesforges ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 834de8b820cb..8a701c153653 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3486,6 +3486,8 @@ with pkgs; dbus-broker = callPackage ../os-specific/linux/dbus-broker { }; + dbx = python3Packages.callPackage ../applications/misc/dbx { }; + ioport = callPackage ../os-specific/linux/ioport {}; dgoss = callPackage ../tools/misc/dgoss { };