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