recce-nightly 0.56.0.20250302__py3-none-any.whl → 0.56.0.20250303__py3-none-any.whl

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.
recce/VERSION CHANGED
@@ -1 +1 @@
1
- 0.56.0.20250302
1
+ 0.56.0.20250303
@@ -772,13 +772,19 @@ class DbtAdapter(BaseAdapter):
772
772
  try:
773
773
  dialect = self.adapter.type()
774
774
  column_lineage = cll(compiled_sql, schema=schema, dialect=dialect)
775
- except RecceException as exception:
776
- print(exception)
775
+ except RecceException:
776
+ # TODO: provide parsing error message if needed
777
+ _apply_all_columns(node, 'unknown', [])
778
+ continue
779
+ except Exception:
777
780
  _apply_all_columns(node, 'unknown', [])
778
781
  continue
779
782
 
780
783
  for name, column in node.get('columns', {}).items():
781
784
  if name in column_lineage:
785
+ for cld in column_lineage[name].depends_on:
786
+ # manifest node name is case-insensitive
787
+ cld.node = cld.node.lower()
782
788
  column['depends_on'] = column_lineage[name].depends_on
783
789
  column['transformation_type'] = column_lineage[name].type
784
790
 
recce/cli.py CHANGED
@@ -541,6 +541,12 @@ def upload(state_file, **kwargs):
541
541
 
542
542
  # check if state exists in cloud
543
543
  state_manager = RecceCloudStateManager(cloud_options)
544
+ if not state_manager.verify():
545
+ error, hint = state_manager.error_and_hint
546
+ console.print(f"[[red]Error[/red]] {error}")
547
+ console.print(f"{hint}")
548
+ exit(1)
549
+
544
550
  cloud_state_file_exists = state_manager.check_cloud_state_exists()
545
551
 
546
552
  if cloud_state_file_exists and not click.confirm('\nDo you want to overwrite the existing state file?'):
@@ -577,6 +583,12 @@ def download(**kwargs):
577
583
 
578
584
  # check if state exists in cloud
579
585
  state_manager = RecceCloudStateManager(cloud_options)
586
+ if not state_manager.verify():
587
+ error, hint = state_manager.error_and_hint
588
+ console.print(f"[[red]Error[/red]] {error}")
589
+ console.print(f"{hint}")
590
+ exit(1)
591
+
580
592
  cloud_state_file_exists = state_manager.check_cloud_state_exists()
581
593
 
582
594
  if not cloud_state_file_exists:
