altimate-datapilot-cli 0.0.14__tar.gz → 0.0.15__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.
Files changed (214) hide show
  1. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.bumpversion.cfg +1 -1
  2. {altimate-datapilot-cli-0.0.14/src/altimate_datapilot_cli.egg-info → altimate-datapilot-cli-0.0.15}/PKG-INFO +1 -1
  3. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/conf.py +1 -1
  4. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/setup.py +7 -7
  5. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15/src/altimate_datapilot_cli.egg-info}/PKG-INFO +1 -1
  6. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/altimate_datapilot_cli.egg-info/SOURCES.txt +1 -0
  7. altimate-datapilot-cli-0.0.15/src/altimate_datapilot_cli.egg-info/requires.txt +6 -0
  8. altimate-datapilot-cli-0.0.15/src/datapilot/__init__.py +1 -0
  9. altimate-datapilot-cli-0.0.15/src/datapilot/constants.py +7 -0
  10. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_labels_keys.py +1 -1
  11. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_meta_keys.py +1 -1
  12. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_freshness.py +1 -1
  13. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_labels_keys.py +1 -1
  14. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_meta_keys.py +1 -1
  15. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/schemas/catalog.py +21 -13
  16. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/schemas/manifest.py +41 -27
  17. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/wrapper.py +77 -64
  18. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/wrapper.py +88 -75
  19. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/schemas.py +13 -13
  20. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/wrapper.py +20 -19
  21. altimate-datapilot-cli-0.0.14/src/altimate_datapilot_cli.egg-info/requires.txt +0 -6
  22. altimate-datapilot-cli-0.0.14/src/datapilot/__init__.py +0 -1
  23. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.cookiecutterrc +0 -0
  24. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.coveragerc +0 -0
  25. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.editorconfig +0 -0
  26. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.github/workflows/github-actions.yml +0 -0
  27. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.pre-commit-config.yaml +0 -0
  28. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.pre-commit-hooks.yaml +0 -0
  29. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/.readthedocs.yml +0 -0
  30. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/AUTHORS.rst +0 -0
  31. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/CHANGELOG.rst +0 -0
  32. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/CONTRIBUTING.rst +0 -0
  33. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/LICENSE +0 -0
  34. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/MANIFEST.in +0 -0
  35. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/README.md +0 -0
  36. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/README.rst +0 -0
  37. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/ci/bootstrap.py +0 -0
  38. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/ci/requirements.txt +0 -0
  39. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/ci/templates/.github/workflows/github-actions.yml +0 -0
  40. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/authors.rst +0 -0
  41. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/changelog.rst +0 -0
  42. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/configuration.rst +0 -0
  43. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/contributing.rst +0 -0
  44. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/features.rst +0 -0
  45. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/hooks.rst +0 -0
  46. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/index.rst +0 -0
  47. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/insights.rst +0 -0
  48. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/installation.rst +0 -0
  49. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/introduction.rst +0 -0
  50. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/performance.rst +0 -0
  51. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/readme.rst +0 -0
  52. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/reference/datapilot.rst +0 -0
  53. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/reference/index.rst +0 -0
  54. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/requirements.txt +0 -0
  55. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/spelling_wordlist.txt +0 -0
  56. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/docs/usage.rst +0 -0
  57. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/pyproject.toml +0 -0
  58. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/pytest.ini +0 -0
  59. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/setup.cfg +0 -0
  60. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/altimate_datapilot_cli.egg-info/dependency_links.txt +0 -0
  61. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/altimate_datapilot_cli.egg-info/entry_points.txt +0 -0
  62. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/altimate_datapilot_cli.egg-info/not-zip-safe +0 -0
  63. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/altimate_datapilot_cli.egg-info/top_level.txt +0 -0
  64. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/__main__.py +0 -0
  65. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/cli/__init__.py +0 -0
  66. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/cli/main.py +0 -0
  67. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/clients/__init__.py +0 -0
  68. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/clients/altimate/__init__.py +0 -0
  69. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/clients/altimate/client.py +0 -0
  70. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/clients/altimate/utils.py +0 -0
  71. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/config/__init__.py +0 -0
  72. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/config/config.py +0 -0
  73. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/config/utils.py +0 -0
  74. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/__init__.py +0 -0
  75. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/__init__.py +0 -0
  76. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/base/__init__.py +0 -0
  77. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/base/insight.py +0 -0
  78. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/report.py +0 -0
  79. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/schema.py +0 -0
  80. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/sql/__init__.py +0 -0
  81. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/sql/base/__init__.py +0 -0
  82. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/sql/base/insight.py +0 -0
  83. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/sql/runtime/__init__.py +0 -0
  84. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/sql/static/__init__.py +0 -0
  85. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/insights/utils.py +0 -0
  86. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/__init__.py +0 -0
  87. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/__init__.py +0 -0
  88. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/cli/__init__.py +0 -0
  89. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/cli/cli.py +0 -0
  90. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/constants.py +0 -0
  91. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/exceptions.py +0 -0
  92. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/executor.py +0 -0
  93. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/factory.py +0 -0
  94. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/formatting.py +0 -0
  95. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/hooks/__init__.py +0 -0
  96. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/hooks/executor_hook.py +0 -0
  97. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/__init__.py +0 -0
  98. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/base.py +0 -0
  99. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/__init__.py +0 -0
  100. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/base.py +0 -0
  101. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_column_desc_are_same.py +0 -0
  102. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_column_name_contract.py +0 -0
  103. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_macro_args_have_desc.py +0 -0
  104. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_macro_has_desc.py +0 -0
  105. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_all_columns.py +0 -0
  106. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_properties_file.py +0 -0
  107. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_group.py +0 -0
  108. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_name.py +0 -0
  109. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_has_tests_by_type.py +0 -0
  110. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_materialization_by_childs.py +0 -0
  111. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_name_contract.py +0 -0
  112. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_and_childs.py +0 -0
  113. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_database.py +0 -0
  114. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_parents_schema.py +0 -0
  115. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_model_tags.py +0 -0
  116. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_childs.py +0 -0
  117. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_columns_have_desc.py +0 -0
  118. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_all_columns.py +0 -0
  119. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_loader.py +0 -0
  120. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests.py +0 -0
  121. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_group.py +0 -0
  122. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_name.py +0 -0
  123. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_has_tests_by_type.py +0 -0
  124. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_table_has_description.py +0 -0
  125. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/checks/check_source_tags.py +0 -0
  126. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/dbt_test/__init__.py +0 -0
  127. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/dbt_test/base.py +0 -0
  128. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/dbt_test/missing_primary_key_tests.py +0 -0
  129. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/dbt_test/test_coverage.py +0 -0
  130. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/__init__.py +0 -0
  131. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/base.py +0 -0
  132. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/documentation_on_stale_columns.py +0 -0
  133. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/exposures_dependent_on_private_models.py +0 -0
  134. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/public_models_without_contracts.py +0 -0
  135. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/undocumented_columns.py +0 -0
  136. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/governance/undocumented_public_models.py +0 -0
  137. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/README.md +0 -0
  138. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/__init__.py +0 -0
  139. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/base.py +0 -0
  140. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/direct_join_to_source.py +0 -0
  141. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/downstream_models_dependent_on_source.py +0 -0
  142. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/duplicate_sources.py +0 -0
  143. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/hard_coded_references.py +0 -0
  144. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/joining_of_upstream_concepts.py +0 -0
  145. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/model_fanout.py +0 -0
  146. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/multiple_sources_joined.py +0 -0
  147. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/root_model.py +0 -0
  148. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/source_fanout.py +0 -0
  149. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/staging_model_dependent_on_downstream_models.py +0 -0
  150. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/staging_model_dependent_on_staging_models.py +0 -0
  151. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/modelling/unused_sources.py +0 -0
  152. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/performance/__init__.py +0 -0
  153. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/performance/base.py +0 -0
  154. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/performance/chain_view_linking.py +0 -0
  155. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/performance/exposure_parent_materializations.py +0 -0
  156. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/schema.py +0 -0
  157. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/sql/__init__.py +0 -0
  158. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/sql/base.py +0 -0
  159. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/sql/sql_check.py +0 -0
  160. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/__init__.py +0 -0
  161. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/base.py +0 -0
  162. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/model_directories_structure.py +0 -0
  163. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/model_naming_conventions.py +0 -0
  164. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/source_directories_structure.py +0 -0
  165. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/structure/test_directory_structure.py +0 -0
  166. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/insights/utils.py +0 -0
  167. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/schemas/__init__.py +0 -0
  168. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/utils.py +0 -0
  169. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/__init__.py +0 -0
  170. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/catalog/__init__.py +0 -0
  171. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/catalog/v1/__init__.py +0 -0
  172. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/catalog/v1/wrapper.py +0 -0
  173. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/catalog/wrapper.py +0 -0
  174. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/__init__.py +0 -0
  175. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/__init__.py +0 -0
  176. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v10/schemas.py +0 -0
  177. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/__init__.py +0 -0
  178. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v11/schemas.py +0 -0
  179. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/v12/__init__.py +0 -0
  180. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/manifest/wrapper.py +0 -0
  181. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/run_results/__init__.py +0 -0
  182. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/core/platforms/dbt/wrappers/run_results/run_results.py +0 -0
  183. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/exceptions/__init__.py +0 -0
  184. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/exceptions/exceptions.py +0 -0
  185. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/schemas/__init__.py +0 -0
  186. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/schemas/constants.py +0 -0
  187. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/schemas/nodes.py +0 -0
  188. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/schemas/sql.py +0 -0
  189. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/utils/__init__.py +0 -0
  190. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/utils/formatting/__init__.py +0 -0
  191. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/utils/formatting/utils.py +0 -0
  192. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/src/datapilot/utils/utils.py +0 -0
  193. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/core/__init__.py +0 -0
  194. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/core/platform/__init__.py +0 -0
  195. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/core/platform/dbt/__init__.py +0 -0
  196. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/core/platform/dbt/test_cli.py +0 -0
  197. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/core/platform/dbt/test_utils.py +0 -0
  198. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/catalog_v1.json +0 -0
  199. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/catalog_v12.json +0 -0
  200. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/config.yml +0 -0
  201. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifest_v10.json +0 -0
  202. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifest_v10macroargs.json +0 -0
  203. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifest_v11.json +0 -0
  204. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifest_v11macroargs.json +0 -0
  205. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifest_v12.json +0 -0
  206. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_js.json +0 -0
  207. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_js2.json +0 -0
  208. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_js3.json +0 -0
  209. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_tuva.json +0 -0
  210. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_tuva2.json +0 -0
  211. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/data/manifests/manifest_tuva3.json +0 -0
  212. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/utils/__init__.py +0 -0
  213. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tests/utils/test_utils.py +0 -0
  214. {altimate-datapilot-cli-0.0.14 → altimate-datapilot-cli-0.0.15}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.0.14
