recce-nightly 1.3.0.20250507__tar.gz → 1.4.0.20250515__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.

Potentially problematic release.


This version of recce-nightly might be problematic. Click here for more details.

Files changed (170) hide show
  1. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/PKG-INFO +5 -2
  2. recce_nightly-1.4.0.20250515/pyproject.toml +5 -0
  3. recce_nightly-1.4.0.20250515/recce/VERSION +1 -0
  4. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/__init__.py +22 -22
  5. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/adapter/base.py +11 -14
  6. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/adapter/dbt_adapter/__init__.py +355 -316
  7. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/adapter/dbt_adapter/dbt_version.py +3 -0
  8. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/adapter/sqlmesh_adapter.py +24 -35
  9. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/apis/check_api.py +39 -28
  10. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/apis/check_func.py +33 -27
  11. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/apis/run_api.py +25 -19
  12. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/apis/run_func.py +29 -23
  13. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/artifact.py +44 -49
  14. recce_nightly-1.4.0.20250515/recce/cli.py +1058 -0
  15. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/config.py +42 -33
  16. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/core.py +52 -44
  17. recce_nightly-1.4.0.20250515/recce/data/404.html +1 -0
  18. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/368-7587b306577df275.js → recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/778-aef312bffb4c0312.js +15 -15
  19. recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/8d700b6a.ed11a130057c7a47.js +1 -0
  20. recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/app/layout-c713a2829d3279e4.js +1 -0
  21. recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/app/page-7086764277331fcb.js +1 -0
  22. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/cd9f8d63-cf0d5a7b0f7a92e8.js → recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/cd9f8d63-e020f408095ed77c.js +3 -3
  23. recce_nightly-1.4.0.20250515/recce/data/_next/static/chunks/webpack-b787cb1a4f2293de.js +1 -0
  24. recce_nightly-1.4.0.20250515/recce/data/_next/static/css/88b8abc134cfd59a.css +3 -0
  25. recce_nightly-1.4.0.20250515/recce/data/index.html +27 -0
  26. recce_nightly-1.4.0.20250515/recce/data/index.txt +7 -0
  27. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/diff.py +6 -12
  28. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/event/__init__.py +74 -72
  29. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/event/collector.py +27 -20
  30. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/event/track.py +39 -27
  31. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/exceptions.py +1 -1
  32. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/git.py +7 -7
  33. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/github.py +57 -53
  34. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/models/__init__.py +1 -1
  35. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/models/check.py +6 -7
  36. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/models/run.py +1 -0
  37. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/models/types.py +27 -27
  38. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/pull_request.py +26 -24
  39. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/run.py +148 -111
  40. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/server.py +103 -89
  41. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/state.py +209 -177
  42. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/summary.py +168 -143
  43. recce_nightly-1.4.0.20250515/recce/tasks/__init__.py +7 -0
  44. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/core.py +11 -13
  45. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/dataframe.py +19 -17
  46. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/histogram.py +69 -34
  47. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/lineage.py +2 -2
  48. recce_nightly-1.4.0.20250515/recce/tasks/profile.py +298 -0
  49. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/query.py +139 -87
  50. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/rowcount.py +33 -30
  51. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/schema.py +14 -14
  52. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/top_k.py +35 -35
  53. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/tasks/valuediff.py +216 -152
  54. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/breaking.py +77 -84
  55. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/cll.py +55 -51
  56. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/io.py +19 -17
  57. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/logger.py +1 -1
  58. recce_nightly-1.4.0.20250515/recce/util/recce_cloud.py +177 -0
  59. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/singleton.py +4 -4
  60. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/yaml/__init__.py +7 -10
  61. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/PKG-INFO +5 -2
  62. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/SOURCES.txt +10 -8
  63. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/requires.txt +4 -1
  64. recce_nightly-1.4.0.20250515/setup.py +82 -0
  65. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/dbt_adapter/conftest.py +1 -0
  66. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/dbt_adapter/dbt_test_helper.py +28 -18
  67. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -15
  68. recce_nightly-1.4.0.20250515/tests/adapter/dbt_adapter/test_dbt_cll.py +109 -0
  69. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/dbt_adapter/test_selector.py +22 -21
  70. recce_nightly-1.4.0.20250515/tests/tasks/test_histogram.py +129 -0
  71. recce_nightly-1.4.0.20250515/tests/tasks/test_lineage.py +55 -0
  72. recce_nightly-1.4.0.20250515/tests/tasks/test_preset_checks.py +64 -0
  73. recce_nightly-1.4.0.20250515/tests/tasks/test_profile.py +398 -0
  74. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/tasks/test_query.py +40 -40
  75. recce_nightly-1.4.0.20250515/tests/tasks/test_row_count.py +135 -0
  76. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/tasks/test_schema.py +65 -42
  77. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/tasks/test_top_k.py +22 -18
  78. recce_nightly-1.4.0.20250515/tests/tasks/test_valuediff.py +85 -0
  79. recce_nightly-1.4.0.20250515/tests/test_cli.py +135 -0
  80. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_config.py +7 -9
  81. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_core.py +5 -3
  82. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_dbt.py +7 -7
  83. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_pull_request.py +1 -1
  84. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_server.py +19 -13
  85. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_state.py +40 -27
  86. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/test_summary.py +18 -14
  87. recce_nightly-1.3.0.20250507/recce/VERSION +0 -1
  88. recce_nightly-1.3.0.20250507/recce/cli.py +0 -859
  89. recce_nightly-1.3.0.20250507/recce/data/404.html +0 -1
  90. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/8d700b6a-f0b1f6b9e0d97ce2.js +0 -1
  91. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/app/layout-9102e22cb73f74d6.js +0 -1
  92. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/app/page-92f13c8fad9fae3d.js +0 -1
  93. recce_nightly-1.3.0.20250507/recce/data/_next/static/chunks/webpack-567d72f0bc0820d5.js +0 -1
  94. recce_nightly-1.3.0.20250507/recce/data/index.html +0 -27
  95. recce_nightly-1.3.0.20250507/recce/data/index.txt +0 -7
  96. recce_nightly-1.3.0.20250507/recce/tasks/__init__.py +0 -7
  97. recce_nightly-1.3.0.20250507/recce/tasks/profile.py +0 -237
  98. recce_nightly-1.3.0.20250507/recce/util/recce_cloud.py +0 -179
  99. recce_nightly-1.3.0.20250507/setup.py +0 -77
  100. recce_nightly-1.3.0.20250507/tests/adapter/dbt_adapter/test_dbt_cll.py +0 -102
  101. recce_nightly-1.3.0.20250507/tests/tasks/test_histogram.py +0 -137
  102. recce_nightly-1.3.0.20250507/tests/tasks/test_lineage.py +0 -42
  103. recce_nightly-1.3.0.20250507/tests/tasks/test_preset_checks.py +0 -50
  104. recce_nightly-1.3.0.20250507/tests/tasks/test_profile.py +0 -73
  105. recce_nightly-1.3.0.20250507/tests/tasks/test_row_count.py +0 -116
  106. recce_nightly-1.3.0.20250507/tests/tasks/test_valuediff.py +0 -74
  107. recce_nightly-1.3.0.20250507/tests/test_cli.py +0 -122
  108. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/LICENSE +0 -0
  109. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/README.md +0 -0
  110. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/adapter/__init__.py +0 -0
  111. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/apis/__init__.py +0 -0
  112. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/1f229bf6-d9fe92e56db8d93b.js +0 -0
  113. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/29e3cc0d-8c150e37dff9631b.js +0 -0
  114. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/36e1c10d-bb0210cbd6573a8d.js +0 -0
  115. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/3998a672-eaad84bdd88cc73e.js +0 -0
  116. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/3a92ee20-3b5d922d4157af5e.js +0 -0
  117. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/450c323b-1bb5db526e54435a.js +0 -0
  118. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/47d8844f-79a1b53c66a7d7ec.js +0 -0
  119. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/6dc81886-c94b9b91bc2c3caf.js +0 -0
  120. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/6ef81909-694dc38134099299.js +0 -0
  121. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/700-3b65fc3666820d00.js +0 -0
  122. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/7a8a3e83-d7fa409d97b38b2b.js +0 -0
  123. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/7f27ae6c-413f6b869a04183a.js +0 -0
  124. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/9746af58-d74bef4d03eea6ab.js +0 -0
  125. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/a30376cd-7d806e1602f2dc3a.js +0 -0
  126. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/app/_not-found/page-8a886fa0855c3105.js +0 -0
  127. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/b63b1b3f-7395c74e11a14e95.js +0 -0
  128. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/c132bf7d-8102037f9ccf372a.js +0 -0
  129. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/c1ceaa8b-a1e442154d23515e.js +0 -0
  130. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/ce84277d-f42c2c58049cea2d.js +0 -0
  131. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/e24bf851-0f8cbc99656833e7.js +0 -0
  132. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/fee69bc6-f17d36c080742e74.js +0 -0
  133. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
  134. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/main-a0859f1f36d0aa6c.js +0 -0
  135. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/main-app-0225a2255968e566.js +0 -0
  136. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/pages/_app-d5672bf3d8b6371b.js +0 -0
  137. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/pages/_error-ed75be3f25588548.js +0 -0
  138. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  139. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/css/c9ecb46a4b21c126.css +0 -0
  140. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
  141. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.31d693bb.woff +0 -0
  142. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.7e2c1e62.woff +0 -0
  143. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
  144. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
  145. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-latin-800-normal.97e20d5e.woff +0 -0
  146. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
  147. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.aff52ab0.woff +0 -0
  148. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.5f21869b.woff +0 -0
  149. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
  150. {recce_nightly-1.3.0.20250507/recce/data/_next/static/K5iKlCYhdcpq8Ea6ck9J_ → recce_nightly-1.4.0.20250515/recce/data/_next/static/q0Xsc9Sd6PDuo1lshYpLu}/_buildManifest.js +0 -0
  151. {recce_nightly-1.3.0.20250507/recce/data/_next/static/K5iKlCYhdcpq8Ea6ck9J_ → recce_nightly-1.4.0.20250515/recce/data/_next/static/q0Xsc9Sd6PDuo1lshYpLu}/_ssgManifest.js +0 -0
  152. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/favicon.ico +0 -0
  153. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/imgs/feedback/thumbs-down.png +0 -0
  154. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/imgs/feedback/thumbs-up.png +0 -0
  155. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/data/logo/recce-logo-white.png +0 -0
  156. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/event/CONFIG +0 -0
  157. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/event/SENTRY_DNS +0 -0
  158. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/__init__.py +0 -0
  159. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/cache.py +0 -0
  160. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/lineage.py +0 -0
  161. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce/util/pydantic_model.py +0 -0
  162. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/dependency_links.txt +0 -0
  163. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/entry_points.txt +0 -0
  164. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/recce_nightly.egg-info/top_level.txt +0 -0
  165. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/setup.cfg +0 -0
  166. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/__init__.py +0 -0
  167. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/__init__.py +0 -0
  168. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/adapter/dbt_adapter/__init__.py +0 -0
  169. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/tasks/__init__.py +0 -0
  170. {recce_nightly-1.3.0.20250507 → recce_nightly-1.4.0.20250515}/tests/tasks/conftest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: recce-nightly
