recce-nightly 0.58.0.20250316__py3-none-any.whl → 0.58.0.20250318__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.
Potentially problematic release.
This version of recce-nightly might be problematic. Click here for more details.
- recce/VERSION +1 -1
- recce/__init__.py +34 -13
- recce/cli.py +8 -0
- recce/data/404.html +1 -1
- recce/data/_next/static/chunks/app/page-904cdda04903cb1a.js +1 -0
- recce/data/index.html +2 -2
- recce/data/index.txt +2 -2
- recce/server.py +11 -3
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/METADATA +1 -1
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/RECORD +16 -16
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/WHEEL +1 -1
- recce/data/_next/static/chunks/app/page-5fe6b102815201fd.js +0 -1
- /recce/data/_next/static/{L8be2amZED8Da4AG1r_5k → O27gCGR2ICoHv7Bz0-rDS}/_buildManifest.js +0 -0
- /recce/data/_next/static/{L8be2amZED8Da4AG1r_5k → O27gCGR2ICoHv7Bz0-rDS}/_ssgManifest.js +0 -0
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/LICENSE +0 -0
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/entry_points.txt +0 -0
- {recce_nightly-0.58.0.20250316.dist-info → recce_nightly-0.58.0.20250318.dist-info}/top_level.txt +0 -0
recce/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.58.0.
|
|
1
|
+
0.58.0.20250318
|
recce/__init__.py
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import os
|
|
2
2
|
|
|
3
|
+
import requests
|
|
4
|
+
from packaging.version import Version
|
|
5
|
+
|
|
3
6
|
|
|
4
7
|
def is_ci_env():
|
|
5
8
|
# List of CI environment variables and their expected values
|
|
6
9
|
ci_environments = {
|
|
7
|
-
'CI': 'true',
|
|
8
|
-
'CIRCLECI': 'true',
|
|
9
|
-
'GITHUB_ACTIONS': 'true',
|
|
10
|
-
'GITLAB_CI': 'true',
|
|
11
|
-
'JENKINS_URL': None,
|
|
12
|
-
'TRAVIS': 'true',
|
|
13
|
-
'APPVEYOR': 'true',
|
|
14
|
-
'DRONE': 'true',
|
|
15
|
-
'TEAMCITY_VERSION': None,
|
|
16
|
-
'BITBUCKET_COMMIT': None,
|
|
17
|
-
'BUILDKITE': 'true',
|
|
18
|
-
'CODEBUILD_BUILD_ID': None,
|
|
19
|
-
'AZURE_PIPELINES': 'true',
|
|
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
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
for env_var, expected_value in ci_environments.items():
|
|
@@ -55,4 +58,22 @@ def get_version():
|
|
|
55
58
|
return version
|
|
56
59
|
|
|
57
60
|
|
|
61
|
+
def fetch_latest_version():
|
|
62
|
+
current_version = get_version()
|
|
63
|
+
if "dev" in current_version:
|
|
64
|
+
# Skip fetching latest version if it's a dev version
|
|
65
|
+
return current_version
|
|
66
|
+
|
|
67
|
+
try:
|
|
68
|
+
url = 'https://pypi.org/pypi/recce/json'
|
|
69
|
+
response = requests.get(url, timeout=3)
|
|
70
|
+
response.raise_for_status()
|
|
71
|
+
data = response.json()
|
|
72
|
+
return data['info']['version']
|
|
73
|
+
except Exception:
|
|
74
|
+
return current_version
|
|
75
|
+
|
|
76
|
+
|
|
58
77
|
__version__ = get_version()
|
|
78
|
+
__latest_version__ = fetch_latest_version()
|
|
79
|
+
__is_recce_outdated__ = Version(__version__) < Version(__latest_version__)
|
recce/cli.py
CHANGED
|
@@ -117,6 +117,14 @@ def _execute_sql(context, sql_template, base=False):
|
|
|
117
117
|
@click.pass_context
|
|
118
118
|
def cli(ctx, **kwargs):
|
|
119
119
|
"""Recce: Data validation toolkit for comprehensive PR review"""
|
|
120
|
+
from rich.console import Console
|
|
121
|
+
from recce import __is_recce_outdated__, __latest_version__
|
|
122
|
+
if __is_recce_outdated__ is True:
|
|
123
|
+
error_console = Console(stderr=True, style='bold')
|
|
124
|
+
error_console.print(
|
|
125
|
+
f"[[yellow]Update Available[/yellow]] A new version of Recce {__latest_version__} is available.",
|
|
126
|
+
)
|
|
127
|
+
error_console.print("Please update using the command: 'pip install --upgrade recce'.", end='\n\n')
|
|
120
128
|
|
|
121
129
|
|
|
122
130
|
@cli.command(cls=TrackCommand)
|
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-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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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\":\"
|
|
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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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>
|