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