2
+ current_version = 0.0.15
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: altimate-datapilot-cli
3
- Version: 0.0.14
3
+ Version: 0.0.15
4
4
  Summary: Assistant for Data Teams
5
5
  Home-page: https://github.com/AltimateAI/datapilot-cli
6
6
  Author: Altimate Inc
@@ -15,7 +15,7 @@ project = "datapilot-cli"
15
15
  year = "2024"
16
16
  author = "Altimate Inc."
17
17
  copyright = f"{year}, {author}"
18
- version = release = "0.0.14"
18
+ version = release = "0.0.15"
19
19
 
20
20
  pygments_style = "trac"
21
21
  templates_path = ["."]
@@ -13,7 +13,7 @@ def read(*names, **kwargs):
13
13
 
14
14
  setup(
15
15
  name="altimate-datapilot-cli",
16
- version="0.0.14",
16
+ version="0.0.15",
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==8.1.7",
66
- "dbt-artifacts-parser==0.6.0",
67
- "ruamel.yaml==0.18.6",
68
- "tabulate==0.9.0",
69
- "requests==2.31.0",
70
- "sqlglot==25.30.0",
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: altimate-datapilot-cli
3
- Version: 0.0.14
3
+ Version: 0.0.15
4
4
  Summary: Assistant for Data Teams
5
5
  Home-page: https://github.com/AltimateAI/datapilot-cli
6
6
  Author: Altimate Inc
@@ -47,6 +47,7 @@ src/altimate_datapilot_cli.egg-info/requires.txt
47
47
  src/altimate_datapilot_cli.egg-info/top_level.txt
48
48
  src/datapilot/__init__.py
49
49
  src/datapilot/__main__.py
50
+ src/datapilot/constants.py
50
51
  src/datapilot/cli/__init__.py
51
52
  src/datapilot/cli/main.py
52
53
  src/datapilot/clients/__init__.py
@@ -0,0 +1,6 @@
1
+ click~=8.1.7
2
+ dbt-artifacts-parser~=0.8.1
3
+ ruamel.yaml~=0.18.6
4
+ tabulate~=0.9.0
5
+ requests~=2.31.0
6
+ sqlglot~=25.30.0
@@ -0,0 +1 @@
1
+ __version__ = "0.0.15"
@@ -0,0 +1,7 @@
1
+ from enum import Enum
2
+
3
+
4
+ class Extra(str, Enum):
5
+ allow = "allow"
6
+ forbid = "forbid"
7
+ ignore = "ignore"
@@ -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.dict() if self.get_node(node_id).config else {}
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.dict() if model.meta else {}
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.dict() if source.freshness else {}
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.dict() if self.get_node(node_id).config else {}
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.dict() if model.meta else {}
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,13 +5,16 @@ from typing import List
5
5
  from typing import Optional
6
6
  from typing import Union
7
7
 
8
- from pydantic.config import Extra
8
+ from pydantic import ConfigDict
9
9
  from pydantic.main import BaseModel
10
10
 
11
+ from datapilot.constants import Extra
12
+
11
13
 
12
14
  class AltimateCatalogMetadata(BaseModel):
13
- class Config:
14
- extra = Extra.forbid
15
+ model_config = ConfigDict(
16
+ extra=Extra.forbid,
17
+ )
15
18
 
16
19
  dbt_schema_version: Optional[str] = "https://schemas.getdbt.com/dbt/catalog/v1.json"
17
20
  dbt_version: Optional[str] = "0.19.0"
@@ -21,8 +24,9 @@ class AltimateCatalogMetadata(BaseModel):
21
24
 
22
25
 
23
26
  class AltimateCatalogTableMetadata(BaseModel):
24
- class Config:
25
- extra = Extra.forbid
27
+ model_config = ConfigDict(
28
+ extra=Extra.forbid,
29
+ )
26
30
 
27
31
  type: str
28
32
  database: Optional[Optional[str]] = None
@@ -33,8 +37,9 @@ class AltimateCatalogTableMetadata(BaseModel):
33
37
 
34
38
 
35
39
  class AltimateCatalogColumnMetadata(BaseModel):
36
- class Config:
37
- extra = Extra.forbid
40
+ model_config = ConfigDict(
41
+ extra=Extra.forbid,
42
+ )
38
43
 
39
44
  type: str
40
45
  comment: Optional[Optional[str]] = None
@@ -43,8 +48,9 @@ class AltimateCatalogColumnMetadata(BaseModel):
43
48
 
44
49
 
45
50
  class AltimateCatalogStatsItem(BaseModel):
46
- class Config:
47
- extra = Extra.forbid
51
+ model_config = ConfigDict(
52
+ extra=Extra.forbid,
53
+ )
48
54
 
49
55
  id: str
50
56
  label: str
@@ -54,8 +60,9 @@ class AltimateCatalogStatsItem(BaseModel):
54
60
 
55
61
 
56
62
  class AltimateCatalogTable(BaseModel):
57
- class Config:
58
- extra = Extra.forbid
63
+ model_config = ConfigDict(
64
+ extra=Extra.forbid,
65
+ )
59
66
 
60
67
  metadata: AltimateCatalogTableMetadata
61
68
  columns: Dict[str, AltimateCatalogColumnMetadata]
@@ -64,8 +71,9 @@ class AltimateCatalogTable(BaseModel):
64
71
 
65
72
 
66
73
  class AltimateCatalogCatalogV1(BaseModel):
67
- class Config:
68
- extra = Extra.forbid
74
+ model_config = ConfigDict(
75
+ extra=Extra.forbid,
76
+ )
69
77
 
70
78
  metadata: AltimateCatalogMetadata
71
79
  nodes: Dict[str, AltimateCatalogTable]
@@ -19,7 +19,9 @@ 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
22
+ from pydantic import ConfigDict
23
+
24
+ from datapilot.constants import Extra
23
25
 
24
26
 
25
27
  class DBTVersion(BaseModel):
@@ -46,16 +48,17 @@ Catalog = CatalogV1
46
48
 
47
49
 
48
50
  class AltimateDocs(BaseModel):
49
- class Config:
50
- extra = Extra.forbid
51
+ model_config = ConfigDict(
52
+ extra=Extra.forbid,
53
+ )
51
54
 
52
55
  show: Optional[bool] = True
53
56
  node_color: Optional[Optional[str]] = None
54
57
 
55
58
 
56
59
  class AltimateDependsOn(BaseModel):
57
- nodes: Optional[List[str]]
58
- macros: Optional[List[str]]
60
+ nodes: Optional[List[str]] = None
61
+ macros: Optional[List[str]] = None
59
62
 
60
63
 
61
64
  class AltimateManifestColumnInfo(BaseModel):
@@ -98,8 +101,9 @@ class AltimateAccess(Enum):
98
101
 
99
102
 
100
103
  class AltimateDBTContract(BaseModel):
101
- class Config:
102
- extra = Extra.forbid
104
+ model_config = ConfigDict(
105
+ extra=Extra.forbid,
106
+ )
103
107
 
104
108
  enforced: Optional[bool] = False
105
109
  alias_types: Optional[bool] = True
@@ -107,8 +111,9 @@ class AltimateDBTContract(BaseModel):
107
111
 
108
112
 
109
113
  class AltimateHook(BaseModel):
110
- class Config:
111
- extra = Extra.forbid
114
+ model_config = ConfigDict(
115
+ extra=Extra.forbid,
116
+ )
112
117
 
113
118
  sql: str
114
119
  transaction: Optional[bool] = True
@@ -117,8 +122,9 @@ class AltimateHook(BaseModel):
117
122
 
118
123
  # TODO: Need to add the rest of the fields
119
124
  class AltimateNodeConfig(BaseModel):
120
- class Config:
121
- extra = Extra.allow
125
+ model_config = ConfigDict(
126
+ extra=Extra.allow,
127
+ )
122
128
 
123
129
  _extra: Optional[Dict[str, Any]] = None
124
130
  enabled: Optional[bool] = True
@@ -203,8 +209,9 @@ class AltimateSourceConfig(BaseModel):
203
209
 
204
210
 
205
211
  class AltimateDeferRelation(BaseModel):
206
- class Config:
207
- extra = Extra.forbid
212
+ model_config = ConfigDict(
213
+ extra=Extra.forbid,
214
+ )
208
215
 
209
216
  database: Optional[str]
210
217
  schema_name: str
@@ -213,8 +220,9 @@ class AltimateDeferRelation(BaseModel):
213
220
 
214
221
 
215
222
  class AltimateSeedConfig(BaseModel):
216
- class Config:
217
- extra = Extra.allow
223
+ model_config = ConfigDict(
224
+ extra=Extra.allow,
225
+ )
218
226
 
219
227
  _extra: Optional[Dict[str, Any]] = None
220
228
  enabled: Optional[bool] = True
@@ -314,8 +322,9 @@ class AltimateExposureType(Enum):
314
322
 
315
323
 
316
324
  class AltimateOwner(BaseModel):
317
- class Config:
318
- extra = Extra.allow
325
+ model_config = ConfigDict(
326
+ extra=Extra.allow,
327
+ )
319
328
 
320
329
  _extra: Optional[Dict[str, Any]] = None
321
330
  email: Optional[Optional[str]] = None
@@ -329,8 +338,9 @@ class AltimateMaturityEnum(Enum):
329
338
 
330
339
 
331
340
  class AltimateRefArgs(BaseModel):
332
- class Config:
333
- extra = Extra.forbid
341
+ model_config = ConfigDict(
342
+ extra=Extra.forbid,
343
+ )
334
344
 
335
345
  name: str
336
346
  package: Optional[Optional[str]] = None
@@ -338,8 +348,9 @@ class AltimateRefArgs(BaseModel):
338
348
 
339
349
 
340
350
  class AltimateExposureConfig(BaseModel):
341
- class Config:
342
- extra = Extra.allow
351
+ model_config = ConfigDict(
352
+ extra=Extra.allow,
353
+ )
343
354
 
344
355
  _extra: Optional[Dict[str, Any]] = None
345
356
  enabled: Optional[bool] = True
@@ -371,8 +382,9 @@ class AltimateManifestExposureNode(BaseModel):
371
382
 
372
383
 
373
384
  class AltimateTestMetadata(BaseModel):
374
- class Config:
375
- extra = Extra.forbid
385
+ model_config = ConfigDict(
386
+ extra=Extra.forbid,
387
+ )
376
388
 
377
389
  name: str
378
390
  kwargs: Optional[Dict[str, Any]] = None
@@ -380,8 +392,9 @@ class AltimateTestMetadata(BaseModel):
380
392
 
381
393
 
382
394
  class AltimateTestConfig(BaseModel):
383
- class Config:
384
- extra = Extra.allow
395
+ model_config = ConfigDict(
396
+ extra=Extra.allow,
397
+ )
385
398
 
386
399
  _extra: Optional[Dict[str, Any]] = None
387
400
  enabled: Optional[bool] = True
@@ -433,8 +446,9 @@ class AltimateManifestTestNode(BaseModel):
433
446
 
434
447
 
435
448
  class AltimateMacroArgument(BaseModel):
436
- class Config:
437
- extra = Extra.forbid
449
+ model_config = ConfigDict(
450
+ extra=Extra.forbid,
451
+ )
438
452
 
439
453
  name: str
440
454
  type: Optional[Optional[str]] = None
@@ -116,6 +116,7 @@ class ManifestV10Wrapper(BaseManifestWrapper):
116
116
  contract=contract,
117
117
  meta=node.meta,
118
118
  patch_path=node.patch_path,
119
+ access=node.access.value,
119
120
  )