recce/data/404.html CHANGED
@@ -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-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.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-300961f547f48fe7.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[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\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\":\"yhRltmKeCHagogYcUQFyx\",\"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-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.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-300961f547f48fe7.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[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\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\":\"hJPyciGzo_u9ecuwxXUJf\",\"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>
recce/data/index.html CHANGED
@@ -24,4 +24,4 @@
24
24
  transparent 0%,
25
25
  #3182ce 50%,
26
26
  transparent 100%
27
- );position:absolute;will-change:left;min-width:50%;-webkit-animation:animation-11lmxjq 1s ease infinite normal none running;animation:animation-11lmxjq 1s ease infinite normal none running;}@-webkit-keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}@keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}</style><div style="width:0%" data-indeterminate="" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="css-h5ends"></div></div></div><div class="css-0"></div></div></div></div><span></span><span id="__chakra_env" hidden=""></span><script src="/_next/static/chunks/webpack-300961f547f48fe7.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:HL[\"/_next/static/css/1d7428fe54fca42f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[16892,[],\"\"]\n4:I[38443,[],\"ClientPageRoot\"]\n5:I[21636,[\"524\",\"static/chunks/b3b1872b-97ea0be5bd9b42bc.js\",\"434\",\"static/chunks/868e7b5c-36d94ba5a58a2e6a.js\",\"678\",\"static/chunks/3998a672-e71829c331c77ccb.js\",\"509\",\"static/chunks/9746af58-daab848e55b5faf7.js\",\"648\",\"static/chunks/ce84277d-ced9559f73764a27.js\",\"989\",\"static/chunks/47d8844f-ccb4e71fbabd12f3.js\",\"147\",\"static/chunks/a30376cd-de90859763d1c500.js\",\"995\",\"static/chunks/fee69bc6-2cf346c884a74e9d.js\",\"739\",\"static/chunks/7a8a3e83-f7fe5f14c56108bf.js\",\"283\",\"static/chunks/450c323b-79414be6f43ef15c.js\",\"303\",\"static/chunks/36e1c10d-3bcdd9bb8564108c.js\",\"22\",\"static/chunks/29e3cc0d-490dbff344996865.js\",\"25\",\"static/chunks/b63b1b3f-13deddaaba264453.js\",\"355\",\"static/chunks/7f27ae6c-c484e79185298424.js\",\"495\",\"static/chunks/6dc81886-03da5372308c376d.js\",\"599\",\"static/chunks/c132bf7d-740a7144e614cb2d.js\",\"852\",\"static/chunks/cf0511cf-88e5bf54e88504a3.js\",\"771\",\"static/chunks/771-71780b322a32673c.js\",\"931\",\"static/chunks/app/page-edc85fe647299e04.js\"],\"default\",1]\n6:I[60299,[],\"\"]\n7:I[43276,[],\"\"]\n9:I[28103,[],\"\"]\na:[]\n0:[\"$\",\"$L2\",null,{\"buildId\":\"yhRltmKeCHagogYcUQFyx\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1d7428fe54fca42f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helv"])</script><script>self.__next_f.push([1,"etica,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.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"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\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}]]\n3:null\n"])</script></body></html>
27
+ );position:absolute;will-change:left;min-width:50%;-webkit-animation:animation-11lmxjq 1s ease infinite normal none running;animation:animation-11lmxjq 1s ease infinite normal none running;}@-webkit-keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}@keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}</style><div style="width:0%" data-indeterminate="" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="css-h5ends"></div></div></div><div class="css-0"></div></div></div></div><span></span><span id="__chakra_env" hidden=""></span><script src="/_next/static/chunks/webpack-300961f547f48fe7.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:HL[\"/_next/static/css/1d7428fe54fca42f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[16892,[],\"\"]\n4:I[38443,[],\"ClientPageRoot\"]\n5:I[21636,[\"524\",\"static/chunks/b3b1872b-97ea0be5bd9b42bc.js\",\"434\",\"static/chunks/868e7b5c-36d94ba5a58a2e6a.js\",\"678\",\"static/chunks/3998a672-e71829c331c77ccb.js\",\"509\",\"static/chunks/9746af58-daab848e55b5faf7.js\",\"648\",\"static/chunks/ce84277d-ced9559f73764a27.js\",\"989\",\"static/chunks/47d8844f-ccb4e71fbabd12f3.js\",\"147\",\"static/chunks/a30376cd-de90859763d1c500.js\",\"995\",\"static/chunks/fee69bc6-2cf346c884a74e9d.js\",\"739\",\"static/chunks/7a8a3e83-f7fe5f14c56108bf.js\",\"283\",\"static/chunks/450c323b-79414be6f43ef15c.js\",\"303\",\"static/chunks/36e1c10d-3bcdd9bb8564108c.js\",\"22\",\"static/chunks/29e3cc0d-490dbff344996865.js\",\"25\",\"static/chunks/b63b1b3f-13deddaaba264453.js\",\"355\",\"static/chunks/7f27ae6c-c484e79185298424.js\",\"495\",\"static/chunks/6dc81886-03da5372308c376d.js\",\"599\",\"static/chunks/c132bf7d-740a7144e614cb2d.js\",\"852\",\"static/chunks/cf0511cf-88e5bf54e88504a3.js\",\"771\",\"static/chunks/771-71780b322a32673c.js\",\"931\",\"static/chunks/app/page-edc85fe647299e04.js\"],\"default\",1]\n6:I[60299,[],\"\"]\n7:I[43276,[],\"\"]\n9:I[28103,[],\"\"]\na:[]\n0:[\"$\",\"$L2\",null,{\"buildId\":\"hJPyciGzo_u9ecuwxXUJf\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1d7428fe54fca42f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helv"])</script><script>self.__next_f.push([1,"etica,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.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"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\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}]]\n3:null\n"])</script></body></html>
recce/data/index.txt CHANGED
@@ -2,6 +2,6 @@
2
2
  3:I[21636,["524","static/chunks/b3b1872b-97ea0be5bd9b42bc.js","434","static/chunks/868e7b5c-36d94ba5a58a2e6a.js","678","static/chunks/3998a672-e71829c331c77ccb.js","509","static/chunks/9746af58-daab848e55b5faf7.js","648","static/chunks/ce84277d-ced9559f73764a27.js","989","static/chunks/47d8844f-ccb4e71fbabd12f3.js","147","static/chunks/a30376cd-de90859763d1c500.js","995","static/chunks/fee69bc6-2cf346c884a74e9d.js","739","static/chunks/7a8a3e83-f7fe5f14c56108bf.js","283","static/chunks/450c323b-79414be6f43ef15c.js","303","static/chunks/36e1c10d-3bcdd9bb8564108c.js","22","static/chunks/29e3cc0d-490dbff344996865.js","25","static/chunks/b63b1b3f-13deddaaba264453.js","355","static/chunks/7f27ae6c-c484e79185298424.js","495","static/chunks/6dc81886-03da5372308c376d.js","599","static/chunks/c132bf7d-740a7144e614cb2d.js","852","static/chunks/cf0511cf-88e5bf54e88504a3.js","771","static/chunks/771-71780b322a32673c.js","931","static/chunks/app/page-edc85fe647299e04.js"],"default",1]