3
- Version: 1.3.0.20250507
3
+ Version: 1.4.0.20250515
4
4
  Summary: Environment diff tool for dbt
5
5
  Home-page: https://github.com/InfuseAI/recce
6
6
  Author: InfuseAI Dev Team
@@ -40,7 +40,10 @@ Requires-Dist: sqlglot
40
40
  Provides-Extra: dev
41
41
  Requires-Dist: pytest>=4.6; extra == "dev"
42
42
  Requires-Dist: pytest-flake8; extra == "dev"
43
- Requires-Dist: flake8==3.9.2; extra == "dev"
43
+ Requires-Dist: black>=25.1.0; extra == "dev"
44
+ Requires-Dist: isort>=6.0.1; extra == "dev"
45
+ Requires-Dist: flake8>=7.2.0; extra == "dev"
46
+ Requires-Dist: pre-commit>=4.2.0; extra == "dev"
44
47
  Requires-Dist: pytest-mypy; extra == "dev"
45
48
  Requires-Dist: pytest-cov; extra == "dev"
46
49
  Requires-Dist: twine; extra == "dev"
@@ -0,0 +1,5 @@
1
+ [tool.black]
2
+ line-length = 120
3
+
4
+ [tool.isort]
5
+ profile = "black"
@@ -0,0 +1 @@
1
+ 1.4.0.20250515
@@ -7,19 +7,19 @@ from packaging.version import Version
7
7
  def is_ci_env():