120
121
 
121
122
  def _get_source(self, source: SourceNode) -> AltimateManifestSourceNode:
@@ -133,10 +134,10 @@ class ManifestV10Wrapper(BaseManifestWrapper):
133
134
  source_description=source.source_description,
134
135
  loader=source.loader,
135
136
  identifier=source.identifier,
136
- quoting=AltimateQuoting(**source.quoting.dict()) if source.quoting else None,
137
+ quoting=AltimateQuoting(**source.quoting.model_dump()) if source.quoting else None,
137
138
  loaded_at_field=source.loaded_at_field,
138
- freshness=AltimateFreshnessThreshold(**source.freshness.dict()) if source.freshness else None,
139
- external=AltimateExternalTable(**source.external.dict()) if source.external else None,
139
+ freshness=AltimateFreshnessThreshold(**source.freshness.model_dump()) if source.freshness else None,
140
+ external=AltimateExternalTable(**source.external.model_dump()) if source.external else None,
140
141
  description=source.description,
141
142
  columns={
142
143
  name: AltimateManifestColumnInfo(
@@ -153,7 +154,7 @@ class ManifestV10Wrapper(BaseManifestWrapper):
153
154
  relation_name=source.relation_name,
154
155
  source_meta=source.source_meta,
155
156
  tags=source.tags,
156
- config=AltimateSourceConfig(**source.config.dict()) if source.config else None,
157
+ config=AltimateSourceConfig(**source.config.model_dump()) if source.config else None,
157
158
  patch_path=source.patch_path,
158
159
  unrendered_config=source.unrendered_config,
159
160
  created_at=source.created_at,
@@ -177,9 +178,9 @@ class ManifestV10Wrapper(BaseManifestWrapper):
177
178
  ),
178
179
  description=macro.description,
179
180
  meta=macro.meta,
180
- docs=macro.docs,
181
+ docs=macro.docs.model_dump() if macro.docs else None,
181
182
  patch_path=macro.patch_path,
182
- arguments=[AltimateMacroArgument(**arg.dict()) for arg in macro.arguments] if macro.arguments else None,
183
+ arguments=[AltimateMacroArgument(**arg.model_dump()) for arg in macro.arguments] if macro.arguments else None,
183
184
  created_at=macro.created_at,
184
185
  supported_languages=macro.supported_languages,
185
186
  )