3
3
  4:I[60299,[],""]
4
4
  5:I[43276,[],""]
5
- 0:["yhRltmKeCHagogYcUQFyx",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1d7428fe54fca42f.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","children":["$","body",null,{"suppressHydrationWarning":true,"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","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."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
5
+ 0:["hJPyciGzo_u9ecuwxXUJf",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1d7428fe54fca42f.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","children":["$","body",null,{"suppressHydrationWarning":true,"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","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."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
6
6
  6:[["$","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"}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"32x32"}]]
7
7
  1:null
recce/state.py CHANGED
@@ -5,6 +5,7 @@ import os
5
5
  import threading
6
6
  import time
7
7
  from base64 import b64encode
8
+ from dataclasses import dataclass
8
9
  from datetime import datetime
9
10
  from hashlib import md5, sha256
10
11
  from typing import List, Optional, Dict, Union, Tuple
@@ -29,6 +30,23 @@ RECCE_STATE_FILE = 'recce-state.json'
29
30
  RECCE_STATE_COMPRESSED_FILE = f'{RECCE_STATE_FILE}.gz'
30
31
 
31
32
 
33
+ @dataclass
34
+ class ErrorMessage:
35
+ error_message: str
36
+ hint_message: str
37
+
38
+
39
+ RECCE_CLOUD_TOKEN_MISSING = ErrorMessage(
40
+ error_message='No GitHub token is provided to access the pull request information',
41
+ hint_message='Please provide a GitHub token in the command argument'
42
+ )
43
+
44
+ RECCE_CLOUD_PASSWORD_MISSING = ErrorMessage(
45
+ error_message='No password provided to access the state file in Recce Cloud',
46
+ hint_message='Please provide a password with the option "--password <compress-password>"'
47
+ )
48
+
49
+
32
50
  def s3_sse_c_headers(password: str) -> Dict[str, str]:
33
51
  hashed_password = sha256()
34
52
  md5_hash = md5()
@@ -179,7 +197,7 @@ class RecceStateLoader:
179
197
 
180
198
  if self.cloud_mode:
181
199
  if not self.cloud_options.get('token'):
182
- raise Exception('No GitHub token is provided to access the pull request information.')
200
+ raise Exception(RECCE_CLOUD_TOKEN_MISSING.error_message)
183
201
  self.pr_info = fetch_pr_metadata(cloud=self.cloud_mode, github_token=self.cloud_options.get('token'))
184
202
  if self.pr_info.id is None:
185
203
  raise Exception('Cannot get the pull request information from GitHub.')
@@ -190,13 +208,13 @@ class RecceStateLoader:
190
208
  def verify(self) -> bool:
191
209
  if self.cloud_mode:
192
210
  if self.cloud_options.get('token') is None:
193
- self.error_message = 'No token is provided to access Recce Cloud.'
194
- self.hint_message = 'Please provide a token in the command argument.'
211
+ self.error_message = RECCE_CLOUD_TOKEN_MISSING.error_message
212
+ self.hint_message = RECCE_CLOUD_TOKEN_MISSING.hint_message
195
213
  return False
196
214
  if not self.cloud_options.get('host'):
197
215
  if self.cloud_options.get('password') is None:
198
- self.error_message = 'No password is provided to access the state file in Recce Cloud.'
199
- self.hint_message = 'Please provide a password with the option "--password <compress-password>".'
216
+ self.error_message = RECCE_CLOUD_PASSWORD_MISSING.error_message
217
+ self.hint_message = RECCE_CLOUD_PASSWORD_MISSING.hint_message
200
218
  return False
201
219
  else:
202
220
  if self.review_mode is True and self.state_file is None:
@@ -356,7 +374,7 @@ class RecceStateLoader:
356
374
 
357
375
  password = self.cloud_options.get('password')
358
376
  if password is None:
359
- raise Exception('No password is provided to access the state file in Recce Cloud.')
377
+ raise Exception(RECCE_CLOUD_PASSWORD_MISSING.error_message)
360
378
 
361
379
  with tempfile.NamedTemporaryFile() as tmp:
362
380
  headers = s3_sse_c_headers(password)
@@ -487,18 +505,38 @@ class RecceStateLoader:
487
505
 
488
506
 
489
507
  class RecceCloudStateManager:
508
+ error_message: str
509
+ hint_message: str
510
+
490
511
  # It is a class to upload, download and purge the state file on Recce Cloud.
491
512
 
492
513
  def __init__(self, cloud_options: Optional[Dict[str, str]] = None):
493
514
  self.cloud_options = cloud_options or {}
494
515
  self.pr_info = None
516
+ self.error_message = None
517
+ self.hint_message = None
495
518
 
496
519
  if not self.cloud_options.get('token'):
497
- raise Exception('No GitHub token is provided to access the pull request information.')
520
+ raise Exception(RECCE_CLOUD_TOKEN_MISSING.error_message)
498
521
  self.pr_info = fetch_pr_metadata(cloud=True, github_token=self.cloud_options.get('token'))
499
522
  if self.pr_info.id is None:
500
523
  raise Exception('Cannot get the pull request information from GitHub.')
501
524
 
525
+ def verify(self) -> bool:
526
+ if self.cloud_options.get('token') is None:
527
+ self.error_message = RECCE_CLOUD_TOKEN_MISSING.error_message
528
+ self.hint_message = RECCE_CLOUD_TOKEN_MISSING.hint_message
529
+ return False
530
+ if self.cloud_options.get('password') is None:
531
+ self.error_message = RECCE_CLOUD_PASSWORD_MISSING.error_message
532
+ self.hint_message = RECCE_CLOUD_PASSWORD_MISSING.hint_message
533
+ return False
534
+ return True
535
+
536
+ @property
537
+ def error_and_hint(self) -> (Union[str, None], Union[str, None]):
538
+ return self.error_message, self.hint_message
539
+
502
540
  def _check_state_in_recce_cloud(self) -> bool:
503
541
  return RecceCloud(token=self.cloud_options.get('token')).check_artifacts_exists(self.pr_info)
