run-cache 2.1.0__tar.gz → 2.2.0__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.
- {run_cache-2.1.0 → run_cache-2.2.0}/PKG-INFO +2 -2
- run_cache-2.2.0/src/dbt_run_cache/_version.py +1 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/sso.py +11 -4
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/plugin.py +15 -5
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/runner.py +13 -2
- run_cache-2.1.0/src/dbt_run_cache/_version.py +0 -1
- {run_cache-2.1.0 → run_cache-2.2.0}/.gitignore +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/pyproject.toml +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/__init__.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/_typing.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/__init__.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/base.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/bigquery.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/clock.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/common.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/databricks.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/postgres.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/adapters/snowflake.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/__init__.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/grpc.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/oauth_clients.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/sso_server.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/auth/utils.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/cli/__init__.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/cli/auth.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/cli/explainer.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/cli/main.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/config.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/decision_logger.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/dev_cloner.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/dispatcher.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/errors.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/events.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/git.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/grpc/__init__.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/grpc/client.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/grpc/interceptors.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/profiles.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/relation.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/run_cache.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/selector.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/session.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/system_info.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/utils.py +0 -0
- {run_cache-2.1.0 → run_cache-2.2.0}/src/dbt_run_cache/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: run-cache
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: dbt plugin that skips redundant model executions by caching results from previous runs
|
|
5
5
|
Project-URL: Homepage, https://runcache.com
|
|
6
6
|
License: Copyright (c) 2026 Fivetran, Inc.
|
|
@@ -46,7 +46,7 @@ Requires-Dist: humanize
|
|
|
46
46
|
Requires-Dist: protobuf>=4.0.0
|
|
47
47
|
Requires-Dist: pyperclip
|
|
48
48
|
Requires-Dist: pytimeparse2
|
|
49
|
-
Requires-Dist: query-cache-common==1.
|
|
49
|
+
Requires-Dist: query-cache-common==1.3.0
|
|
50
50
|
Requires-Dist: query-cache-protobuf==1.2.0
|
|
51
51
|
Requires-Dist: rich
|
|
52
52
|
Requires-Dist: ruamel-yaml
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.2.0"
|
|
@@ -268,9 +268,6 @@ class SsoAuth:
|
|
|
268
268
|
"Please try again and complete the login in your browser."
|
|
269
269
|
)
|
|
270
270
|
|
|
271
|
-
self._console.print("[success]Success![/success] :white_check_mark:")
|
|
272
|
-
self._console.print()
|
|
273
|
-
|
|
274
271
|
self._session.fetch_token(
|
|
275
272
|
self._token_url,
|
|
276
273
|
authorization_response=callback_url,
|
|
@@ -278,7 +275,12 @@ class SsoAuth:
|
|
|
278
275
|
include_client_id=True,
|
|
279
276
|
)
|
|
280
277
|
|
|
281
|
-
|
|
278
|
+
token_info = self._update_token_info(self._session.token)
|
|
279
|
+
|
|
280
|
+
self._console.print("[success]Success![/success] :white_check_mark:")
|
|
281
|
+
self._console.print()
|
|
282
|
+
|
|
283
|
+
return token_info
|
|
282
284
|
|
|
283
285
|
except KeyboardInterrupt:
|
|
284
286
|
from rich.control import Control
|
|
@@ -401,6 +403,11 @@ class SsoAuth:
|
|
|
401
403
|
raise AuthenticationError(f"Error determining organization ID: {e}") from e
|
|
402
404
|
|
|
403
405
|
if not token_scope.is_org_id_in_scope(org_id):
|
|
406
|
+
if token_scope.is_org_id_disabled(org_id):
|
|
407
|
+
raise AuthenticationError(
|
|
408
|
+
f"User access to the requested organization (org_id: {org_id}) has been disabled."
|
|
409
|
+
)
|
|
410
|
+
|
|
404
411
|
raise AuthenticationError(
|
|
405
412
|
f"User does not have access to the requested organization (org_id: {org_id}). Please make sure your user account has access to this organization or specify a different organization that you have access to in the project configuration."
|
|
406
413
|
)
|
|
@@ -222,11 +222,21 @@ class RunCachePlugin(dbtPlugin):
|
|
|
222
222
|
pass
|
|
223
223
|
return
|
|
224
224
|
|
|
225
|
-
# Important: These imports must come after the disabled check to avoid importing local modules that may have side effects when the plugin is disabled
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
225
|
+
# Important: These imports must come after the main disabled check to avoid importing local modules that may have side effects when the plugin is disabled
|
|
226
|
+
turbo_disabled_value = (
|
|
227
|
+
os.getenv("RUN_CACHE_TURBO_DISABLED") or os.getenv("DBT_RUN_CACHE_TURBO_DISABLED") or ""
|
|
228
|
+
)
|
|
229
|
+
turbo_explicitly_disabled = turbo_disabled_value.lower() in _DISABLED_VALUES
|
|
230
|
+
logger = logging.getLogger(__name__)
|
|
231
|
+
|
|
232
|
+
if not turbo_explicitly_disabled:
|
|
233
|
+
try:
|
|
234
|
+
install_turbo()
|
|
235
|
+
except Exception:
|
|
236
|
+
logger.debug("Failed to install turbo", exc_info=True)
|
|
237
|
+
else:
|
|
238
|
+
# A user may choose to explicitly disable run-cache-turbo to troubleshoot cache-related errors
|
|
239
|
+
logger.debug("Run cache turbo is disabled")
|
|
230
240
|
|
|
231
241
|
from dbt_run_cache import events
|
|
232
242
|
from dbt_run_cache.version import __version__
|
|
@@ -19,13 +19,19 @@ from dbt.contracts.graph.nodes import (
|
|
|
19
19
|
SnapshotNode,
|
|
20
20
|
)
|
|
21
21
|
from dbt.events.types import EndOfRunSummary, LogTestResult as DbtLogTestResult, green, red, yellow
|
|
22
|
-
from dbt_run_cache.errors import UnsupportedClientVersionError
|
|
22
|
+
from dbt_run_cache.errors import AuthenticationError, UnsupportedClientVersionError
|
|
23
23
|
|
|
24
24
|
try:
|
|
25
25
|
from dbt_common.events.format import format_fancy_output_line
|
|
26
26
|
except ImportError:
|
|
27
27
|
from dbt.events.format import format_fancy_output_line # type: ignore
|
|
28
28
|
|
|
29
|
+
try:
|
|
30
|
+
from dbt_common.exceptions import DbtRuntimeError
|
|
31
|
+
except ImportError:
|
|
32
|
+
# dbt 1.7
|
|
33
|
+
from dbt.exceptions import DbtRuntimeError
|
|
34
|
+
|
|
29
35
|
from dbt_run_cache import events
|
|
30
36
|
from dbt_run_cache.auth import sso_auth
|
|
31
37
|
from dbt_run_cache.config import RunCacheConfig, DBT_RUN_CACHE_PATH
|
|
@@ -313,7 +319,12 @@ class RunnerOverride:
|
|
|
313
319
|
self._disabled = True
|
|
314
320
|
return None
|
|
315
321
|
|
|
316
|
-
|
|
322
|
+
try:
|
|
323
|
+
client = self._get_or_create_client(run_cache_config)
|
|
324
|
+
except AuthenticationError as e:
|
|
325
|
+
# Don't print a stack trace to console for AuthenticationError
|
|
326
|
+
# Raising it as a DbtRuntimeError prints just the message and halts execution
|
|
327
|
+
raise DbtRuntimeError(str(e)) from e
|
|
317
328
|
|
|
318
329
|
try:
|
|
319
330
|
client_version_is_supported = client.is_client_version_supported()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.1.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|