@@ -194,22 +195,24 @@ class ManifestV10Wrapper(BaseManifestWrapper):
194
195
  unique_id=exposure.unique_id,
195
196
  fqn=exposure.fqn,
196
197
  type=AltimateExposureType(exposure.type.value) if exposure.type else None,
197
- owner=AltimateOwner(**exposure.owner.dict()) if exposure.owner else None,
198
+ owner=AltimateOwner(**exposure.owner.model_dump()) if exposure.owner else None,
198
199
  description=exposure.description,
199
200
  label=exposure.label,
200
201
  maturity=AltimateMaturityEnum(exposure.maturity.value) if exposure.maturity else None,
201
202
  meta=exposure.meta,
202
203
  tags=exposure.tags,
203
- config=AltimateSourceConfig(**exposure.config.dict()) if exposure.config else None,
204
+ config=AltimateSourceConfig(**exposure.config.model_dump()) if exposure.config else None,
204
205
  unrendered_config=exposure.unrendered_config,
205
206
  url=exposure.url,
206
- depends_on=AltimateDependsOn(
207
- nodes=exposure.depends_on.nodes,
208
- macros=exposure.depends_on.macros,
209
- )
210
- if exposure.depends_on
211
- else None,
212
- refs=[AltimateRefArgs(**ref.dict()) for ref in exposure.refs] if exposure.refs else None,
207
+ depends_on=(
208
+ AltimateDependsOn(
209
+ nodes=exposure.depends_on.nodes,
210
+ macros=exposure.depends_on.macros,
211
+ )
212
+ if exposure.depends_on
213
+ else None
214
+ ),
215
+ refs=[AltimateRefArgs(**ref.model_dump()) for ref in exposure.refs] if exposure.refs else None,
213
216
  sources=exposure.sources,