504
542
 
@@ -611,7 +649,7 @@ class RecceCloudStateManager:
611
649
 
612
650
  password = self.cloud_options.get('password')
613
651
  if password is None:
614
- raise Exception('No password is provided to access the state file in Recce Cloud.')
652
+ raise Exception(RECCE_CLOUD_PASSWORD_MISSING.error_message)
615
653
 
616
654
  headers = s3_sse_c_headers(password)
617
655
  response = requests.get(presigned_url, headers=headers)
recce/util/cll.py CHANGED
@@ -51,7 +51,8 @@ def _cll_expression(expression, default_table) -> ColumnLevelDependencyColumn:
51
51
  for expr in ifs:
52
52
  depends_on_one = _cll_expression(expr, default_table).depends_on
53
53
  depends_on.extend(depends_on_one)
54
- depends_on.extend(_cll_expression(default, default_table).depends_on)
54
+ if default is not None:
55
+ depends_on.extend(_cll_expression(default, default_table).depends_on)
55
56
  type = 'derived' if depends_on else 'source'
56
57
  return ColumnLevelDependencyColumn(type=type, depends_on=depends_on)
57
58
  elif isinstance(expression, If):
@@ -85,6 +86,13 @@ def _cll_expression(expression, default_table) -> ColumnLevelDependencyColumn:
85
86
  depends_on = _cll_expression(expression.this, default_table).depends_on
86
87
  type = 'derived' if depends_on else 'source'
87
88
  return ColumnLevelDependencyColumn(type=type, depends_on=depends_on)
89
+ elif expression.expressions:
90
+ depends_on = []
91
+ for expr in expression.expressions:
92
+ depends_on_one = _cll_expression(expr, default_table).depends_on
93
+ depends_on.extend(depends_on_one)
94
+ type = 'derived' if depends_on else 'source'
95
+ return ColumnLevelDependencyColumn(type=type, depends_on=depends_on)
88
96
  else:
89
97
  depends_on = []
90
98
  return ColumnLevelDependencyColumn(type='source', depends_on=depends_on)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: recce-nightly
3
- Version: 0.56.0.20250302
3
+ Version: 0.56.0.20250303
4
4
  Summary: Environment diff tool for dbt
5
5
  Home-page: https://github.com/InfuseAI/recce
6
6
  Author: InfuseAI Dev Team
@@ -1,7 +1,7 @@
1
- recce/VERSION,sha256=zKIJp0m4Utk1mpuZ2eDEc6YgLpt2JhbRkuPAoPKWXis,16
1
+ recce/VERSION,sha256=wO3m7gLaJcTGaFcA-sZ0cAHpq1JKNwSBD0twRGJQAgw,16
2
2
  recce/__init__.py,sha256=PUViz81KEpWnnIvX3wRaz3hq7FVUorVoZdbLNfSBaoM,1879
3
3
  recce/artifact.py,sha256=a7P1cXd6lglEZF2OYeNvsEg9ME-ocJo5oPU4VZVeaz0,6586
4
- recce/cli.py,sha256=ZKDNmsleExwXkv-OR4nExinaBSpuUePhMrLq-Pfbtpk,29917
4
+ recce/cli.py,sha256=vmZ-OwSlcWsYuIrxHpZdbdJOO67ZDQm8LLgBI6sMY4o,30295
5
5
  recce/config.py,sha256=ajvh4ZOblIU4ho684ca2ESUtMlKv8_Q2EG9WqL1Ruwc,4673
6
6
  recce/core.py,sha256=dwa-2mKYnBjJPJGf_siG_h2DO6Tj1Q5APfCJ5e368io,10463
7
7
  recce/diff.py,sha256=xLcBt4sW4sJCJ9tTCIpnV4SUHtYvMfYB1kX136iQbc0,794
