altimate-datapilot-cli 0.0.14__tar.gz → 0.0.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.bumpversion.cfg +1 -1
- altimate-datapilot-cli-0.0.16/.github/workflows/github-actions.yml +197 -0
- {altimate-datapilot-cli-0.0.14/src/altimate_datapilot_cli.egg-info → altimate-datapilot-cli-0.0.16}/PKG-INFO +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/conf.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/setup.py +7 -7
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16/src/altimate_datapilot_cli.egg-info}/PKG-INFO +1 -1
- altimate-datapilot-cli-0.0.16/src/altimate_datapilot_cli.egg-info/requires.txt +6 -0
- altimate-datapilot-cli-0.0.16/src/datapilot/__init__.py +1 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_labels_keys.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_meta_keys.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_freshness.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_labels_keys.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_meta_keys.py +1 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/schemas/catalog.py +0 -19
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/schemas/manifest.py +2 -39
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/wrapper.py +77 -64
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/wrapper.py +88 -75
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/schemas.py +13 -13
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/wrapper.py +20 -19
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tox.ini +5 -3
- altimate-datapilot-cli-0.0.14/.github/workflows/github-actions.yml +0 -329
- altimate-datapilot-cli-0.0.14/src/altimate_datapilot_cli.egg-info/requires.txt +0 -6
- altimate-datapilot-cli-0.0.14/src/datapilot/__init__.py +0 -1
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.cookiecutterrc +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.coveragerc +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.editorconfig +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.pre-commit-config.yaml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.pre-commit-hooks.yaml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/.readthedocs.yml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/AUTHORS.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/CHANGELOG.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/CONTRIBUTING.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/LICENSE +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/MANIFEST.in +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/README.md +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/README.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/ci/bootstrap.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/ci/requirements.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/ci/templates/.github/workflows/github-actions.yml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/authors.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/changelog.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/configuration.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/contributing.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/features.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/hooks.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/index.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/insights.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/installation.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/introduction.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/performance.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/readme.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/reference/datapilot.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/reference/index.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/requirements.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/spelling_wordlist.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/docs/usage.rst +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/pyproject.toml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/pytest.ini +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/setup.cfg +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/altimate_datapilot_cli.egg-info/SOURCES.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/altimate_datapilot_cli.egg-info/dependency_links.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/altimate_datapilot_cli.egg-info/entry_points.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/altimate_datapilot_cli.egg-info/not-zip-safe +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/altimate_datapilot_cli.egg-info/top_level.txt +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/__main__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/cli/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/cli/main.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/clients/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/clients/altimate/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/clients/altimate/client.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/clients/altimate/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/config/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/config/config.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/config/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/base/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/base/insight.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/report.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/schema.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/sql/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/sql/base/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/sql/base/insight.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/sql/runtime/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/sql/static/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/insights/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/cli/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/cli/cli.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/constants.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/exceptions.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/executor.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/factory.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/formatting.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/hooks/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/hooks/executor_hook.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_column_desc_are_same.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_column_name_contract.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_macro_args_have_desc.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_macro_has_desc.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_all_columns.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_properties_file.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_group.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_name.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_type.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_materialization_by_childs.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_name_contract.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_and_childs.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_database.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_schema.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_model_tags.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_childs.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_columns_have_desc.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_all_columns.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_loader.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_group.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_name.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_type.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_table_has_description.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/checks/check_source_tags.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/dbt_test/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/dbt_test/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/dbt_test/missing_primary_key_tests.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/dbt_test/test_coverage.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/documentation_on_stale_columns.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/exposures_dependent_on_private_models.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/public_models_without_contracts.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/undocumented_columns.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/governance/undocumented_public_models.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/README.md +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/direct_join_to_source.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/downstream_models_dependent_on_source.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/duplicate_sources.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/hard_coded_references.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/joining_of_upstream_concepts.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/model_fanout.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/multiple_sources_joined.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/root_model.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/source_fanout.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/staging_model_dependent_on_downstream_models.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/staging_model_dependent_on_staging_models.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/modelling/unused_sources.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/performance/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/performance/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/performance/chain_view_linking.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/performance/exposure_parent_materializations.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/schema.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/sql/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/sql/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/sql/sql_check.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/base.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/model_directories_structure.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/model_naming_conventions.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/source_directories_structure.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/structure/test_directory_structure.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/insights/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/schemas/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/catalog/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/catalog/v1/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/catalog/v1/wrapper.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/catalog/wrapper.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/schemas.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/schemas.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/manifest/wrapper.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/run_results/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/core/platforms/dbt/wrappers/run_results/run_results.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/exceptions/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/exceptions/exceptions.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/schemas/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/schemas/constants.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/schemas/nodes.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/schemas/sql.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/utils/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/utils/formatting/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/utils/formatting/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/src/datapilot/utils/utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/core/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/core/platform/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/core/platform/dbt/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/core/platform/dbt/test_cli.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/core/platform/dbt/test_utils.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/catalog_v1.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/catalog_v12.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/config.yml +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifest_v10.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifest_v10macroargs.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifest_v11.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifest_v11macroargs.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifest_v12.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_js.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_js2.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_js3.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_tuva.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_tuva2.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/data/manifests/manifest_tuva3.json +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/utils/__init__.py +0 -0
- {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.16}/tests/utils/test_utils.py +0 -0
@@ -0,0 +1,197 @@
|
|
1
|
+
name: build
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
name: ${{ matrix.name }}
|
6
|
+
runs-on: ${{ matrix.os }}
|
7
|
+
timeout-minutes: 30
|
8
|
+
strategy:
|
9
|
+
fail-fast: false
|
10
|
+
matrix:
|
11
|
+
include:
|
12
|
+
- name: 'check'
|
13
|
+
python: '3.11'
|
14
|
+
toxpython: 'python3.11'
|
15
|
+
tox_env: 'check'
|
16
|
+
os: 'ubuntu-latest'
|
17
|
+
- name: 'docs'
|
18
|
+
python: '3.11'
|
19
|
+
toxpython: 'python3.11'
|
20
|
+
tox_env: 'docs'
|
21
|
+
os: 'ubuntu-latest'
|
22
|
+
- name: 'py39-pydantic28-cover (ubuntu)'
|
23
|
+
python: '3.9'
|
24
|
+
toxpython: 'python3.9'
|
25
|
+
python_arch: 'x64'
|
26
|
+
tox_env: 'py39-pydantic28-cover'
|
27
|
+
os: 'ubuntu-latest'
|
28
|
+
- name: 'py39-pydantic28-cover (windows)'
|
29
|
+
python: '3.9'
|
30
|
+
toxpython: 'python3.9'
|
31
|
+
python_arch: 'x64'
|
32
|
+
tox_env: 'py39-pydantic28-cover'
|
33
|
+
os: 'windows-latest'
|
34
|
+
- name: 'py39-pydantic28-cover (macos)'
|
35
|
+
python: '3.9'
|
36
|
+
toxpython: 'python3.9'
|
37
|
+
python_arch: 'x64'
|
38
|
+
tox_env: 'py39-pydantic28-cover'
|
39
|
+
os: 'macos-13'
|
40
|
+
- name: 'py39-pydantic210-cover'
|
41
|
+
python: '3.9'
|
42
|
+
toxpython: 'python3.9'
|
43
|
+
python_arch: 'x64'
|
44
|
+
tox_env: 'py39-pydantic210-cover'
|
45
|
+
os: 'ubuntu-latest'
|
46
|
+
- name: 'py39-pydantic28-nocov'
|
47
|
+
python: '3.9'
|
48
|
+
toxpython: 'python3.9'
|
49
|
+
python_arch: 'x64'
|
50
|
+
tox_env: 'py39-pydantic28-nocov'
|
51
|
+
os: 'ubuntu-latest'
|
52
|
+
- name: 'py39-pydantic210-nocov'
|
53
|
+
python: '3.9'
|
54
|
+
toxpython: 'python3.9'
|
55
|
+
python_arch: 'x64'
|
56
|
+
tox_env: 'py39-pydantic210-nocov'
|
57
|
+
os: 'ubuntu-latest'
|
58
|
+
- name: 'py310-pydantic28-cover'
|
59
|
+
python: '3.10'
|
60
|
+
toxpython: 'python3.10'
|
61
|
+
python_arch: 'x64'
|
62
|
+
tox_env: 'py310-pydantic28-cover'
|
63
|
+
os: 'ubuntu-latest'
|
64
|
+
- name: 'py310-pydantic210-cover'
|
65
|
+
python: '3.10'
|
66
|
+
toxpython: 'python3.10'
|
67
|
+
python_arch: 'x64'
|
68
|
+
tox_env: 'py310-pydantic210-cover'
|
69
|
+
os: 'ubuntu-latest'
|
70
|
+
- name: 'py310-pydantic28-nocov'
|
71
|
+
python: '3.10'
|
72
|
+
toxpython: 'python3.10'
|
73
|
+
python_arch: 'x64'
|
74
|
+
tox_env: 'py310-pydantic28-nocov'
|
75
|
+
os: 'ubuntu-latest'
|
76
|
+
- name: 'py310-pydantic210-nocov'
|
77
|
+
python: '3.10'
|
78
|
+
toxpython: 'python3.10'
|
79
|
+
python_arch: 'x64'
|
80
|
+
tox_env: 'py310-pydantic210-nocov'
|
81
|
+
os: 'ubuntu-latest'
|
82
|
+
- name: 'py311-pydantic28-cover'
|
83
|
+
python: '3.11'
|
84
|
+
toxpython: 'python3.11'
|
85
|
+
python_arch: 'x64'
|
86
|
+
tox_env: 'py311-pydantic28-cover'
|
87
|
+
os: 'ubuntu-latest'
|
88
|
+
- name: 'py311-pydantic210-cover'
|
89
|
+
python: '3.11'
|
90
|
+
toxpython: 'python3.11'
|
91
|
+
python_arch: 'x64'
|
92
|
+
tox_env: 'py311-pydantic210-cover'
|
93
|
+
os: 'ubuntu-latest'
|
94
|
+
- name: 'py311-pydantic28-nocov'
|
95
|
+
python: '3.11'
|
96
|
+
toxpython: 'python3.11'
|
97
|
+
python_arch: 'x64'
|
98
|
+
tox_env: 'py311-pydantic28-nocov'
|
99
|
+
os: 'ubuntu-latest'
|
100
|
+
- name: 'py311-pydantic210-nocov'
|
101
|
+
python: '3.11'
|
102
|
+
toxpython: 'python3.11'
|
103
|
+
python_arch: 'x64'
|
104
|
+
tox_env: 'py311-pydantic210-nocov'
|
105
|
+
os: 'ubuntu-latest'
|
106
|
+
- name: 'py312-pydantic28-cover'
|
107
|
+
python: '3.12'
|
108
|
+
toxpython: 'python3.12'
|
109
|
+
python_arch: 'x64'
|
110
|
+
tox_env: 'py312-pydantic28-cover'
|
111
|
+
os: 'ubuntu-latest'
|
112
|
+
- name: 'py312-pydantic210-cover'
|
113
|
+
python: '3.12'
|
114
|
+
toxpython: 'python3.12'
|
115
|
+
python_arch: 'x64'
|
116
|
+
tox_env: 'py312-pydantic210-cover'
|
117
|
+
os: 'ubuntu-latest'
|
118
|
+
- name: 'py312-pydantic28-nocov'
|
119
|
+
python: '3.12'
|
120
|
+
toxpython: 'python3.12'
|
121
|
+
python_arch: 'x64'
|
122
|
+
tox_env: 'py312-pydantic28-nocov'
|
123
|
+
os: 'ubuntu-latest'
|
124
|
+
- name: 'py312-pydantic210-nocov'
|
125
|
+
python: '3.12'
|
126
|
+
toxpython: 'python3.12'
|
127
|
+
python_arch: 'x64'
|
128
|
+
tox_env: 'py312-pydantic210-nocov'
|
129
|
+
os: 'ubuntu-latest'
|
130
|
+
- name: 'pypy39-pydantic28-cover'
|
131
|
+
python: 'pypy-3.9'
|
132
|
+
toxpython: 'pypy3.9'
|
133
|
+
python_arch: 'x64'
|
134
|
+
tox_env: 'pypy39-pydantic28-cover'
|
135
|
+
os: 'ubuntu-latest'
|
136
|
+
- name: 'pypy39-pydantic210-cover'
|
137
|
+
python: 'pypy-3.9'
|
138
|
+
toxpython: 'pypy3.9'
|
139
|
+
python_arch: 'x64'
|
140
|
+
tox_env: 'pypy39-pydantic210-cover'
|
141
|
+
os: 'ubuntu-latest'
|
142
|
+
- name: 'pypy39-pydantic28-nocov'
|
143
|
+
python: 'pypy-3.9'
|
144
|
+
toxpython: 'pypy3.9'
|
145
|
+
python_arch: 'x64'
|
146
|
+
tox_env: 'pypy39-pydantic28-nocov'
|
147
|
+
os: 'ubuntu-latest'
|
148
|
+
- name: 'pypy39-pydantic210-nocov'
|
149
|
+
python: 'pypy-3.9'
|
150
|
+
toxpython: 'pypy3.9'
|
151
|
+
python_arch: 'x64'
|
152
|
+
tox_env: 'pypy39-pydantic210-nocov'
|
153
|
+
os: 'ubuntu-latest'
|
154
|
+
- name: 'pypy310-pydantic28-cover'
|
155
|
+
python: 'pypy-3.10'
|
156
|
+
toxpython: 'pypy3.10'
|
157
|
+
python_arch: 'x64'
|
158
|
+
tox_env: 'pypy310-pydantic28-cover'
|
159
|
+
os: 'ubuntu-latest'
|
160
|
+
- name: 'pypy310-pydantic210-cover'
|
161
|
+
python: 'pypy-3.10'
|
162
|
+
toxpython: 'pypy3.10'
|
163
|
+
python_arch: 'x64'
|
164
|
+
tox_env: 'pypy310-pydantic210-cover'
|
165
|
+
os: 'ubuntu-latest'
|
166
|
+
- name: 'pypy310-pydantic28-nocov'
|
167
|
+
python: 'pypy-3.10'
|
168
|
+
toxpython: 'pypy3.10'
|
169
|
+
python_arch: 'x64'
|
170
|
+
tox_env: 'pypy310-pydantic28-nocov'
|
171
|
+
os: 'ubuntu-latest'
|
172
|
+
- name: 'pypy310-pydantic210-nocov'
|
173
|
+
python: 'pypy-3.10'
|
174
|
+
toxpython: 'pypy3.10'
|
175
|
+
python_arch: 'x64'
|
176
|
+
tox_env: 'pypy310-pydantic210-nocov'
|
177
|
+
os: 'ubuntu-latest'
|
178
|
+
steps:
|
179
|
+
- uses: actions/checkout@v4
|
180
|
+
with:
|
181
|
+
fetch-depth: 0
|
182
|
+
- uses: actions/setup-python@v5
|
183
|
+
with:
|
184
|
+
python-version: ${{ matrix.python }}
|
185
|
+
architecture: ${{ matrix.python_arch }}
|
186
|
+
- name: install dependencies
|
187
|
+
run: |
|
188
|
+
python -mpip install --progress-bar=off -r ci/requirements.txt
|
189
|
+
virtualenv --version
|
190
|
+
pip --version
|
191
|
+
tox --version
|
192
|
+
pip list --format=freeze
|
193
|
+
- name: test
|
194
|
+
env:
|
195
|
+
TOXPYTHON: '${{ matrix.toxpython }}'
|
196
|
+
run: >
|
197
|
+
tox -e ${{ matrix.tox_env }} -v
|
@@ -13,7 +13,7 @@ def read(*names, **kwargs):
|
|
13
13
|
|
14
14
|
setup(
|
15
15
|
name="altimate-datapilot-cli",
|
16
|
-
version="0.0.
|
16
|
+
version="0.0.16",
|
17
17
|
license="MIT",
|
18
18
|
description="Assistant for Data Teams",
|
19
19
|
long_description="{}\n{}".format(
|
@@ -62,12 +62,12 @@ setup(
|
|
62
62
|
],
|
63
63
|
python_requires=">=3.8",
|
64
64
|
install_requires=[
|
65
|
-
"click
|
66
|
-
"dbt-artifacts-parser
|
67
|
-
"ruamel.yaml
|
68
|
-
"tabulate
|
69
|
-
"requests
|
70
|
-
"sqlglot
|
65
|
+
"click~=8.1.7",
|
66
|
+
"dbt-artifacts-parser~=0.8.1",
|
67
|
+
"ruamel.yaml~=0.18.6",
|
68
|
+
"tabulate~=0.9.0",
|
69
|
+
"requests~=2.31.0",
|
70
|
+
"sqlglot~=25.30.0",
|
71
71
|
],
|
72
72
|
extras_require={
|
73
73
|
# eg:
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.0.16"
|
@@ -76,7 +76,7 @@ class CheckModelHasLabelsKeys(ChecksInsight):
|
|
76
76
|
def _check_labels_keys(self, node_id) -> Tuple[int, Set[str]]:
|
77
77
|
status_code = 0
|
78
78
|
missing_keys = set(self.labels_keys) - set(self.get_node(node_id).label)
|
79
|
-
config = self.get_node(node_id).config.
|
79
|
+
config = self.get_node(node_id).config.model_dump() if self.get_node(node_id).config else {}
|
80
80
|
labels = config.get("labels", {})
|
81
81
|
label_keys = set(labels.keys())
|
82
82
|
extra_keys = set()
|
@@ -72,7 +72,7 @@ class CheckModelHasMetaKeys(ChecksInsight):
|
|
72
72
|
def _check_meta_keys(self, node_id) -> Tuple[int, Set[str], Set[str]]:
|
73
73
|
status_code = 0
|
74
74
|
model = self.get_node(node_id)
|
75
|
-
meta = model.meta
|
75
|
+
meta = model.meta if model.meta else {}
|
76
76
|
model_meta_keys = set(meta.keys())
|
77
77
|
missing_keys = None
|
78
78
|
extra_keys = None
|
@@ -61,7 +61,7 @@ class CheckSourceHasFreshness(ChecksInsight):
|
|
61
61
|
|
62
62
|
def _check_source_has_freshness(self, source_id: str) -> List[str]:
|
63
63
|
source = self.get_node(source_id)
|
64
|
-
freshness = source.freshness.
|
64
|
+
freshness = source.freshness.model_dump() if source.freshness else {}
|
65
65
|
|
66
66
|
if not freshness:
|
67
67
|
return False
|
@@ -74,7 +74,7 @@ class CheckSourceHasLabelsKeys(ChecksInsight):
|
|
74
74
|
def _check_labels_keys(self, node_id) -> Tuple[int, Set[str]]:
|
75
75
|
status_code = 0
|
76
76
|
missing_keys = set(self.labels_keys) - set(self.get_node(node_id).label)
|
77
|
-
config = self.get_node(node_id).config.
|
77
|
+
config = self.get_node(node_id).config.model_dump() if self.get_node(node_id).config else {}
|
78
78
|
labels = config.get("labels", {})
|
79
79
|
label_keys = set(labels.keys())
|
80
80
|
extra_keys = set()
|
@@ -81,7 +81,7 @@ class CheckSourceHasMetaKeys(ChecksInsight):
|
|
81
81
|
def _check_source_has_meta_keys(self, source_unique_id: str):
|
82
82
|
status_code = 0
|
83
83
|
model = self.get_node(source_unique_id)
|
84
|
-
meta = model.meta
|
84
|
+
meta = model.meta if model.meta else {}
|
85
85
|
model_meta_keys = set(meta.keys())
|
86
86
|
missing_keys = None
|
87
87
|
extra_keys = None
|
@@ -5,14 +5,10 @@ from typing import List
|
|
5
5
|
from typing import Optional
|
6
6
|
from typing import Union
|
7
7
|
|
8
|
-
from pydantic.config import Extra
|
9
8
|
from pydantic.main import BaseModel
|
10
9
|
|
11
10
|
|
12
11
|
class AltimateCatalogMetadata(BaseModel):
|
13
|
-
class Config:
|
14
|
-
extra = Extra.forbid
|
15
|
-
|
16
12
|
dbt_schema_version: Optional[str] = "https://schemas.getdbt.com/dbt/catalog/v1.json"
|
17
13
|
dbt_version: Optional[str] = "0.19.0"
|
18
14
|
generated_at: Optional[datetime] = "2021-02-10T04:42:33.680487Z"
|
@@ -21,9 +17,6 @@ class AltimateCatalogMetadata(BaseModel):
|
|
21
17
|
|
22
18
|
|
23
19
|
class AltimateCatalogTableMetadata(BaseModel):
|
24
|
-
class Config:
|
25
|
-
extra = Extra.forbid
|
26
|
-
|
27
20
|
type: str
|
28
21
|
database: Optional[Optional[str]] = None
|
29
22
|
schema_name: str
|
@@ -33,9 +26,6 @@ class AltimateCatalogTableMetadata(BaseModel):
|
|
33
26
|
|
34
27
|
|
35
28
|
class AltimateCatalogColumnMetadata(BaseModel):
|
36
|
-
class Config:
|
37
|
-
extra = Extra.forbid
|
38
|
-
|
39
29
|
type: str
|
40
30
|
comment: Optional[Optional[str]] = None
|
41
31
|
index: int
|
@@ -43,9 +33,6 @@ class AltimateCatalogColumnMetadata(BaseModel):
|
|
43
33
|
|
44
34
|
|
45
35
|
class AltimateCatalogStatsItem(BaseModel):
|
46
|
-
class Config:
|
47
|
-
extra = Extra.forbid
|
48
|
-
|
49
36
|
id: str
|
50
37
|
label: str
|
51
38
|
value: Optional[Optional[Union[bool, str, float]]] = None
|
@@ -54,9 +41,6 @@ class AltimateCatalogStatsItem(BaseModel):
|
|
54
41
|
|
55
42
|
|
56
43
|
class AltimateCatalogTable(BaseModel):
|
57
|
-
class Config:
|
58
|
-
extra = Extra.forbid
|
59
|
-
|
60
44
|
metadata: AltimateCatalogTableMetadata
|
61
45
|
columns: Dict[str, AltimateCatalogColumnMetadata]
|
62
46
|
stats: Dict[str, AltimateCatalogStatsItem]
|
@@ -64,9 +48,6 @@ class AltimateCatalogTable(BaseModel):
|
|
64
48
|
|
65
49
|
|
66
50
|
class AltimateCatalogCatalogV1(BaseModel):
|
67
|
-
class Config:
|
68
|
-
extra = Extra.forbid
|
69
|
-
|
70
51
|
metadata: AltimateCatalogMetadata
|
71
52
|
nodes: Dict[str, AltimateCatalogTable]
|
72
53
|
sources: Dict[str, AltimateCatalogTable]
|
@@ -19,7 +19,6 @@ from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
|
|
19
19
|
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
|
20
20
|
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SupportedLanguage
|
21
21
|
from pydantic import BaseModel
|
22
|
-
from pydantic import Extra
|
23
22
|
|
24
23
|
|
25
24
|
class DBTVersion(BaseModel):
|
@@ -46,16 +45,13 @@ Catalog = CatalogV1
|
|
46
45
|
|
47
46
|
|
48
47
|
class AltimateDocs(BaseModel):
|
49
|
-
class Config:
|
50
|
-
extra = Extra.forbid
|
51
|
-
|
52
48
|
show: Optional[bool] = True
|
53
49
|
node_color: Optional[Optional[str]] = None
|
54
50
|
|
55
51
|
|
56
52
|
class AltimateDependsOn(BaseModel):
|
57
|
-
nodes: Optional[List[str]]
|
58
|
-
macros: Optional[List[str]]
|
53
|
+
nodes: Optional[List[str]] = None
|
54
|
+
macros: Optional[List[str]] = None
|
59
55
|
|
60
56
|
|
61
57
|
class AltimateManifestColumnInfo(BaseModel):
|
@@ -98,18 +94,12 @@ class AltimateAccess(Enum):
|
|
98
94
|
|
99
95
|
|
100
96
|
class AltimateDBTContract(BaseModel):
|
101
|
-
class Config:
|
102
|
-
extra = Extra.forbid
|
103
|
-
|
104
97
|
enforced: Optional[bool] = False
|
105
98
|
alias_types: Optional[bool] = True
|
106
99
|
checksum: Optional[Optional[str]] = None
|
107
100
|
|
108
101
|
|
109
102
|
class AltimateHook(BaseModel):
|
110
|
-
class Config:
|
111
|
-
extra = Extra.forbid
|
112
|
-
|
113
103
|
sql: str
|
114
104
|
transaction: Optional[bool] = True
|
115
105
|
index: Optional[Optional[int]] = None
|
@@ -117,9 +107,6 @@ class AltimateHook(BaseModel):
|
|
117
107
|
|
118
108
|
# TODO: Need to add the rest of the fields
|
119
109
|
class AltimateNodeConfig(BaseModel):
|
120
|
-
class Config:
|
121
|
-
extra = Extra.allow
|
122
|
-
|
123
110
|
_extra: Optional[Dict[str, Any]] = None
|
124
111
|
enabled: Optional[bool] = True
|
125
112
|
alias: Optional[Optional[str]] = None
|
@@ -203,9 +190,6 @@ class AltimateSourceConfig(BaseModel):
|
|
203
190
|
|
204
191
|
|
205
192
|
class AltimateDeferRelation(BaseModel):
|
206
|
-
class Config:
|
207
|
-
extra = Extra.forbid
|
208
|
-
|
209
193
|
database: Optional[str]
|
210
194
|
schema_name: str
|
211
195
|
alias: str
|
@@ -213,9 +197,6 @@ class AltimateDeferRelation(BaseModel):
|
|
213
197
|
|
214
198
|
|
215
199
|
class AltimateSeedConfig(BaseModel):
|
216
|
-
class Config:
|
217
|
-
extra = Extra.allow
|
218
|
-
|
219
200
|
_extra: Optional[Dict[str, Any]] = None
|
220
201
|
enabled: Optional[bool] = True
|
221
202
|
alias: Optional[Optional[str]] = None
|
@@ -314,9 +295,6 @@ class AltimateExposureType(Enum):
|
|
314
295
|
|
315
296
|
|
316
297
|
class AltimateOwner(BaseModel):
|
317
|
-
class Config:
|
318
|
-
extra = Extra.allow
|
319
|
-
|
320
298
|
_extra: Optional[Dict[str, Any]] = None
|
321
299
|
email: Optional[Optional[str]] = None
|
322
300
|
name: Optional[Optional[str]] = None
|
@@ -329,18 +307,12 @@ class AltimateMaturityEnum(Enum):
|
|
329
307
|
|
330
308
|
|
331
309
|
class AltimateRefArgs(BaseModel):
|
332
|
-
class Config:
|
333
|
-
extra = Extra.forbid
|
334
|
-
|
335
310
|
name: str
|
336
311
|
package: Optional[Optional[str]] = None
|
337
312
|
version: Optional[Optional[Union[str, float]]] = None
|
338
313
|
|
339
314
|
|
340
315
|
class AltimateExposureConfig(BaseModel):
|
341
|
-
class Config:
|
342
|
-
extra = Extra.allow
|
343
|
-
|
344
316
|
_extra: Optional[Dict[str, Any]] = None
|
345
317
|
enabled: Optional[bool] = True
|
346
318
|
|
@@ -371,18 +343,12 @@ class AltimateManifestExposureNode(BaseModel):
|
|
371
343
|
|
372
344
|
|
373
345
|
class AltimateTestMetadata(BaseModel):
|
374
|
-
class Config:
|
375
|
-
extra = Extra.forbid
|
376
|
-
|
377
346
|
name: str
|
378
347
|
kwargs: Optional[Dict[str, Any]] = None
|
379
348
|
namespace: Optional[Optional[str]] = None
|
380
349
|
|
381
350
|
|
382
351
|
class AltimateTestConfig(BaseModel):
|
383
|
-
class Config:
|
384
|
-
extra = Extra.allow
|
385
|
-
|
386
352
|
_extra: Optional[Dict[str, Any]] = None
|
387
353
|
enabled: Optional[bool] = True
|
388
354
|
alias: Optional[Optional[str]] = None
|
@@ -433,9 +399,6 @@ class AltimateManifestTestNode(BaseModel):
|
|
433
399
|
|
434
400
|
|
435
401
|
class AltimateMacroArgument(BaseModel):
|
436
|
-
class Config:
|
437
|
-
extra = Extra.forbid
|
438
|
-
|
439
402
|
name: str
|
440
403
|
type: Optional[Optional[str]] = None
|
441
404
|
description: Optional[Optional[str]] = ""
|