214
217
  metrics=exposure.metrics,
215
218
  created_at=exposure.created_at,
@@ -219,7 +222,7 @@ class ManifestV10Wrapper(BaseManifestWrapper):
219
222
  test_metadata = None
220
223
  if isinstance(test, GenericTestNode):
221
224
  test_type = GENERIC
222
- test_metadata = AltimateTestMetadata(**test.test_metadata.dict()) if test.test_metadata else None
225
+ test_metadata = AltimateTestMetadata(**test.test_metadata.model_dump()) if test.test_metadata else None
223
226
  elif isinstance(test, SingularTestNode):
224
227
  test_type = SINGULAR
225
228
  else:
@@ -235,42 +238,48 @@ class ManifestV10Wrapper(BaseManifestWrapper):
235
238
  unique_id=test.unique_id,
236
239
  fqn=test.fqn,
237
240
  alias=test.alias,
238
- checksum=AltimateFileHash(
239
- name=test.checksum.name,
240
- checksum=test.checksum.checksum,
241
- )
242
- if test.checksum
243
- else None,
244
- config=AltimateTestConfig(**test.config.dict()) if test.config else None,
241
+ checksum=(
242
+ AltimateFileHash(
243
+ name=test.checksum.name,
244
+ checksum=test.checksum.checksum,
245
+ )
246
+ if test.checksum
247
+ else None
248
+ ),
249
+ config=AltimateTestConfig(**test.config.model_dump()) if test.config else None,
245
250
  description=test.description,
