diff --git a/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix b/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix new file mode 100644 index 000000000000..694b2c7f7372 --- /dev/null +++ b/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, click +, dateutils +, hatchling +, importlib-metadata +, jinja2 +, jsonschema +, more-itertools +, pydantic +, pyyaml +, typing-extensions +, hypothesis +}: + +buildPythonPackage rec { + pname = "dbt-semantic-interfaces"; + version = "0.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dbt-labs"; + repo = pname; + rev = "v${version}"; + hash = "sha256-pnhmfj349uMjSsmdr53dY1Xur6huRKHiXWI7DXYK1gE="; + }; + + propagatedBuildInputs = [ + click + dateutils + importlib-metadata + jinja2 + jsonschema + more-itertools + pydantic + pyyaml + typing-extensions + ]; + + nativeBuildInputs = [ + hatchling + ]; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + ]; + + pythonImportsCheck = [ + "dbt_semantic_interfaces" + ]; + + meta = with lib; { + changelog = "https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v${version}"; + description = "shared interfaces used by dbt-core and MetricFlow projects"; + homepage = "https://github.com/dbt-labs/dbt-semantic-interfaces"; + license = licenses.asl20; + maintainers = with maintainers; [ pbsds ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4b29edee0ec6..bc3ee33fc75c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2632,6 +2632,8 @@ self: super: with self; { dbt-redshift = callPackage ../development/python-modules/dbt-redshift { }; + dbt-semantic-interfaces = callPackage ../development/python-modules/dbt-semantic-interfaces { }; + dbt-snowflake = callPackage ../development/python-modules/dbt-snowflake { }; dbus-client-gen = callPackage ../development/python-modules/dbus-client-gen { };