@@ -11,22 +11,22 @@ recce/github.py,sha256=cQBNCtloeLpem06RDhUGb4tR7PoptP1pkZYCM1z2qUQ,7369
11
11
  recce/pull_request.py,sha256=d-9c9KLzQGY_1erotORdm8lTHqFZKjNN9-BfI-hbGJ8,3853
12
12
  recce/run.py,sha256=g0lAjKuihL5s4zi_qVlczXxlvAcJSq6n0rAilKqjIgc,13006
13
13
  recce/server.py,sha256=-3jBt7vdbs5GUNNIUnEJdmDqwbpeNzVognZOkKthOwA,15678
14
- recce/state.py,sha256=qyLRhoRIPRcYIRADKNAfZCtTndJk-Sxo3usHfADeI_c,28170
14
+ recce/state.py,sha256=Kr9xabbHkbq9wdr5pIAAbEK78vEsinHCyZqC3YvRAsM,29281
15
15
  recce/summary.py,sha256=yPAaGCkOmfhLjwF2rGpS66XR88TjyNG6GI3T6lsRIeg,18809
16
16
  recce/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  recce/adapter/base.py,sha256=rCdRJklpgAnQ864Ez0c0tzU_YPCWIb4clNiJ87niDcg,3582
18
18
  recce/adapter/sqlmesh_adapter.py,sha256=_nnWHhd46p1MIW5-riQFYMf638OlSdwugIKgTwYiRYM,5160
19
- recce/adapter/dbt_adapter/__init__.py,sha256=G7U-hktHCz4-0_GZlaQPF9bNkomkJWas9ie0h1HJuYc,44052
19
+ recce/adapter/dbt_adapter/__init__.py,sha256=yUwCGRdsv-R90RBKOxVWxsl_Xn2owtzoKO2yBS9xjPU,44362
20
20
  recce/adapter/dbt_adapter/dbt_version.py,sha256=CwsOEu101fzMUwUYD3Y7btDPAALQNwA7J6C4Auc_wzM,1225
21
21
  recce/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  recce/apis/check_api.py,sha256=S4OYx3vR5iezo1vnWpk56JUZiprAr9UgYcz-HEIsROs,6211
23
23
  recce/apis/check_func.py,sha256=onhGppZ7LDrVmipHaXZI-WaTVRFZDwb2oQhbYe0tSXY,4316
24
24
  recce/apis/run_api.py,sha256=FdNFWt7JrPbCv2CQkswbsaw5gZNGesjQBi749jbQtK0,3326
25
25
  recce/apis/run_func.py,sha256=ndEqhNzZtWvQsWUFhfPJ7GcjzJaI5vfBpDsU1adqOrI,7136
26
- recce/data/404.html,sha256=JFxzKYJlcpVX0MOaF9hKPrDP5vLaaLh-Qlx6kX1G5S4,6206
26
+ recce/data/404.html,sha256=D2E7KHdXVVvTC2PcROPWqsBnWTVupQ0lVbMHUPk49PI,6206
27
27
  recce/data/favicon.ico,sha256=B2mBumUOnzvUrXrqNkrc5QfdDXjzEXRcWkWur0fJ6sM,2565
28
- recce/data/index.html,sha256=JWYiiLTT-x_4eh9Z0ltshEoJWg5KjepHRoRTUGkO7Xw,38924
29
- recce/data/index.txt,sha256=GHF_eV3KNlVP3o1rSbt5oWMOvC8UC5TnGZm6ugw5X4Y,3283
28
+ recce/data/index.html,sha256=Cqe4k0lOfGST32irXNqrbzNghDXgswxnGKA0iXVojCU,38924
29
+ recce/data/index.txt,sha256=ukOh56TgDrhAaLwQP9dgn7O_OsnH0Bsk6hSIaUikobw,3283
30
30
  recce/data/_next/static/chunks/157e448a-49151cad1ec51175.js,sha256=Gu8zzhH5DrQ1dtvwlQwYB71iXUHIwWFpQnlvFOWCpmc,172836