246
251
  tags=test.tags,
247
- columns={
248
- name: AltimateManifestColumnInfo(
249
- name=column.name,
250
- description=column.description,
251
- meta=column.meta,
252
- data_type=column.data_type,
253
- quote=column.quote,
254
- tags=column.tags,
255
- )
256
- for name, column in test.columns.items()
257
- }
258
- if test.columns
259
- else None,
252
+ columns=(
253
+ {
254
+ name: AltimateManifestColumnInfo(
255
+ name=column.name,
256
+ description=column.description,
257
+ meta=column.meta,
258
+ data_type=column.data_type,
259
+ quote=column.quote,
260
+ tags=column.tags,
261
+ )
262
+ for name, column in test.columns.items()
263
+ }
264
+ if test.columns
265
+ else None
266
+ ),
260
267
  meta=test.meta,
261
268
  relation_name=test.relation_name,
262
269
  group=test.group,
263
270
  raw_code=test.raw_code,
264
271
  language=test.language,
265
- refs=[AltimateRefArgs(**ref.dict()) for ref in test.refs] if test.refs else None,
272
+ refs=[AltimateRefArgs(**ref.model_dump()) for ref in test.refs] if test.refs else None,
266
273
  sources=test.sources,
267
274
  metrics=test.metrics,
268
- depends_on=AltimateDependsOn(
269
- nodes=test.depends_on.nodes,
270
- macros=test.depends_on.macros,
271
- )
272
- if test.depends_on
273
- else None,
275
+ depends_on=(
276
+ AltimateDependsOn(
277
+ nodes=test.depends_on.nodes,
278
+ macros=test.depends_on.macros,
279
+ )
280
+ if test.depends_on
281
+ else None
282
+ ),
274
283
  compiled_path=test.compiled_path,
