recce-nightly 0.58.0.20250318__tar.gz → 0.59.0.20250319__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 (146) hide show
  1. {recce_nightly-0.58.0.20250318/recce_nightly.egg-info → recce_nightly-0.59.0.20250319}/PKG-INFO +1 -1
  2. recce_nightly-0.59.0.20250319/recce/VERSION +1 -0
  3. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/adapter/dbt_adapter/__init__.py +13 -3
  4. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/config.py +2 -2
  5. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/404.html +1 -1
  6. recce_nightly-0.59.0.20250319/recce/data/_next/static/chunks/7a8a3e83-277b00caf162a419.js +1 -0
  7. recce_nightly-0.59.0.20250319/recce/data/_next/static/chunks/app/page-cb35d0a6bd52f477.js +1 -0
  8. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/index.html +2 -2
  9. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/index.txt +2 -2
  10. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/models/types.py +1 -0
  11. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/__init__.py +1 -1
  12. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/profile.py +70 -6
  13. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319/recce_nightly.egg-info}/PKG-INFO +1 -1
  14. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce_nightly.egg-info/SOURCES.txt +4 -4
  15. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_profile.py +20 -3
  16. recce_nightly-0.58.0.20250318/recce/VERSION +0 -1
  17. recce_nightly-0.58.0.20250318/recce/data/_next/static/chunks/7a8a3e83-1a4edb77e4d0142d.js +0 -1
  18. recce_nightly-0.58.0.20250318/recce/data/_next/static/chunks/app/page-904cdda04903cb1a.js +0 -1
  19. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/LICENSE +0 -0
  20. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/README.md +0 -0
  21. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/__init__.py +0 -0
  22. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/adapter/__init__.py +0 -0
  23. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/adapter/base.py +0 -0
  24. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/adapter/dbt_adapter/dbt_version.py +0 -0
  25. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/adapter/sqlmesh_adapter.py +0 -0
  26. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/apis/__init__.py +0 -0
  27. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/apis/check_api.py +0 -0
  28. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/apis/check_func.py +0 -0
  29. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/apis/run_api.py +0 -0
  30. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/apis/run_func.py +0 -0
  31. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/artifact.py +0 -0
  32. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/cli.py +0 -0
  33. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/core.py +0 -0
  34. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/29e3cc0d-b9131230fdb267e7.js +0 -0
  35. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/36e1c10d-28bb82b9a3d959e7.js +0 -0
  36. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/3998a672-18454f939c052b39.js +0 -0
  37. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/450c323b-ff537c106edf3f59.js +0 -0
  38. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/47d8844f-cac2989cb39ba350.js +0 -0
  39. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/523b8219-cd28a6efac8e1cf1.js +0 -0
  40. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/6dc81886-d45acadb4b6674c7.js +0 -0
  41. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/727-81ddfe5839f762d5.js +0 -0
  42. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/7f27ae6c-9c6bdf82ccd2f646.js +0 -0
  43. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/921-4158ef2dc23e4a01.js +0 -0
  44. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/9746af58-344daabf5df08121.js +0 -0
  45. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/a30376cd-0e2abcaded0e4cfc.js +0 -0
  46. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/app/_not-found/page-8fb2dd95da4548ae.js +0 -0
  47. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/app/layout-2ba8d6f3664176aa.js +0 -0
  48. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/b63b1b3f-fbe2ac2c00b4eb2f.js +0 -0
  49. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/c132bf7d-3375ff4277eceb81.js +0 -0
  50. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/c1ceaa8b-c4f0232ef5c2c9ba.js +0 -0
  51. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/cd9f8d63-ba9b342f3d5e92ac.js +0 -0
  52. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/ce84277d-3aa717f588901c96.js +0 -0
  53. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/e24bf851-38fffe87a7b8784a.js +0 -0
  54. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/fee69bc6-4490eb47d2aaaa72.js +0 -0
  55. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
  56. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/main-535eacaa53931854.js +0 -0
  57. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/main-app-6f45568a6a7cd7b0.js +0 -0
  58. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/pages/_app-bbd1966052cb1e5d.js +0 -0
  59. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/pages/_error-2456b9a2e0600a52.js +0 -0
  60. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  61. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/chunks/webpack-5ab3237140d2c0f8.js +0 -0
  62. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/css/c9ecb46a4b21c126.css +0 -0
  63. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
  64. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.31d693bb.woff +0 -0
  65. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.7e2c1e62.woff +0 -0
  66. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
  67. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
  68. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-latin-800-normal.97e20d5e.woff +0 -0
  69. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
  70. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.aff52ab0.woff +0 -0
  71. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.5f21869b.woff +0 -0
  72. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
  73. {recce_nightly-0.58.0.20250318/recce/data/_next/static/O27gCGR2ICoHv7Bz0-rDS → recce_nightly-0.59.0.20250319/recce/data/_next/static/s-icc2FiZoBcba9j12tQb}/_buildManifest.js +0 -0
  74. {recce_nightly-0.58.0.20250318/recce/data/_next/static/O27gCGR2ICoHv7Bz0-rDS → recce_nightly-0.59.0.20250319/recce/data/_next/static/s-icc2FiZoBcba9j12tQb}/_ssgManifest.js +0 -0
  75. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/favicon.ico +0 -0
  76. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/imgs/feedback/thumbs-down.png +0 -0
  77. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/imgs/feedback/thumbs-up.png +0 -0
  78. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/data/logo/recce-logo-white.png +0 -0
  79. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/diff.py +0 -0
  80. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/event/CONFIG +0 -0
  81. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/event/SENTRY_DNS +0 -0
  82. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/event/__init__.py +0 -0
  83. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/event/collector.py +0 -0
  84. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/event/track.py +0 -0
  85. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/exceptions.py +0 -0
  86. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/git.py +0 -0
  87. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/github.py +0 -0
  88. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/models/__init__.py +0 -0
  89. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/models/check.py +0 -0
  90. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/models/run.py +0 -0
  91. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/pull_request.py +0 -0
  92. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/run.py +0 -0
  93. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/server.py +0 -0
  94. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/state.py +0 -0
  95. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/summary.py +0 -0
  96. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/core.py +0 -0
  97. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/dataframe.py +0 -0
  98. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/histogram.py +0 -0
  99. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/lineage.py +0 -0
  100. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/query.py +0 -0
  101. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/rowcount.py +0 -0
  102. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/schema.py +0 -0
  103. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/top_k.py +0 -0
  104. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/tasks/valuediff.py +0 -0
  105. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/__init__.py +0 -0
  106. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/breaking.py +0 -0
  107. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/cache.py +0 -0
  108. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/cll.py +0 -0
  109. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/io.py +0 -0
  110. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/logger.py +0 -0
  111. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/pydantic_model.py +0 -0
  112. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/recce_cloud.py +0 -0
  113. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/util/singleton.py +0 -0
  114. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce/yaml/__init__.py +0 -0
  115. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce_nightly.egg-info/dependency_links.txt +0 -0
  116. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce_nightly.egg-info/entry_points.txt +0 -0
  117. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce_nightly.egg-info/requires.txt +0 -0
  118. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/recce_nightly.egg-info/top_level.txt +0 -0
  119. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/setup.cfg +0 -0
  120. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/setup.py +0 -0
  121. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/__init__.py +0 -0
  122. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/__init__.py +0 -0
  123. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/__init__.py +0 -0
  124. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/conftest.py +0 -0
  125. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -0
  126. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -0
  127. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/test_dbt_cll.py +0 -0
  128. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/adapter/dbt_adapter/test_selector.py +0 -0
  129. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/__init__.py +0 -0
  130. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/conftest.py +0 -0
  131. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_histogram.py +0 -0
  132. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_lineage.py +0 -0
  133. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_preset_checks.py +0 -0
  134. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_query.py +0 -0
  135. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_row_count.py +0 -0
  136. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_schema.py +0 -0
  137. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_top_k.py +0 -0
  138. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/tasks/test_valuediff.py +0 -0
  139. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_cli.py +0 -0
  140. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_config.py +0 -0
  141. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_core.py +0 -0
  142. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_dbt.py +0 -0
  143. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_pull_request.py +0 -0
  144. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_server.py +0 -0
  145. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_state.py +0 -0
  146. {recce_nightly-0.58.0.20250318 → recce_nightly-0.59.0.20250319}/tests/test_summary.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: recce-nightly