31
31
  recce/data/_next/static/chunks/29e3cc0d-490dbff344996865.js,sha256=J_kTn0f6O93AITYvwPTtGocHNpWcRc6jxewfKoWypZM,700
32
32
  recce/data/_next/static/chunks/312-3e9b49b718b98737.js,sha256=GwmjEY2_In1voBy2ydbBjiD1SKkYhBi4FpVzHz9SlBs,124102
@@ -58,6 +58,8 @@ recce/data/_next/static/chunks/app/_not-found/page-c2ee18b5ec3e3d57.js,sha256=Ip
58
58
  recce/data/_next/static/chunks/pages/_app-ff7f75fed61fbef3.js,sha256=6yZ4xjG5xNCedVNP1JeD4BBkJeQpKtkmE8tdO9bEXeE,283
59
59
  recce/data/_next/static/chunks/pages/_error-5e587f051118d074.js,sha256=zvLvmg-hcW_z7aBjugTO5m2mDVJExs4bUMpeJee9-lU,249
60
60
  recce/data/_next/static/css/1d7428fe54fca42f.css,sha256=3EEZieaMASciZVLa8Aa17GTnDPL9YqP01lfxCCPcfDQ,21872
61
+ recce/data/_next/static/hJPyciGzo_u9ecuwxXUJf/_buildManifest.js,sha256=YO8ZajobGBQfFtGDwJn72G4J4BUoFhXxEs4bevyXW9c,224
62
+ recce/data/_next/static/hJPyciGzo_u9ecuwxXUJf/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
61
63
  recce/data/_next/static/media/montserrat-cyrillic-800-normal.5c8b3804.woff,sha256=l8EX4hmc2aw1GajwGrsgCUoqh-5E2j1bCG7oZKqsXEU,11044
62
64
  recce/data/_next/static/media/montserrat-cyrillic-800-normal.c03acce9.woff2,sha256=octlRkRfDnbmvmAYiXQPNtQHyEN5b7qodsqvxo3NPz4,8796
63
65
  recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.83d3554a.woff2,sha256=7O_wB00EeNW1kS2a1-QrDVoT55rSXnusd8yCMMLL6lk,9776
@@ -68,8 +70,6 @@ recce/data/_next/static/media/montserrat-latin-ext-800-normal.40cba3c6.woff,sha2
68
70
  recce/data/_next/static/media/montserrat-latin-ext-800-normal.85728e97.woff2,sha256=EpXJqJRuCdvNjtG4DT-ClT8ZyItLv2CuNwlYv9RtC50,13856
69
71
  recce/data/_next/static/media/montserrat-vietnamese-800-normal.0bd05041.woff,sha256=cF1W1bAhFnd05_8ljijgMGrZIkQACMF1YBHcej06mC4,6920
70
72
  recce/data/_next/static/media/montserrat-vietnamese-800-normal.dfbbc7ba.woff2,sha256=C0ZWWMMu_3IBlZL_FJVl8WyPFeSDWV4_Q4qDLlpTECo,5196
71
- recce/data/_next/static/yhRltmKeCHagogYcUQFyx/_buildManifest.js,sha256=YO8ZajobGBQfFtGDwJn72G4J4BUoFhXxEs4bevyXW9c,224
72
- recce/data/_next/static/yhRltmKeCHagogYcUQFyx/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
73
73
  recce/data/imgs/feedback/thumbs-down.png,sha256=q9KVIbaZku1TWkYHuleYlO-b6HsTApYh3St5xNHMGMg,10695
74
74
  recce/data/imgs/feedback/thumbs-up.png,sha256=VF3BH8bmYEqcSsMDJO57xMqW4t6crCXUXaMlOPgI_OE,10556
75
75
  recce/data/logo/recce-logo-white.png,sha256=y3re8iEucJnMUkAkRS2CjWHTlOydyvgWdWjuQKcXDbk,46923
