1{ lib 2, python3 3, buildPythonPackage 4, fetchFromGitHub 5, agate 6, cffi 7, click 8, colorama 9, dbt-extractor 10, dbt-semantic-interfaces 11, hologram 12, idna 13, isodate 14, jinja2 15, logbook 16, mashumaro 17, minimal-snowplow-tracker 18, networkx 19, packaging 20, pathspec 21, protobuf 22, pythonRelaxDepsHook 23, pytz 24, pyyaml 25, requests 26, sqlparse 27, typing-extensions 28, urllib3 29, werkzeug 30}: 31 32buildPythonPackage rec { 33 pname = "dbt-core"; 34 version = "1.6.2"; 35 format = "setuptools"; 36 37 src = fetchFromGitHub { 38 owner = "dbt-labs"; 39 repo = pname; 40 rev = "refs/tags/v${version}"; 41 hash = "sha256-zmZdFOB0jQHamRJ7Zuzr/augP6Y2smAdUvqSXDZDuwo="; 42 }; 43 44 sourceRoot = "${src.name}/core"; 45 46 nativeBuildInputs = [ 47 pythonRelaxDepsHook 48 ]; 49 50 pythonRelaxDeps = [ 51 "agate" 52 "click" 53 "mashumaro" 54 "networkx" 55 "logbook" 56 ]; 57 58 propagatedBuildInputs = [ 59 agate 60 cffi 61 click 62 colorama 63 dbt-extractor 64 dbt-semantic-interfaces 65 hologram 66 idna 67 isodate 68 jinja2 69 logbook 70 mashumaro 71 minimal-snowplow-tracker 72 networkx 73 packaging 74 pathspec 75 protobuf 76 pytz 77 pyyaml 78 requests 79 sqlparse 80 typing-extensions 81 urllib3 82 werkzeug 83 ] ++ mashumaro.optional-dependencies.msgpack; 84 85 # tests exist for the dbt tool but not for this package specifically 86 doCheck = false; 87 88 passthru = { 89 withAdapters = python3.pkgs.callPackage ./with-adapters.nix { }; 90 }; 91 92 meta = with lib; { 93 description = "Enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications"; 94 longDescription = '' 95 The dbt tool needs adapters to data sources in order to work. The available 96 adapters are: 97 98 dbt-bigquery 99 dbt-postgres 100 dbt-redshift 101 dbt-snowflake 102 103 An example of building this package with a few adapters: 104 105 dbt.withAdapters (adapters: [ 106 adapters.dbt-bigquery 107 adapters.dbt-postgres 108 ]) 109 ''; 110 homepage = "https://github.com/dbt-labs/dbt-core"; 111 changelog = "https://github.com/dbt-labs/dbt-core/blob/v${version}/CHANGELOG.md"; 112 license = licenses.asl20; 113 maintainers = with maintainers; [ mausch tjni ]; 114 mainProgram = "dbt"; 115 }; 116}