3
- Version: 0.58.0.20250318
3
+ Version: 0.59.0.20250319
4
4
  Summary: Environment diff tool for dbt
5
5
  Home-page: https://github.com/InfuseAI/recce
6
6
  Author: InfuseAI Dev Team
@@ -0,0 +1 @@
1
+ 0.59.0.20250319
@@ -12,6 +12,7 @@ from typing import Callable, Dict, List, Optional, Tuple, Iterator, Any, Set, Un
12
12
  from recce.event import log_performance
13
13
  from recce.exceptions import RecceException
14
14
  from recce.util.cll import cll, CLLPerformanceTracking
15
+ from ...tasks.profile import ProfileTask
15
16
 
16
17
  try:
17
18
  import agate
@@ -38,6 +39,7 @@ dbt_supported_registry: Dict[RunType, Type[Task]] = {
38
39
  RunType.QUERY_DIFF: QueryDiffTask,
39
40
  RunType.VALUE_DIFF: ValueDiffTask,
40
41
  RunType.VALUE_DIFF_DETAIL: ValueDiffDetailTask,
42
+ RunType.PROFILE: ProfileTask,
41
43
  RunType.PROFILE_DIFF: ProfileDiffTask,
42
44
  RunType.ROW_COUNT: RowCountTask,
43
45
  RunType.ROW_COUNT_DIFF: RowCountDiffTask,
@@ -257,6 +259,7 @@ class DbtAdapter(BaseAdapter):
257
259
 
258
260
  if 'dbt_profiler' not in supported_dbt_packages:
259
261
  support_map[RunType.PROFILE_DIFF.value] = False
262
+ support_map[RunType.PROFILE.value] = False
260
263
 
261
264
  if 'audit_helper' not in supported_dbt_packages:
262
265
  support_map[RunType.VALUE_DIFF.value] = False
@@ -521,10 +524,10 @@ class DbtAdapter(BaseAdapter):
521
524
  def get_manifest(self, base: bool):
522
525
  return self.curr_manifest if base is False else self.base_manifest
523
526
 
524
- def generate_sql(self, sql_template: str, base: bool = False, context=None):
527
+ def generate_sql(self, sql_template: str, base: bool = False, context=None, provided_manifest=None):
525
528
  if context is None:
526
529
  context = {}
527
- manifest = as_manifest(self.get_manifest(base))
530
+ manifest = provided_manifest if provided_manifest is not None else as_manifest(self.get_manifest(base))
528
531
  parser = SqlBlockParser(self.runtime_config, manifest, self.runtime_config)
529
532
 
530
533
  if dbt_version >= dbt_version.parse('v1.8'):
@@ -777,6 +780,7 @@ class DbtAdapter(BaseAdapter):
777
780
 
778
781
  cll_tracker = CLLPerformanceTracking()
779
782
  cll_tracker.set_total_nodes(len(nodes))
783
+ manifest = as_manifest(self.get_manifest(base))
780
784
  for node in nodes.values():
781
785
  resource_type = node.get('resource_type')
782
786
  if resource_type not in {'model', 'seed', 'source', 'snapshot'}:
@@ -790,6 +794,11 @@ class DbtAdapter(BaseAdapter):
790
794
  _apply_all_columns(node, 'unknown', [])
791
795
  continue
792
796
 
797
+ # dbt <= 1.8, MetricFlow expects the time spine table to be named metricflow_time_spine
798
+ if node.get('name') == 'metricflow_time_spine':
799
+ _apply_all_columns(node, 'source', [])
800
+ continue
801
+
793
802
  if not node.get('columns', {}):
794
803
  # no catalog
795
804
  continue
@@ -829,7 +838,8 @@ class DbtAdapter(BaseAdapter):
829
838
  }