@@ -96,7 +96,7 @@ recce/tasks/valuediff.py,sha256=7GcSy7emPSLXjqcJomJ5aK9V8Eamo864ln-iOyNnW5A,1511
96
96
  recce/util/__init__.py,sha256=0lcJectK7Z7k9h0EaYCcv4Bgw2PN03OdJoxb3tbV5j8,37
97
97
  recce/util/breaking.py,sha256=GnUHuk1xm1pEKu8u8kZx4rGhy1BQvUrD8oTSNTNMOq8,2052
98
98
  recce/util/cache.py,sha256=QB6wzxe0M3jNTwP0M27Ys8F2hF-oda4-LyXXG9THuZQ,646
99
- recce/util/cll.py,sha256=2ZxGpq1YC6LXhlHNznk-DNCAzgdyjWK0zfVp7gUPcyU,9160
99
+ recce/util/cll.py,sha256=Ew6qdFuQMQO6rogGOoCn5V71O-ZjdmKqwDVYrmyPtCc,9550
100
100
  recce/util/io.py,sha256=uMBpJBKKOUPHTBgntkVkuaVUkY8grDIlA8ORCtFLE5E,3372
101
101
  recce/util/logger.py,sha256=Vmd2PuyzBkML7zvPmJKe3yNfELFjRZqX7abA23wquzg,746
102
102
  recce/util/pydantic_model.py,sha256=KumKuyCjbTzEMsKLE4-b-eZfp0gLhYDdmVtw1-hxiJw,587
@@ -129,9 +129,9 @@ tests/tasks/test_row_count.py,sha256=hjrKP1u2aZ9V0EWb0WGXDz4-V2kYaiNeiJ_Mqin8BPg
129
129
  tests/tasks/test_schema.py,sha256=O2zLJzzYZBwoKA5BVYDE7UuaeQtAznKzFDXNw7xzMU4,2897
130
130
  tests/tasks/test_top_k.py,sha256=hqYWSd9xE1GU0wgvpgKeLHbPVd5CABYcTJvgA49JRyA,1707
131
131
  tests/tasks/test_valuediff.py,sha256=_z1Ci4ba4lFSWwbj7cbKBRtWqLgV_1HIZGqQlEFl61o,1863
132
- recce_nightly-0.56.0.20250302.dist-info/LICENSE,sha256=CQjjMy9aYPhfe8xG_bcpIfKtNkdxLZ5IOb8oPygtUhY,11343
133
- recce_nightly-0.56.0.20250302.dist-info/METADATA,sha256=eblTZYb869Di8ldHyWUQ35Gd8hYhVH3YeqMMBc7NzEM,13218
134
- recce_nightly-0.56.0.20250302.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
135
- recce_nightly-0.56.0.20250302.dist-info/entry_points.txt,sha256=oqoY_IiwIqXbgrIsPnlqUqao2eiIeP2dprowkOlmeyg,40
136
- recce_nightly-0.56.0.20250302.dist-info/top_level.txt,sha256=6PKGVpf75idP0C6KEaldDzzZUauIxNu1ZDstau1pI4I,12
137
- recce_nightly-0.56.0.20250302.dist-info/RECORD,,
132
+ recce_nightly-0.56.0.20250303.dist-info/LICENSE,sha256=CQjjMy9aYPhfe8xG_bcpIfKtNkdxLZ5IOb8oPygtUhY,11343
133
+ recce_nightly-0.56.0.20250303.dist-info/METADATA,sha256=2ZIk_TQiy3ZRNOvZOIiSURnwMk0OmwZbYJW6NUuMCBw,13218
134
+ recce_nightly-0.56.0.20250303.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
135
+ recce_nightly-0.56.0.20250303.dist-info/entry_points.txt,sha256=oqoY_IiwIqXbgrIsPnlqUqao2eiIeP2dprowkOlmeyg,40
136
+ recce_nightly-0.56.0.20250303.dist-info/top_level.txt,sha256=6PKGVpf75idP0C6KEaldDzzZUauIxNu1ZDstau1pI4I,12
137
+ recce_nightly-0.56.0.20250303.dist-info/RECORD,,