1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pytestCheckHook
5, click
6, dateutils
7, hatchling
8, importlib-metadata
9, jinja2
10, jsonschema
11, more-itertools
12, pydantic
13, pyyaml
14, typing-extensions
15, hypothesis
16}:
17
18buildPythonPackage rec {
19 pname = "dbt-semantic-interfaces";
20 version = "0.2.2";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "dbt-labs";
25 repo = pname;
26 rev = "v${version}";
27 hash = "sha256-pnhmfj349uMjSsmdr53dY1Xur6huRKHiXWI7DXYK1gE=";
28 };
29
30 propagatedBuildInputs = [
31 click
32 dateutils
33 importlib-metadata
34 jinja2
35 jsonschema
36 more-itertools
37 pydantic
38 pyyaml
39 typing-extensions
40 ];
41
42 nativeBuildInputs = [
43 hatchling
44 ];
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 hypothesis
49 ];
50
51 pythonImportsCheck = [
52 "dbt_semantic_interfaces"
53 ];
54
55 meta = with lib; {
56 changelog = "https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v${version}";
57 description = "shared interfaces used by dbt-core and MetricFlow projects";
58 homepage = "https://github.com/dbt-labs/dbt-semantic-interfaces";
59 license = licenses.asl20;
60 maintainers = with maintainers; [ pbsds ];
61 };
62}