830
839
 
831
840
  try:
832
- compiled_sql = self.generate_sql(raw_code, base=base, context=jinja_context)
841
+ # provide a manifest to speedup and not pollute the manifest
842
+ compiled_sql = self.generate_sql(raw_code, base=base, context=jinja_context, provided_manifest=manifest)
833
843
  dialect = self.adapter.type()
834
844
  column_lineage = cll(compiled_sql, schema=schema, dialect=dialect)
835
845
  except RecceException:
@@ -60,8 +60,8 @@ class RecceConfig(metaclass=SingletonMeta):
60
60
  from recce.tasks.valuediff import ValueDiffCheckValidator
61
61
  validator = ValueDiffCheckValidator()
62
62
  elif check_type == 'profile_diff':
63
- from recce.tasks.profile import ProfileDiffCheckValidator
64
- validator = ProfileDiffCheckValidator()
63
+ from recce.tasks.profile import ProfileCheckValidator
64
+ validator = ProfileCheckValidator()
65
65
  elif check_type == 'top_k_diff':
66
66
  from recce.tasks.top_k import TopKDiffCheckValidator
67
67
  validator = TopKDiffCheckValidator()
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ab3237140d2c0f8.js"/><script src="/_next/static/chunks/523b8219-cd28a6efac8e1cf1.js" async=""></script><script src="/_next/static/chunks/921-4158ef2dc23e4a01.js" async=""></script><script src="/_next/static/chunks/main-app-6f45568a6a7cd7b0.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-5ab3237140d2c0f8.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[65035,[],\"\"]\n3:I[49712,[],\"\"]\n4:I[30691,[],\"\"]\na:I[36979,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"O27gCGR2ICoHv7Bz0-rDS\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ab3237140d2c0f8.js"/><script src="/_next/static/chunks/523b8219-cd28a6efac8e1cf1.js" async=""></script><script src="/_next/static/chunks/921-4158ef2dc23e4a01.js" async=""></script><script src="/_next/static/chunks/main-app-6f45568a6a7cd7b0.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-5ab3237140d2c0f8.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[65035,[],\"\"]\n3:I[49712,[],\"\"]\n4:I[30691,[],\"\"]\na:I[36979,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"s-icc2FiZoBcba9j12tQb\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[739],{61953:function(t,r,n){n.d(r,{C3L:function(){return i},H33:function(){return a},Rgz:function(){return o},zFh:function(){return u}});var e=n(67623);function o(t){return(0,e.w_)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"line",attr:{x1:"5",y1:"12",x2:"19",y2:"12"}},{tag:"polyline",attr:{points:"12 5 19 12 12 19"}}]})(t)}function i(t){return(0,e.w_)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"rect",attr:{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}},{tag:"path",attr:{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"}}]})(t)}function a(t){return(0,e.w_)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"circle",attr:{cx:"12",cy:"12",r:"10"}},{tag:"line",attr:{x1:"12",y1:"16",x2:"12",y2:"12"}},{tag:"line",attr:{x1:"12",y1:"8",x2:"12.01",y2:"8"}}]})(t)}function u(t){return(0,e.w_)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"line",attr:{x1:"16.5",y1:"9.4",x2:"7.5",y2:"4.21"}},{tag:"path",attr:{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}},{tag:"polyline",attr:{points:"3.27 6.96 12 12.01 20.73 6.96"}},{tag:"line",attr:{x1:"12",y1:"22.08",x2:"12",y2:"12"}}]})(t)}}}]);