275
284
  compiled=test.compiled,
276
285
  compiled_code=test.compiled_code,
@@ -288,31 +297,35 @@ class ManifestV10Wrapper(BaseManifestWrapper):
288
297
  unique_id=seed.unique_id,
289
298
  fqn=seed.fqn,
290
299
  alias=seed.alias,
291
- checksum=AltimateFileHash(
292
- name=seed.checksum.name,
293
- checksum=seed.checksum.checksum,
294
- )
295
- if seed.checksum
296
- else None,
297
- config=AltimateSeedConfig(**seed.config.dict()) if seed.config else None,
300
+ checksum=(
301
+ AltimateFileHash(
302
+ name=seed.checksum.name,
303
+ checksum=seed.checksum.checksum,
304
+ )
305
+ if seed.checksum
306
+ else None
307
+ ),
308
+ config=AltimateSeedConfig(**seed.config.model_dump()) if seed.config else None,
298
309
  description=seed.description,
299
310
  tags=seed.tags,
300
- columns={
301
- name: AltimateManifestColumnInfo(
302
- name=column.name,
303
- description=column.description,
304
- meta=column.meta,
305
- data_type=column.data_type,
306
- quote=column.quote,
307
- tags=column.tags,
308
- )
309
- for name, column in seed.columns.items()
310
- }
311
- if seed.columns
312
- else None,
311
+ columns=(
312
+ {
313
+ name: AltimateManifestColumnInfo(
314
+ name=column.name,
315
+ description=column.description,
316
+ meta=column.meta,
317
+ data_type=column.data_type,
318
+ quote=column.quote,
319
+ tags=column.tags,
320
+ )
321
+ for name, column in seed.columns.items()
322
+ }
323
+ if seed.columns
324
+ else None
325
+ ),
313
326
  meta=seed.meta,
314
327
  group=seed.group,
315
- docs=seed.docs.dict() if seed.docs else None,
328
+ docs=seed.docs.model_dump() if seed.docs else None,
316
329
  patch_path=seed.patch_path,
317
330
  build_path=seed.build_path,
318
331
  deferred=seed.deferred,