8
8
  # List of CI environment variables and their expected values
9
9
  ci_environments = {
10
- 'CI': 'true', # Generic CI indicator
11
- 'CIRCLECI': 'true', # CircleCI
12
- 'GITHUB_ACTIONS': 'true', # GitHub Actions
13
- 'GITLAB_CI': 'true', # GitLab CI
14
- 'JENKINS_URL': None, # Jenkins (just needs to exist)
15
- 'TRAVIS': 'true', # Travis CI
16
- 'APPVEYOR': 'true', # AppVeyor
17
- 'DRONE': 'true', # Drone CI
18
- 'TEAMCITY_VERSION': None, # TeamCity
19
- 'BITBUCKET_COMMIT': None, # Bitbucket Pipelines
20
- 'BUILDKITE': 'true', # Buildkite
21
- 'CODEBUILD_BUILD_ID': None, # AWS CodeBuild
22
- 'AZURE_PIPELINES': 'true', # Azure Pipelines
10
+ "CI": "true", # Generic CI indicator
11
+ "CIRCLECI": "true", # CircleCI
12
+ "GITHUB_ACTIONS": "true", # GitHub Actions
13
+ "GITLAB_CI": "true", # GitLab CI
14
+ "JENKINS_URL": None, # Jenkins (just needs to exist)
15
+ "TRAVIS": "true", # Travis CI
16
+ "APPVEYOR": "true", # AppVeyor
17
+ "DRONE": "true", # Drone CI
18
+ "TEAMCITY_VERSION": None, # TeamCity
19
+ "BITBUCKET_COMMIT": None, # Bitbucket Pipelines
20
+ "BUILDKITE": "true", # Buildkite
21
+ "CODEBUILD_BUILD_ID": None, # AWS CodeBuild
22
+ "AZURE_PIPELINES": "true", # Azure Pipelines
23
23
  }
