xwax: init at version 1.9 (#377421)
[NixPkgs.git] / pkgs / development / python-modules / dbt-core / default.nix
blob50f125b878c978cfbc91f0eaac05dc3a6d4306ed
2   lib,
3   agate,
4   buildPythonPackage,
5   click,
6   daff,
7   dbt-adapters,
8   dbt-common,
9   dbt-extractor,
10   dbt-semantic-interfaces,
11   fetchFromGitHub,
12   jinja2,
13   logbook,
14   mashumaro,
15   minimal-snowplow-tracker,
16   networkx,
17   packaging,
18   pathspec,
19   protobuf,
20   callPackage,
21   pythonOlder,
22   pytz,
23   pyyaml,
24   requests,
25   setuptools,
26   sqlparse,
27   typing-extensions,
30 buildPythonPackage rec {
31   pname = "dbt-core";
32   version = "1.8.9";
33   pyproject = true;
35   disabled = pythonOlder "3.9";
37   src = fetchFromGitHub {
38     owner = "dbt-labs";
39     repo = "dbt-core";
40     tag = "v${version}";
41     hash = "sha256-BoCp3aNVR7Bvjda5YLwRAwvZub4sqNJLRoEQ+tePP5g=";
42   };
44   sourceRoot = "${src.name}/core";
46   pythonRelaxDeps = [
47     "protobuf"
48     "agate"
49     "click"
50     "dbt-common"
51     "dbt-semantic-interfaces"
52     "logbook"
53     "mashumaro"
54     "networkx"
55     "pathspec"
56     "protobuf"
57     "urllib3"
58   ];
60   build-system = [
61     setuptools
62   ];
64   dependencies = [
65     agate
66     click
67     daff
68     dbt-adapters
69     dbt-common
70     dbt-extractor
71     dbt-semantic-interfaces
72     jinja2
73     logbook
74     mashumaro
75     minimal-snowplow-tracker
76     networkx
77     packaging
78     pathspec
79     protobuf
80     pytz
81     pyyaml
82     requests
83     sqlparse
84     typing-extensions
85   ] ++ mashumaro.optional-dependencies.msgpack;
87   # tests exist for the dbt tool but not for this package specifically
88   doCheck = false;
90   passthru = {
91     withAdapters = callPackage ./with-adapters.nix { };
92   };
94   meta = with lib; {
95     description = "Enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications";
96     longDescription = ''
97       The dbt tool needs adapters to data sources in order to work. The available
98       adapters are:
100         dbt-bigquery
101         dbt-postgres
102         dbt-redshift
103         dbt-snowflake
105       An example of building this package with a few adapters:
107         dbt.withAdapters (adapters: [
108           adapters.dbt-bigquery
109           adapters.dbt-postgres
110         ])
111     '';
112     homepage = "https://github.com/dbt-labs/dbt-core";
113     changelog = "https://github.com/dbt-labs/dbt-core/blob/v${version}/CHANGELOG.md";
114     license = licenses.asl20;
115     maintainers = with maintainers; [
116       mausch
117       tjni
118     ];
119     mainProgram = "dbt";
120   };