diff --git a/pkgs/development/python-modules/dbt-common/default.nix b/pkgs/development/python-modules/dbt-common/default.nix new file mode 100644 index 000000000000..be1246264845 --- /dev/null +++ b/pkgs/development/python-modules/dbt-common/default.nix @@ -0,0 +1,65 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + agate, + colorama, + isodate, + jinja2, + jsonschema, + mashumaro, + pathspec, + protobuf, + python-dateutil, + requests, + typing-extensions, + pytest-mock, + pytest-xdist, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "dbt-common"; + version = "1.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dbt-labs"; + repo = "dbt-common"; + rev = "refs/tags/v${version}"; + hash = "sha256-3UjwQy257ks21fQV0uZNKu5EsuzjlIAEcVtRWkR9x/4="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + agate + colorama + isodate + jinja2 + jsonschema + mashumaro + pathspec + protobuf + python-dateutil + requests + typing-extensions + ] ++ mashumaro.optional-dependencies.msgpack; + + pythonImportsCheck = [ "dbt_common" ]; + + nativeCheckInputs = [ + pytest-mock + pytest-xdist + pytestCheckHook + ]; + + meta = { + description = "Shared common utilities for dbt-core and adapter implementations use"; + homepage = "https://github.com/dbt-labs/dbt-common"; + changelog = "https://github.com/dbt-labs/dbt-common/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index aa64b030c9d6..1986e53a8575 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2867,6 +2867,8 @@ self: super: with self; { dbt-bigquery = callPackage ../development/python-modules/dbt-bigquery { }; + dbt-common = callPackage ../development/python-modules/dbt-common { }; + dbt-core = callPackage ../development/python-modules/dbt-core { }; dbt-extractor = callPackage ../development/python-modules/dbt-extractor { };