24
24
 
25
25
  for env_var, expected_value in ci_environments.items():
@@ -37,22 +37,22 @@ def is_ci_env():
37
37
 
38
38
  def get_runner():
39
39
  # GitHub Action
40
- if os.environ.get('GITHUB_ACTIONS', 'false') == 'true':
41
- return 'github actions'
40
+ if os.environ.get("GITHUB_ACTIONS", "false") == "true":
41
+ return "github actions"
42
42
 
43
43
  # GitHub Codespace
44
- if os.environ.get('CODESPACES', 'false') == 'true':
45
- return 'github codespaces'
44
+ if os.environ.get("CODESPACES", "false") == "true":
45
+ return "github codespaces"
46
46
 
47
47
  # CircleCI
48
- if os.environ.get('CIRCLECI', 'false') == 'true':
49
- return 'circleci'
48
+ if os.environ.get("CIRCLECI", "false") == "true":
49
+ return "circleci"
50
50
 
51
51
  return None
52
52
 
53
53
 
54
54
  def get_version():
55
- version_file = os.path.normpath(os.path.join(os.path.dirname(__file__), 'VERSION'))
55
+ version_file = os.path.normpath(os.path.join(os.path.dirname(__file__), "VERSION"))
56
56
  with open(version_file) as fh:
57
57
  version = fh.read().strip()
58
58
  return version
@@ -65,11 +65,11 @@ def fetch_latest_version():
65
65
  return current_version
66
66
 
67
67
  try:
68
- url = 'https://pypi.org/pypi/recce/json'
68
+ url = "https://pypi.org/pypi/recce/json"
69
69
  response = requests.get(url, timeout=3)
70
70
  response.raise_for_status()
71
71
  data = response.json()
72
- return data['info']['version']
72
+ return data["info"]["version"]
73
73
  except Exception:
74
74
  return current_version
75
75
 
@@ -1,13 +1,13 @@
1
1
  import logging
2
2
  from abc import ABC, abstractmethod
3
- from typing import Optional, Callable, Set, Literal
3
+ from typing import Callable, Literal, Optional, Set
4
4
 
5
5
  from recce.models.types import LineageDiff, NodeDiff
6
6
  from recce.state import ArtifactsRoot
7
7
 
8
8
  # from dbt.contracts.graph.nodes import ManifestNode
9
9
 
10
- logger = logging.getLogger('uvicorn')
10
+ logger = logging.getLogger("uvicorn")
11
11
 
12
12
 
13
13
  class BaseAdapter(ABC):
@@ -23,28 +23,25 @@ class BaseAdapter(ABC):
23
23
  def get_lineage_diff(self) -> LineageDiff:
24
24
  base = self.get_lineage(base=True)
25
25
  current = self.get_lineage(base=False)
26
- keys = {
27
- *base.get('nodes', {}).keys(),
28
- *current.get('nodes', {}).keys()
29
- }
26
+ keys = {*base.get("nodes", {}).keys(), *current.get("nodes", {}).keys()}
30
27
 
31
28
  # for each node, compare the base and current lineage
32
29
  diff = {}
33
30
  for key in keys:
34
- base_node = base.get('nodes', {}).get(key)
35
- curr_node = current.get('nodes', {}).get(key)
31
+ base_node = base.get("nodes", {}).get(key)
32
+ curr_node = current.get("nodes", {}).get(key)
36
33
  if base_node and curr_node:
37
- base_checksum = base_node.get('checksum', {}).get('checksum')
38
- curr_checksum = curr_node.get('checksum', {}).get('checksum')
34
+ base_checksum = base_node.get("checksum", {}).get("checksum")
35
+ curr_checksum = curr_node.get("checksum", {}).get("checksum")
39
36
 
40
37
  if base_checksum is not None and base_checksum == curr_checksum:
41
38
  continue
42
39
 
43
- diff[key] = NodeDiff(change_status='modified', change_category='breaking')
40
+ diff[key] = NodeDiff(change_status="modified", change_category="breaking")
44
41
  elif base_node:
45
- diff[key] = NodeDiff(change_status='removed')
42
+ diff[key] = NodeDiff(change_status="removed")
46
43
  elif curr_node:
47
- diff[key] = NodeDiff(change_status='added')
44
+ diff[key] = NodeDiff(change_status="added")
48
45
  return LineageDiff(
49
46
  base=base,
50
47
  current=current,
@@ -57,7 +54,7 @@ class BaseAdapter(ABC):
57
54
  select: Optional[str] = None,
58
55
  exclude: Optional[str] = None,
59
56
  packages: Optional[list[str]] = None,
60
- view_mode: Optional[Literal['all', 'changed_models']] = None,
57
+ view_mode: Optional[Literal["all", "changed_models"]] = None,
61
58
  ) -> Set[str]:
62
59
  raise NotImplementedError()
63
60