dvt-core 0.52.2__cp310-cp310-macosx_10_9_x86_64.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.
- dbt/__init__.py +7 -0
- dbt/_pydantic_shim.py +26 -0
- dbt/artifacts/__init__.py +0 -0
- dbt/artifacts/exceptions/__init__.py +1 -0
- dbt/artifacts/exceptions/schemas.py +31 -0
- dbt/artifacts/resources/__init__.py +116 -0
- dbt/artifacts/resources/base.py +67 -0
- dbt/artifacts/resources/types.py +93 -0
- dbt/artifacts/resources/v1/analysis.py +10 -0
- dbt/artifacts/resources/v1/catalog.py +23 -0
- dbt/artifacts/resources/v1/components.py +274 -0
- dbt/artifacts/resources/v1/config.py +277 -0
- dbt/artifacts/resources/v1/documentation.py +11 -0
- dbt/artifacts/resources/v1/exposure.py +51 -0
- dbt/artifacts/resources/v1/function.py +52 -0
- dbt/artifacts/resources/v1/generic_test.py +31 -0
- dbt/artifacts/resources/v1/group.py +21 -0
- dbt/artifacts/resources/v1/hook.py +11 -0
- dbt/artifacts/resources/v1/macro.py +29 -0
- dbt/artifacts/resources/v1/metric.py +172 -0
- dbt/artifacts/resources/v1/model.py +145 -0
- dbt/artifacts/resources/v1/owner.py +10 -0
- dbt/artifacts/resources/v1/saved_query.py +111 -0
- dbt/artifacts/resources/v1/seed.py +41 -0
- dbt/artifacts/resources/v1/semantic_layer_components.py +72 -0
- dbt/artifacts/resources/v1/semantic_model.py +314 -0
- dbt/artifacts/resources/v1/singular_test.py +14 -0
- dbt/artifacts/resources/v1/snapshot.py +91 -0
- dbt/artifacts/resources/v1/source_definition.py +84 -0
- dbt/artifacts/resources/v1/sql_operation.py +10 -0
- dbt/artifacts/resources/v1/unit_test_definition.py +77 -0
- dbt/artifacts/schemas/__init__.py +0 -0
- dbt/artifacts/schemas/base.py +191 -0
- dbt/artifacts/schemas/batch_results.py +24 -0
- dbt/artifacts/schemas/catalog/__init__.py +11 -0
- dbt/artifacts/schemas/catalog/v1/__init__.py +0 -0
- dbt/artifacts/schemas/catalog/v1/catalog.py +59 -0
- dbt/artifacts/schemas/freshness/__init__.py +1 -0
- dbt/artifacts/schemas/freshness/v3/__init__.py +0 -0
- dbt/artifacts/schemas/freshness/v3/freshness.py +158 -0
- dbt/artifacts/schemas/manifest/__init__.py +2 -0
- dbt/artifacts/schemas/manifest/v12/__init__.py +0 -0
- dbt/artifacts/schemas/manifest/v12/manifest.py +211 -0
- dbt/artifacts/schemas/results.py +147 -0
- dbt/artifacts/schemas/run/__init__.py +2 -0
- dbt/artifacts/schemas/run/v5/__init__.py +0 -0
- dbt/artifacts/schemas/run/v5/run.py +184 -0
- dbt/artifacts/schemas/upgrades/__init__.py +4 -0
- dbt/artifacts/schemas/upgrades/upgrade_manifest.py +174 -0
- dbt/artifacts/schemas/upgrades/upgrade_manifest_dbt_version.py +2 -0
- dbt/artifacts/utils/validation.py +153 -0
- dbt/cli/__init__.py +1 -0
- dbt/cli/context.py +17 -0
- dbt/cli/exceptions.py +57 -0
- dbt/cli/flags.py +560 -0
- dbt/cli/main.py +2039 -0
- dbt/cli/option_types.py +121 -0
- dbt/cli/options.py +80 -0
- dbt/cli/params.py +804 -0
- dbt/cli/requires.py +490 -0
- dbt/cli/resolvers.py +50 -0
- dbt/cli/types.py +40 -0
- dbt/clients/__init__.py +0 -0
- dbt/clients/checked_load.py +83 -0
- dbt/clients/git.py +164 -0
- dbt/clients/jinja.py +206 -0
- dbt/clients/jinja_static.py +245 -0
- dbt/clients/registry.py +192 -0
- dbt/clients/yaml_helper.py +68 -0
- dbt/compilation.py +876 -0
- dbt/compute/__init__.py +14 -0
- dbt/compute/engines/__init__.py +12 -0
- dbt/compute/engines/spark_engine.py +624 -0
- dbt/compute/federated_executor.py +837 -0
- dbt/compute/filter_pushdown.cpython-310-darwin.so +0 -0
- dbt/compute/filter_pushdown.py +273 -0
- dbt/compute/jar_provisioning.cpython-310-darwin.so +0 -0
- dbt/compute/jar_provisioning.py +255 -0
- dbt/compute/java_compat.cpython-310-darwin.so +0 -0
- dbt/compute/java_compat.py +689 -0
- dbt/compute/jdbc_utils.cpython-310-darwin.so +0 -0
- dbt/compute/jdbc_utils.py +678 -0
- dbt/compute/smart_selector.cpython-310-darwin.so +0 -0
- dbt/compute/smart_selector.py +311 -0
- dbt/compute/strategies/__init__.py +54 -0
- dbt/compute/strategies/base.py +165 -0
- dbt/compute/strategies/dataproc.py +207 -0
- dbt/compute/strategies/emr.py +203 -0
- dbt/compute/strategies/local.py +364 -0
- dbt/compute/strategies/standalone.py +262 -0
- dbt/config/__init__.py +4 -0
- dbt/config/catalogs.py +94 -0
- dbt/config/compute.cpython-310-darwin.so +0 -0
- dbt/config/compute.py +547 -0
- dbt/config/dvt_profile.cpython-310-darwin.so +0 -0
- dbt/config/dvt_profile.py +342 -0
- dbt/config/profile.py +422 -0
- dbt/config/project.py +873 -0
- dbt/config/project_utils.py +28 -0
- dbt/config/renderer.py +231 -0
- dbt/config/runtime.py +553 -0
- dbt/config/selectors.py +208 -0
- dbt/config/utils.py +77 -0
- dbt/constants.py +28 -0
- dbt/context/__init__.py +0 -0
- dbt/context/base.py +745 -0
- dbt/context/configured.py +135 -0
- dbt/context/context_config.py +382 -0
- dbt/context/docs.py +82 -0
- dbt/context/exceptions_jinja.py +178 -0
- dbt/context/macro_resolver.py +195 -0
- dbt/context/macros.py +171 -0
- dbt/context/manifest.py +72 -0
- dbt/context/providers.py +2249 -0
- dbt/context/query_header.py +13 -0
- dbt/context/secret.py +58 -0
- dbt/context/target.py +74 -0
- dbt/contracts/__init__.py +0 -0
- dbt/contracts/files.py +413 -0
- dbt/contracts/graph/__init__.py +0 -0
- dbt/contracts/graph/manifest.py +1904 -0
- dbt/contracts/graph/metrics.py +97 -0
- dbt/contracts/graph/model_config.py +70 -0
- dbt/contracts/graph/node_args.py +42 -0
- dbt/contracts/graph/nodes.py +1806 -0
- dbt/contracts/graph/semantic_manifest.py +232 -0
- dbt/contracts/graph/unparsed.py +811 -0
- dbt/contracts/project.py +417 -0
- dbt/contracts/results.py +53 -0
- dbt/contracts/selection.py +23 -0
- dbt/contracts/sql.py +85 -0
- dbt/contracts/state.py +68 -0
- dbt/contracts/util.py +46 -0
- dbt/deprecations.py +346 -0
- dbt/deps/__init__.py +0 -0
- dbt/deps/base.py +152 -0
- dbt/deps/git.py +195 -0
- dbt/deps/local.py +79 -0
- dbt/deps/registry.py +130 -0
- dbt/deps/resolver.py +149 -0
- dbt/deps/tarball.py +120 -0
- dbt/docs/source/_ext/dbt_click.py +119 -0
- dbt/docs/source/conf.py +32 -0
- dbt/env_vars.py +64 -0
- dbt/event_time/event_time.py +40 -0
- dbt/event_time/sample_window.py +60 -0
- dbt/events/__init__.py +15 -0
- dbt/events/base_types.py +36 -0
- dbt/events/core_types_pb2.py +2 -0
- dbt/events/logging.py +108 -0
- dbt/events/types.py +2516 -0
- dbt/exceptions.py +1486 -0
- dbt/flags.py +89 -0
- dbt/graph/__init__.py +11 -0
- dbt/graph/cli.py +247 -0
- dbt/graph/graph.py +172 -0
- dbt/graph/queue.py +214 -0
- dbt/graph/selector.py +374 -0
- dbt/graph/selector_methods.py +975 -0
- dbt/graph/selector_spec.py +222 -0
- dbt/graph/thread_pool.py +18 -0
- dbt/hooks.py +21 -0
- dbt/include/README.md +49 -0
- dbt/include/__init__.py +3 -0
- dbt/include/starter_project/.gitignore +4 -0
- dbt/include/starter_project/README.md +15 -0
- dbt/include/starter_project/__init__.py +3 -0
- dbt/include/starter_project/analyses/.gitkeep +0 -0
- dbt/include/starter_project/dbt_project.yml +36 -0
- dbt/include/starter_project/macros/.gitkeep +0 -0
- dbt/include/starter_project/models/example/my_first_dbt_model.sql +27 -0
- dbt/include/starter_project/models/example/my_second_dbt_model.sql +6 -0
- dbt/include/starter_project/models/example/schema.yml +21 -0
- dbt/include/starter_project/seeds/.gitkeep +0 -0
- dbt/include/starter_project/snapshots/.gitkeep +0 -0
- dbt/include/starter_project/tests/.gitkeep +0 -0
- dbt/internal_deprecations.py +26 -0
- dbt/jsonschemas/__init__.py +3 -0
- dbt/jsonschemas/jsonschemas.py +309 -0
- dbt/jsonschemas/project/0.0.110.json +4717 -0
- dbt/jsonschemas/project/0.0.85.json +2015 -0
- dbt/jsonschemas/resources/0.0.110.json +2636 -0
- dbt/jsonschemas/resources/0.0.85.json +2536 -0
- dbt/jsonschemas/resources/latest.json +6773 -0
- dbt/links.py +4 -0
- dbt/materializations/__init__.py +0 -0
- dbt/materializations/incremental/__init__.py +0 -0
- dbt/materializations/incremental/microbatch.py +236 -0
- dbt/mp_context.py +8 -0
- dbt/node_types.py +37 -0
- dbt/parser/__init__.py +23 -0
- dbt/parser/analysis.py +21 -0
- dbt/parser/base.py +548 -0
- dbt/parser/common.py +266 -0
- dbt/parser/docs.py +52 -0
- dbt/parser/fixtures.py +51 -0
- dbt/parser/functions.py +30 -0
- dbt/parser/generic_test.py +100 -0
- dbt/parser/generic_test_builders.py +333 -0
- dbt/parser/hooks.py +118 -0
- dbt/parser/macros.py +137 -0
- dbt/parser/manifest.py +2204 -0
- dbt/parser/models.py +573 -0
- dbt/parser/partial.py +1178 -0
- dbt/parser/read_files.py +445 -0
- dbt/parser/schema_generic_tests.py +422 -0
- dbt/parser/schema_renderer.py +111 -0
- dbt/parser/schema_yaml_readers.py +935 -0
- dbt/parser/schemas.py +1466 -0
- dbt/parser/search.py +149 -0
- dbt/parser/seeds.py +28 -0
- dbt/parser/singular_test.py +20 -0
- dbt/parser/snapshots.py +44 -0
- dbt/parser/sources.py +558 -0
- dbt/parser/sql.py +62 -0
- dbt/parser/unit_tests.py +621 -0
- dbt/plugins/__init__.py +20 -0
- dbt/plugins/contracts.py +9 -0
- dbt/plugins/exceptions.py +2 -0
- dbt/plugins/manager.py +163 -0
- dbt/plugins/manifest.py +21 -0
- dbt/profiler.py +20 -0
- dbt/py.typed +1 -0
- dbt/query_analyzer.cpython-310-darwin.so +0 -0
- dbt/query_analyzer.py +410 -0
- dbt/runners/__init__.py +2 -0
- dbt/runners/exposure_runner.py +7 -0
- dbt/runners/no_op_runner.py +45 -0
- dbt/runners/saved_query_runner.py +7 -0
- dbt/selected_resources.py +8 -0
- dbt/task/__init__.py +0 -0
- dbt/task/base.py +503 -0
- dbt/task/build.py +197 -0
- dbt/task/clean.py +56 -0
- dbt/task/clone.py +161 -0
- dbt/task/compile.py +150 -0
- dbt/task/compute.py +454 -0
- dbt/task/debug.py +505 -0
- dbt/task/deps.py +280 -0
- dbt/task/docs/__init__.py +3 -0
- dbt/task/docs/generate.py +660 -0
- dbt/task/docs/index.html +250 -0
- dbt/task/docs/serve.py +29 -0
- dbt/task/freshness.py +322 -0
- dbt/task/function.py +121 -0
- dbt/task/group_lookup.py +46 -0
- dbt/task/init.py +553 -0
- dbt/task/java.py +316 -0
- dbt/task/list.py +236 -0
- dbt/task/printer.py +175 -0
- dbt/task/retry.py +175 -0
- dbt/task/run.py +1306 -0
- dbt/task/run_operation.py +141 -0
- dbt/task/runnable.py +758 -0
- dbt/task/seed.py +103 -0
- dbt/task/show.py +149 -0
- dbt/task/snapshot.py +56 -0
- dbt/task/spark.py +414 -0
- dbt/task/sql.py +110 -0
- dbt/task/target_sync.py +759 -0
- dbt/task/test.py +464 -0
- dbt/tests/fixtures/__init__.py +1 -0
- dbt/tests/fixtures/project.py +620 -0
- dbt/tests/util.py +651 -0
- dbt/tracking.py +529 -0
- dbt/utils/__init__.py +3 -0
- dbt/utils/artifact_upload.py +151 -0
- dbt/utils/utils.py +408 -0
- dbt/version.py +268 -0
- dvt_cli/__init__.py +72 -0
- dvt_core-0.52.2.dist-info/METADATA +286 -0
- dvt_core-0.52.2.dist-info/RECORD +275 -0
- dvt_core-0.52.2.dist-info/WHEEL +5 -0
- dvt_core-0.52.2.dist-info/entry_points.txt +2 -0
- dvt_core-0.52.2.dist-info/top_level.txt +2 -0
dvt_cli/__init__.py
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""
|
|
2
|
+
DVT CLI Entry Point Package
|
|
3
|
+
|
|
4
|
+
This standalone package provides the entry point for the DVT command-line
|
|
5
|
+
interface. It's separate from the 'dbt' namespace to avoid conflicts with
|
|
6
|
+
dbt-core during the initial import.
|
|
7
|
+
|
|
8
|
+
Why this package exists:
|
|
9
|
+
-----------------------
|
|
10
|
+
DVT extends dbt-core with additional commands (compute, target, migrate).
|
|
11
|
+
However, dbt adapters (like dbt-postgres) depend on dbt-core, so both
|
|
12
|
+
dvt-core and dbt-core end up installed together. Both packages provide
|
|
13
|
+
the 'dbt' namespace, which causes import conflicts.
|
|
14
|
+
|
|
15
|
+
By using a separate 'dvt_cli' package for the entry point, we can
|
|
16
|
+
manipulate sys.path BEFORE any 'dbt' modules are imported, ensuring
|
|
17
|
+
DVT's extended dbt package takes precedence.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import sys
|
|
21
|
+
from pathlib import Path
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def _ensure_dvt_precedence():
|
|
25
|
+
"""
|
|
26
|
+
Ensure DVT's dbt package takes precedence over dbt-core's version.
|
|
27
|
+
|
|
28
|
+
When both dvt-core and dbt-core are installed (dbt-core comes as a
|
|
29
|
+
dependency of dbt adapters like dbt-postgres), Python's namespace
|
|
30
|
+
package mechanism may load dbt-core's modules instead of DVT's.
|
|
31
|
+
|
|
32
|
+
This function manipulates sys.path to ensure DVT's path comes first,
|
|
33
|
+
guaranteeing that DVT's extended CLI (with compute, target, migrate
|
|
34
|
+
commands) is used instead of vanilla dbt-core.
|
|
35
|
+
"""
|
|
36
|
+
# Find where dvt-core's dbt package is located
|
|
37
|
+
# This file is at: <dvt-core>/dvt_cli/__init__.py
|
|
38
|
+
# So the package root (containing 'dbt/') is: <dvt-core>/
|
|
39
|
+
this_file = Path(__file__).resolve()
|
|
40
|
+
dvt_package_root = this_file.parent.parent
|
|
41
|
+
|
|
42
|
+
dvt_path = str(dvt_package_root)
|
|
43
|
+
|
|
44
|
+
# Remove dvt_path if it's already in sys.path (to move it to front)
|
|
45
|
+
if dvt_path in sys.path:
|
|
46
|
+
sys.path.remove(dvt_path)
|
|
47
|
+
|
|
48
|
+
# Insert at the beginning to take precedence over site-packages
|
|
49
|
+
sys.path.insert(0, dvt_path)
|
|
50
|
+
|
|
51
|
+
# Clear any already-imported dbt modules so they get re-imported
|
|
52
|
+
# from the correct location
|
|
53
|
+
modules_to_clear = [k for k in list(sys.modules.keys()) if k.startswith('dbt')]
|
|
54
|
+
for mod in modules_to_clear:
|
|
55
|
+
del sys.modules[mod]
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def dvt_cli():
|
|
59
|
+
"""
|
|
60
|
+
DVT CLI entry point function.
|
|
61
|
+
|
|
62
|
+
This is the main entry point for the 'dvt' command. It ensures DVT's
|
|
63
|
+
version of the dbt package takes precedence, then runs the CLI.
|
|
64
|
+
|
|
65
|
+
Users who want backward compatibility with 'dbt' command can create
|
|
66
|
+
a shell alias: alias dbt=dvt
|
|
67
|
+
"""
|
|
68
|
+
_ensure_dvt_precedence()
|
|
69
|
+
|
|
70
|
+
# Now import the CLI - this will get DVT's version
|
|
71
|
+
from dbt.cli.main import cli
|
|
72
|
+
cli()
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dvt-core
|
|
3
|
+
Version: 0.52.2
|
|
4
|
+
Summary: DVT (Data Virtualization Tool) - Multi-source data federation and transformation with Spark-unified compute layer.
|
|
5
|
+
Author: DVT Contributors
|
|
6
|
+
Maintainer: DVT Contributors
|
|
7
|
+
License-Expression: Apache-2.0
|
|
8
|
+
Project-URL: Homepage, https://github.com/dvt-core/dvt-core
|
|
9
|
+
Project-URL: Documentation, https://github.com/dvt-core/dvt-core#readme
|
|
10
|
+
Project-URL: Repository, https://github.com/dvt-core/dvt-core.git
|
|
11
|
+
Project-URL: Issues, https://github.com/dvt-core/dvt-core/issues
|
|
12
|
+
Keywords: data,virtualization,federation,multi-source,dbt,analytics,transform,spark,jdbc,databricks
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
15
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
+
Classifier: Programming Language :: Python
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
Requires-Dist: agate<1.10,>=1.7.0
|
|
25
|
+
Requires-Dist: Jinja2<4,>=3.1.3
|
|
26
|
+
Requires-Dist: mashumaro[msgpack]<3.15,>=3.9
|
|
27
|
+
Requires-Dist: click<9.0,>=8.0.2
|
|
28
|
+
Requires-Dist: jsonschema<5.0,>=4.19.1
|
|
29
|
+
Requires-Dist: networkx<4.0,>=2.3
|
|
30
|
+
Requires-Dist: protobuf<7.0,>=6.0
|
|
31
|
+
Requires-Dist: requests<3.0.0
|
|
32
|
+
Requires-Dist: snowplow-tracker<2.0,>=1.0.2
|
|
33
|
+
Requires-Dist: pathspec<0.13,>=0.9
|
|
34
|
+
Requires-Dist: sqlparse<0.6.0,>=0.5.0
|
|
35
|
+
Requires-Dist: dbt-extractor<=0.6,>=0.5.0
|
|
36
|
+
Requires-Dist: dbt-semantic-interfaces<0.10,>=0.9.0
|
|
37
|
+
Requires-Dist: dbt-common<2.0,>=1.27.0
|
|
38
|
+
Requires-Dist: dbt-adapters<2.0,>=1.15.5
|
|
39
|
+
Requires-Dist: dbt-protos<2.0,>=1.0.375
|
|
40
|
+
Requires-Dist: pydantic<3
|
|
41
|
+
Requires-Dist: packaging>20.9
|
|
42
|
+
Requires-Dist: pytz>=2015.7
|
|
43
|
+
Requires-Dist: pyyaml>=6.0
|
|
44
|
+
Requires-Dist: daff>=1.3.46
|
|
45
|
+
Requires-Dist: typing-extensions>=4.4
|
|
46
|
+
Requires-Dist: dbt-postgres<2.0,>=1.9.0
|
|
47
|
+
Requires-Dist: pyspark<5.0.0,>=3.5.0
|
|
48
|
+
Provides-Extra: databricks
|
|
49
|
+
Requires-Dist: databricks-connect>=13.0.0; extra == "databricks"
|
|
50
|
+
|
|
51
|
+
# DVT-Core: Data Virtualization Tool
|
|
52
|
+
|
|
53
|
+
**DVT-Core** is a multi-source data federation and transformation platform built on dbt-core architecture. Query and transform data across multiple heterogeneous data sources with intelligent query pushdown and compute layer integration.
|
|
54
|
+
|
|
55
|
+
## Features
|
|
56
|
+
|
|
57
|
+
- 🔄 **Multi-Source Queries**: Join data from PostgreSQL, Snowflake, BigQuery, MySQL, and more in a single query
|
|
58
|
+
- 🧠 **Intelligent Routing**: Automatically pushes down queries when possible, uses compute layer when needed
|
|
59
|
+
- ⚡ **JDBC Performance**: Spark JDBC-based data transfer for maximum efficiency
|
|
60
|
+
- 🔧 **Familiar Workflow**: Same dbt commands, same project structure, enhanced capabilities
|
|
61
|
+
- 🎯 **Smart Compute Selection**: Automatically chooses between Spark Local (embedded) or Spark Cluster (distributed)
|
|
62
|
+
- 🎛️ **Full Control**: Override everything with `target=` and `compute=` config options
|
|
63
|
+
- ✅ **100% Compatible**: Works with existing dbt projects and all dbt adapters
|
|
64
|
+
|
|
65
|
+
## Quick Start
|
|
66
|
+
|
|
67
|
+
### Installation
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pip install dvt-core
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Or with uv:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
uv pip install dvt-core
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Configure Multi-Connection Profile
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
# profiles.yml
|
|
83
|
+
my_project:
|
|
84
|
+
connections:
|
|
85
|
+
postgres_prod:
|
|
86
|
+
type: postgres
|
|
87
|
+
host: prod-db.example.com
|
|
88
|
+
port: 5432
|
|
89
|
+
user: prod_user
|
|
90
|
+
password: "{{ env_var('POSTGRES_PASSWORD') }}"
|
|
91
|
+
database: analytics
|
|
92
|
+
schema: public
|
|
93
|
+
threads: 4
|
|
94
|
+
|
|
95
|
+
snowflake_warehouse:
|
|
96
|
+
type: snowflake
|
|
97
|
+
account: abc123
|
|
98
|
+
user: snow_user
|
|
99
|
+
password: "{{ env_var('SNOWFLAKE_PASSWORD') }}"
|
|
100
|
+
database: warehouse
|
|
101
|
+
schema: public
|
|
102
|
+
warehouse: compute_wh
|
|
103
|
+
threads: 8
|
|
104
|
+
|
|
105
|
+
default_target: snowflake_warehouse
|
|
106
|
+
threads: 4
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Define Sources with Connections
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
# models/sources.yml
|
|
113
|
+
sources:
|
|
114
|
+
- name: postgres_data
|
|
115
|
+
connection: postgres_prod
|
|
116
|
+
tables:
|
|
117
|
+
- name: orders
|
|
118
|
+
- name: customers
|
|
119
|
+
|
|
120
|
+
- name: snowflake_data
|
|
121
|
+
connection: snowflake_warehouse
|
|
122
|
+
tables:
|
|
123
|
+
- name: products
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Create Multi-Source Model
|
|
127
|
+
|
|
128
|
+
```sql
|
|
129
|
+
-- models/combined_sales.sql
|
|
130
|
+
{{ config(
|
|
131
|
+
materialized='table',
|
|
132
|
+
target='snowflake_warehouse', -- Optional: override materialization target
|
|
133
|
+
compute='spark-local' -- Optional: force compute engine
|
|
134
|
+
) }}
|
|
135
|
+
|
|
136
|
+
SELECT
|
|
137
|
+
o.order_id,
|
|
138
|
+
o.order_date,
|
|
139
|
+
c.customer_name,
|
|
140
|
+
p.product_name,
|
|
141
|
+
o.quantity * p.price as total_amount
|
|
142
|
+
FROM {{ source('postgres_data', 'orders') }} o
|
|
143
|
+
JOIN {{ source('postgres_data', 'customers') }} c
|
|
144
|
+
ON o.customer_id = c.customer_id
|
|
145
|
+
JOIN {{ source('snowflake_data', 'products') }} p
|
|
146
|
+
ON o.product_id = p.product_id
|
|
147
|
+
WHERE o.order_date >= '2024-01-01'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Run DVT
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Standard dbt commands work
|
|
154
|
+
dvt run --select combined_sales
|
|
155
|
+
|
|
156
|
+
# DVT automatically:
|
|
157
|
+
# 1. Analyzes query (sees postgres + snowflake sources)
|
|
158
|
+
# 2. Determines federated execution needed
|
|
159
|
+
# 3. Selects compute engine (Spark Local or Cluster based on workload)
|
|
160
|
+
# 4. Loads data from postgres and snowflake via adapters
|
|
161
|
+
# 5. Executes join in compute engine
|
|
162
|
+
# 6. Materializes result to target (snowflake)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Architecture
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
┌─────────────┐ ┌──────────┐ ┌─────────────┐ ┌──────────┐ ┌──────────────┐
|
|
169
|
+
│ Source DBs │────▶│ Adapters │────▶│ JDBC │────▶│ Compute │────▶│ Adapters │
|
|
170
|
+
│(Postgres, │ │ (Read) │ │ │ │ (Spark) │ │ (Write) │
|
|
171
|
+
│ MySQL, etc.)│ │ │ │ │ │ │ │ │
|
|
172
|
+
└─────────────┘ └──────────┘ └─────────────┘ └──────────┘ └──────────────┘
|
|
173
|
+
│
|
|
174
|
+
▼
|
|
175
|
+
┌──────────────┐
|
|
176
|
+
│ Target DB │
|
|
177
|
+
│ (Snowflake, │
|
|
178
|
+
│ BigQuery) │
|
|
179
|
+
└──────────────┘
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Execution Strategies
|
|
183
|
+
|
|
184
|
+
### Pushdown (Homogeneous Sources)
|
|
185
|
+
|
|
186
|
+
When all sources come from the same connection, DVT executes the query directly on the source database:
|
|
187
|
+
|
|
188
|
+
```sql
|
|
189
|
+
-- All sources from same connection → Execute on source database
|
|
190
|
+
SELECT * FROM {{ source('postgres', 'orders') }}
|
|
191
|
+
JOIN {{ source('postgres', 'customers') }} USING (customer_id)
|
|
192
|
+
-- Executed directly in PostgreSQL (no data movement)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Federated (Heterogeneous Sources)
|
|
196
|
+
|
|
197
|
+
When sources come from different connections, DVT uses the compute layer:
|
|
198
|
+
|
|
199
|
+
```sql
|
|
200
|
+
-- Sources from different connections → Use compute layer
|
|
201
|
+
SELECT * FROM {{ source('postgres', 'orders') }}
|
|
202
|
+
JOIN {{ source('mysql', 'products') }} USING (product_id)
|
|
203
|
+
-- Data loaded into Spark, join executed there
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## CLI Commands
|
|
207
|
+
|
|
208
|
+
### Standard dbt Commands
|
|
209
|
+
|
|
210
|
+
All dbt commands work unchanged:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
dvt run
|
|
214
|
+
dvt test
|
|
215
|
+
dvt build
|
|
216
|
+
dvt docs generate
|
|
217
|
+
dvt docs serve
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### DVT-Specific Commands
|
|
221
|
+
|
|
222
|
+
Manage external Spark clusters:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Register external Spark cluster
|
|
226
|
+
dvt compute register prod_cluster --master spark://master:7077
|
|
227
|
+
|
|
228
|
+
# List registered clusters
|
|
229
|
+
dvt compute list
|
|
230
|
+
|
|
231
|
+
# Remove cluster
|
|
232
|
+
dvt compute remove prod_cluster
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Configuration Options
|
|
236
|
+
|
|
237
|
+
### Model Configuration
|
|
238
|
+
|
|
239
|
+
```sql
|
|
240
|
+
{{ config(
|
|
241
|
+
materialized='table',
|
|
242
|
+
target='snowflake_analytics', -- Where to write results
|
|
243
|
+
compute='spark-local' -- Force Spark Local for processing
|
|
244
|
+
) }}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Smart Compute Selection
|
|
248
|
+
|
|
249
|
+
DVT automatically selects the optimal compute engine:
|
|
250
|
+
|
|
251
|
+
- **Spark Local**: Small/medium workloads (< 10GB), fast in-process execution
|
|
252
|
+
- **Spark Cluster**: Large workloads (> 10GB), distributed processing
|
|
253
|
+
|
|
254
|
+
Override with `compute='spark-local'` or `compute='spark-cluster'` in config.
|
|
255
|
+
|
|
256
|
+
## Key Principles
|
|
257
|
+
|
|
258
|
+
1. **Adapters for I/O only** - Read from sources, write to targets
|
|
259
|
+
2. **Compute engines for processing only** - Never materialize
|
|
260
|
+
3. **JDBC as universal data format** - Efficient transfer
|
|
261
|
+
4. **Backward compatibility** - All dbt projects work unchanged
|
|
262
|
+
5. **User configuration always wins** - Override any automatic decision
|
|
263
|
+
|
|
264
|
+
## Requirements
|
|
265
|
+
|
|
266
|
+
- Python 3.10+
|
|
267
|
+
- dbt-compatible adapters for your data sources
|
|
268
|
+
- PySpark (installed automatically)
|
|
269
|
+
|
|
270
|
+
## License
|
|
271
|
+
|
|
272
|
+
Apache License 2.0 (same as dbt-core)
|
|
273
|
+
|
|
274
|
+
## Acknowledgments
|
|
275
|
+
|
|
276
|
+
Built on [dbt-core](https://github.com/dbt-labs/dbt-core) architecture. DVT extends dbt's capabilities while preserving its excellent design patterns and developer experience.
|
|
277
|
+
|
|
278
|
+
## Links
|
|
279
|
+
|
|
280
|
+
- [Documentation](https://github.com/dvt-core/dvt-core#readme)
|
|
281
|
+
- [Issues](https://github.com/dvt-core/dvt-core/issues)
|
|
282
|
+
- [Repository](https://github.com/dvt-core/dvt-core)
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
**Transform data across any source, materialize to any target, with intelligent query optimization.**
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
dbt/hooks.py,sha256=b0h4XB-nt3POKZ5kuxg4qgSCBzUZIC8YrkChL9iPQiM,511
|
|
2
|
+
dbt/version.py,sha256=wByBYEa72cF6x4Ig12_Ub0VGTtK8L7zqIax2FYXfIPU,8533
|
|
3
|
+
dbt/_pydantic_shim.py,sha256=hjw-7Y5Z7wACmhau9HwVWOkOdsLwtNKGw1IV5Wshpxw,1183
|
|
4
|
+
dbt/flags.py,sha256=GtQdjPPHuGz3aWg91or6BTiS2JydSmNnixiE3f2vRZo,3136
|
|
5
|
+
dbt/constants.py,sha256=ThJKP6QEtqCQMR7poNRTCR-7t__r7B24CxRUAGDzrgE,1034
|
|
6
|
+
dbt/selected_resources.py,sha256=ax8Qrpr4QI7y1DnJ2rhnSeevFZZ-GSSYeYZywtzUVxk,201
|
|
7
|
+
dbt/query_analyzer.py,sha256=LuZR3A8EO6hXkiyjlcAkgVKy5w_l6ys4m0myAowhgsE,15782
|
|
8
|
+
dbt/__init__.py,sha256=xsNUR1xrLJWx-H14vxcqbWwqxNoG9M1OTur6B0M7two,341
|
|
9
|
+
dbt/links.py,sha256=2XEBnp3xmwFGXekghYc8UYkwuYvWy5-08-IidWn2ixE,310
|
|
10
|
+
dbt/env_vars.py,sha256=c1z0D5UcEaawYgfWpceDNmbuvB65XroTmuUtfj4xKws,2903
|
|
11
|
+
dbt/deprecations.py,sha256=lF0UD_eSf55e4DT8qeaYBIKU60RflRHXJay3CZkZusw,10956
|
|
12
|
+
dbt/query_analyzer.cpython-310-darwin.so,sha256=Q4VQczLOPqTSqUXno2Rr8nPkZiOTkbNRqGWtQm7Mocg,115280
|
|
13
|
+
dbt/compilation.py,sha256=pY-eQOK9K-G78PwR9D1DhSomARYvaTr5g79bgL7t0M4,36543
|
|
14
|
+
dbt/py.typed,sha256=jv5Zi3m-MvcyYNALpgzImJuqEUjJY44xp5uMsU7V2Rg,43
|
|
15
|
+
dbt/exceptions.py,sha256=cfkH8dKseVCq4CQ2mRamBnCcD9F60qhYJ9BdB3kkNIQ,49642
|
|
16
|
+
dbt/node_types.py,sha256=eEiJyXSdpz0SNzlO38G8zNdHUSUthlYoPXpO2bcM8x0,726
|
|
17
|
+
dbt/mp_context.py,sha256=I1pYjBRzdFZSo8a37C_bDyVEmD9X82GundZlQGIB5H0,188
|
|
18
|
+
dbt/profiler.py,sha256=-j4LMp380hoKMn9w_s4JUfQBDXt-lF2oXKuA7rMmBls,504
|
|
19
|
+
dbt/tracking.py,sha256=WO68f_hTra4WI8XsWMy6bbdDDRjACnuJIypljRH1uII,15925
|
|
20
|
+
dbt/internal_deprecations.py,sha256=8zyc5G28123-1RdNM7eDN2MpqsXJ7ukYZNyDspIwjIQ,712
|
|
21
|
+
dbt/clients/git.py,sha256=U9gdvhBuzArph2G5wyAOcuaFO-RHQp4A4AJGYs9gGO4,5263
|
|
22
|
+
dbt/clients/registry.py,sha256=VmDjovOyYkzRNo3W8n9jPmevLUMS5UkH9918zMPEqoM,7970
|
|
23
|
+
dbt/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
+
dbt/clients/jinja.py,sha256=iIqpys1f-pe7b4fTybBDcZNUtqvhCkq6G7wnmUpAop8,6523
|
|
25
|
+
dbt/clients/jinja_static.py,sha256=qkScBqEhcpSIg8i6_0ke3J-7fH780_-SfzWBWxIcLfg,9102
|
|
26
|
+
dbt/clients/yaml_helper.py,sha256=vgvhBlsvZAqA9cy2CazdGVBOAiXERk_YDy6qVa0XwA0,1826
|
|
27
|
+
dbt/clients/checked_load.py,sha256=O1yziv6AaH6YO2yTULr85-wzc9nH_N9yV15uSNq72Yg,3183
|
|
28
|
+
dbt/event_time/sample_window.py,sha256=2DcRY82_SRh8nECqYmjpHDoFcwb-wsftZAwljs62jgw,2262
|
|
29
|
+
dbt/event_time/event_time.py,sha256=x1za8L95FlFqvgouwp-3ykNUWb1ARy0FKpPL1vcCahc,1904
|
|
30
|
+
dbt/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
dbt/artifacts/resources/__init__.py,sha256=4X3rQluAVORgmo2c7g2NKRbU6xOAh-EKmf5x-sOcbLA,3116
|
|
32
|
+
dbt/artifacts/resources/types.py,sha256=aGowyB7UpWESCd3_Xk75f8YWE65mjTB-h2fj8MzPlBQ,1924
|
|
33
|
+
dbt/artifacts/resources/base.py,sha256=ZWjF3SppBHxPJYTNZBML2WxN-L911IoDIaJMQBFpTtk,1779
|
|
34
|
+
dbt/artifacts/resources/v1/catalog.py,sha256=t7z6Fca2Yy2ZFOP9bkMNc4S5vDI2Xfw1W3JNn7fwkMA,737
|
|
35
|
+
dbt/artifacts/resources/v1/documentation.py,sha256=boc7WzLROzJZrZxSRtyYYAeGr7QbLZ8JO3B5BKTr7MY,290
|
|
36
|
+
dbt/artifacts/resources/v1/config.py,sha256=TuH4RdT_V6PmyH-TOO_UDaOqxNYdHWgWJj24oxVPOss,10381
|
|
37
|
+
dbt/artifacts/resources/v1/source_definition.py,sha256=TJB2pe99_oC4J8oqJkYZyI2zMm-cWwo2gPnJRfE1rls,3028
|
|
38
|
+
dbt/artifacts/resources/v1/analysis.py,sha256=YhH_OFAeXSFURDJrvQlPQXj6lkTo4IEfvt7SaCB2hhE,273
|
|
39
|
+
dbt/artifacts/resources/v1/semantic_layer_components.py,sha256=fHF1Qb6ScZvHpjSQWcipnyQXa-NftOm7Sj6H6uqNvQk,1989
|
|
40
|
+
dbt/artifacts/resources/v1/unit_test_definition.py,sha256=l10KaUikIQ7VsVO_j5VGbFnqLFZT_GhRBOI8ZMPZNI4,2392
|
|
41
|
+
dbt/artifacts/resources/v1/semantic_model.py,sha256=0CPLA9AJAKT1UpcH8KH3h_20pL8Ag5B87qaILg3W4Ng,11132
|
|
42
|
+
dbt/artifacts/resources/v1/exposure.py,sha256=-0F29xJBvygCo1E8eWPqefWMXYzlUF6WUjkXRCxihuo,1661
|
|
43
|
+
dbt/artifacts/resources/v1/hook.py,sha256=HaPtmmKT-0Le53d9uOrP9gL4lSaGAJULxAb0Ed3PkOE,316
|
|
44
|
+
dbt/artifacts/resources/v1/saved_query.py,sha256=xRh5Edz5xfN8xdD2BjV3f9bSfd_wA6ySYbm6IOVk7Oo,3436
|
|
45
|
+
dbt/artifacts/resources/v1/owner.py,sha256=5moDoBzTmU7-Mr8e_Om0UojGRSxYeckjTNRICcbdgdk,287
|
|
46
|
+
dbt/artifacts/resources/v1/generic_test.py,sha256=r0bsCnZrPOQPQFhvDsTWyvh6EB55jFn9eEsUZfZAHtQ,1210
|
|
47
|
+
dbt/artifacts/resources/v1/model.py,sha256=Jf2QgNMoUzc_9f7TNandkgk-4GI6v7opvUgA_M0VtGY,5046
|
|
48
|
+
dbt/artifacts/resources/v1/metric.py,sha256=PHGr1tbwSsPkG30DrF7_adkbjdaWlJS-nYqQKULsOsg,5894
|
|
49
|
+
dbt/artifacts/resources/v1/sql_operation.py,sha256=jxtJ57btySTVKK6csO3fjbEJlfBT9Tyv6KDYuE4DO6Q,281
|
|
50
|
+
dbt/artifacts/resources/v1/seed.py,sha256=-3Ii5RVRBJYZM-qTtnoSPFa0MTFvAybGIhmKh5BFDME,1458
|
|
51
|
+
dbt/artifacts/resources/v1/singular_test.py,sha256=lMnOGw7Y2uPCzTVjQevbWXqAg5mz736MqddaEnl5i00,524
|
|
52
|
+
dbt/artifacts/resources/v1/group.py,sha256=m6B9YURzLh9Mr__tBLbR34mKJJegBszRnC-yLcjagoA,667
|
|
53
|
+
dbt/artifacts/resources/v1/components.py,sha256=JglKDOUKGTSnNu0U1s4lcNNV2Kk4aIuPOO4IMfmKU1Y,9159
|
|
54
|
+
dbt/artifacts/resources/v1/macro.py,sha256=EPTE6neIjp7NNEqnPASwD9CpVhIoiIjHXvCYYW163jE,1003
|
|
55
|
+
dbt/artifacts/resources/v1/function.py,sha256=eJWgX0MgU_xmnSjG8_ktz4VL2mgrEypXe8Xvhqq7D68,1435
|
|
56
|
+
dbt/artifacts/resources/v1/snapshot.py,sha256=QpK6SBsQgoePF7lRxGTRrcHW0TGpsk9gfTko3Sb3CGA,3858
|
|
57
|
+
dbt/artifacts/utils/validation.py,sha256=jpaK5KM1_huYnqGEE1R0qTFk7-1wGvmv9BMpaojBfzk,2677
|
|
58
|
+
dbt/artifacts/exceptions/__init__.py,sha256=5sFiYCA8Vb0oU9fs-mj_suey-ygG_LunjCW-oqUndF0,69
|
|
59
|
+
dbt/artifacts/exceptions/schemas.py,sha256=noiBunDvppQxMsTBn9nR4un9v4EoXINBaR4w8QeABDE,895
|
|
60
|
+
dbt/artifacts/schemas/results.py,sha256=pYKjkakPyj7t88OGHlORBq9b1jFxhKLB7vecUMYglb8,3949
|
|
61
|
+
dbt/artifacts/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
+
dbt/artifacts/schemas/batch_results.py,sha256=gFI_CxqOAH1awki4jAAt2dRjlkul1lDQyaiUKQvNwZ8,685
|
|
63
|
+
dbt/artifacts/schemas/base.py,sha256=oJs12qimklvNZ0KPxvB-FJVFUtUzTX1xvS0smIWmkXY,6963
|
|
64
|
+
dbt/artifacts/schemas/catalog/__init__.py,sha256=vhUGXA-uA7ZB7Zo3FtdCEwJ35mlqLTRqhn2E3jJcZZI,245
|
|
65
|
+
dbt/artifacts/schemas/catalog/v1/catalog.py,sha256=rdxxZgoI5TeQNMrPeEjz-9LlPmiqL2ujy1XmU0T5DA4,1669
|
|
66
|
+
dbt/artifacts/schemas/catalog/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
+
dbt/artifacts/schemas/manifest/__init__.py,sha256=vE1aLS6gqmInuSLrbrquIZ-nKmt7WuOwxvInsRf7uPA,84
|
|
68
|
+
dbt/artifacts/schemas/manifest/v12/manifest.py,sha256=UyK9_8XO64bB2tzs05K2DRVJJmYY35uP6QmY5UCjZCg,7117
|
|
69
|
+
dbt/artifacts/schemas/manifest/v12/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
+
dbt/artifacts/schemas/upgrades/__init__.py,sha256=slsMj6Wn0IX_RwSAiXG5JfwXQjQkhLSqPY7uelfF4mY,197
|
|
71
|
+
dbt/artifacts/schemas/upgrades/upgrade_manifest.py,sha256=4n86d1QSayLChKP8vzrpCp0Vl22A4UDGjRX7dH6ueEs,6898
|
|
72
|
+
dbt/artifacts/schemas/upgrades/upgrade_manifest_dbt_version.py,sha256=7z0X_NzIuzNklw8nkt-fS1axF5VwrrUAsT84MgFAk8w,83
|
|
73
|
+
dbt/artifacts/schemas/freshness/__init__.py,sha256=kCdfQ61AyJsZvrs7j7JFIgyrBxFe7zgBhMl4dTd3IBQ,67
|
|
74
|
+
dbt/artifacts/schemas/freshness/v3/freshness.py,sha256=mSLtT9WPT1qu2_8j8Xhe0l2EmnPNIlSAhMkMGXLtQAs,4376
|
|
75
|
+
dbt/artifacts/schemas/freshness/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
+
dbt/artifacts/schemas/run/__init__.py,sha256=R8yXQ48quok_Kr2NKUhApfVPFm5XWrnFvGIUMeQzbOk,73
|
|
77
|
+
dbt/artifacts/schemas/run/v5/run.py,sha256=Msc-uNFX7vs6FGa_bW4Cx3J96OX40dZBynEdu8Gz-ic,5832
|
|
78
|
+
dbt/artifacts/schemas/run/v5/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
|
+
dbt/materializations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
+
dbt/materializations/incremental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
|
+
dbt/materializations/incremental/microbatch.py,sha256=saGm6-Gwkt9lMWjRKUFZLvM71RSkEtsh-WOLIBHgzrY,10806
|
|
82
|
+
dbt/context/context_config.py,sha256=_7Q_MEiWC-69ZZTA8i7tIHw1gUrNbj4IbZvMBUuBxLg,14971
|
|
83
|
+
dbt/context/exceptions_jinja.py,sha256=nCWjfWaActeEPz30ASl_LAshdMqJQQkEiHITFXe8HBE,4791
|
|
84
|
+
dbt/context/manifest.py,sha256=ruZiZ3AAoiLAfjR7Ko4vYFV4FI5S5fKgWB0cL7aOi38,2691
|
|
85
|
+
dbt/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
+
dbt/context/docs.py,sha256=LxrxeUyb5uFJE5fScP3g4yVC9TbBkj8K6q2PDPhWtkg,2524
|
|
87
|
+
dbt/context/providers.py,sha256=nZUXSn5PUwgX1Kh_0C-dSYifpdW_54fXl-NdS8cxEYI,82644
|
|
88
|
+
dbt/context/secret.py,sha256=y6AI68cHTlABwwQVhVU-Rkz3BwOkN0EICEvzNC1FTSI,2635
|
|
89
|
+
dbt/context/macros.py,sha256=UvljfXKJMZDH8N0R5sBAVg4Bi7TdXqZ06j7Kt1i-JYw,7425
|
|
90
|
+
dbt/context/query_header.py,sha256=SJVzQCn1b8Q3Ncmzlu-G7Xt3MtDQe4w3so9GMK2Bf3I,519
|
|
91
|
+
dbt/context/configured.py,sha256=IB2bvvup1P7eogGj2qFD5sgKrPAZEyu1kfkvzVbqqGE,4497
|
|
92
|
+
dbt/context/target.py,sha256=jk7mGL4LB4l1_YAKfpaQvIJIKL0PEwmt42wmVK120KE,4165
|
|
93
|
+
dbt/context/macro_resolver.py,sha256=s5DvIsgLL8b6DOVfN-DXV-VY8iNrD6EKAaq4XjEBFZ0,8682
|
|
94
|
+
dbt/context/base.py,sha256=BwSkhqw5kSohptMEmHUpPFjQv2cb4YD7vQ1aTqn5SFQ,24760
|
|
95
|
+
dbt/config/dvt_profile.py,sha256=kFYYtsl93s3XfiFEH13vXBY7Xq79cixSn8-HffEEh8I,13093
|
|
96
|
+
dbt/config/dvt_profile.cpython-310-darwin.so,sha256=58TGpZkSzpgcjya5IUyG-su76FPmlRG4Iy1ElS-M5pU,124200
|
|
97
|
+
dbt/config/renderer.py,sha256=V4eV53K5a0adAes7SeBDNa2Cx7Jgl-prJ7UEvFAcja0,8134
|
|
98
|
+
dbt/config/catalogs.py,sha256=YRvQymO2w7jkpfQSaGssgzI0ycvQlZA2AdGbdnSyw_Q,3916
|
|
99
|
+
dbt/config/profile.py,sha256=NBmF9thlwPO0QZeygk_ny4KDYkBJ6LltTFJA8exyW0g,16044
|
|
100
|
+
dbt/config/project_utils.py,sha256=-LMQEI6g1hJx3S2s5mSqPhv1cbnkPmTKShLZcGDEFwU,763
|
|
101
|
+
dbt/config/__init__.py,sha256=OdOurJMVaCvlxZSXeSsMeSu8rPeQxkC4HYf8qBDe6q4,224
|
|
102
|
+
dbt/config/selectors.py,sha256=udhpIsK4qqd48FornBfqq3lrvQnbAMto2YusCMcxjdE,8062
|
|
103
|
+
dbt/config/runtime.py,sha256=Tx0uiSVuYhZmiQ3Ek-5ocRx3kzBFj3RjlHNVRXsdj34,20923
|
|
104
|
+
dbt/config/compute.cpython-310-darwin.so,sha256=-nZ1k5VhFPpWnqBe1vcpZakRcdUOdGVrWBwHZnlutoc,180200
|
|
105
|
+
dbt/config/utils.py,sha256=bNbMm3y2LrQuO8Oe85BAQ-zEtTLKR5dwbvPtp_QTAbw,2755
|
|
106
|
+
dbt/config/project.py,sha256=Mo5zCrPDtOHsnhvfPP-8Wa4-4trEe62STZ5sUGX0c40,33012
|
|
107
|
+
dbt/config/compute.py,sha256=0eNsOpKc6-aLBnpY7i-gQ3P8F8yK14BTExgLy9Z-LIc,20882
|
|
108
|
+
dbt/plugins/manifest.py,sha256=kpnxQJ1qkjYZy0zLlmr8-gueRmwaOP8wRu9cgNFoMZM,723
|
|
109
|
+
dbt/plugins/__init__.py,sha256=lJPCl_8gxApqUDCip0Jqjarqpdz9PtWrnlRBy7M1320,561
|
|
110
|
+
dbt/plugins/contracts.py,sha256=ofZSR6GEUchkFWVALXkrB4enAoFu3CCw8P2q7dCg5Ys,428
|
|
111
|
+
dbt/plugins/exceptions.py,sha256=aZhBNeEtP79slI8qDahRUcaP1YqxHrVwYxLZfxR5Ol4,112
|
|
112
|
+
dbt/plugins/manager.py,sha256=TjjEGYvVPFs80Ri4uU7sOqdgQ1cczIwATjAY7bCkWsg,5959
|
|
113
|
+
dbt/contracts/files.py,sha256=jID6ol255dgm7MCI5b2yr2TwAESa3cn_0rNBTuQYmTc,15492
|
|
114
|
+
dbt/contracts/results.py,sha256=nCgopMI6p71TxRi6qFUXAupJ-vfvc-peTKYcUqMY9VM,1204
|
|
115
|
+
dbt/contracts/util.py,sha256=c0WHoq8pTjuUTMGrAGo0fHkdnp7k6HNG7Ax9-QZ5z4o,1128
|
|
116
|
+
dbt/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
+
dbt/contracts/selection.py,sha256=CUxsd1JP2owTjWjn9OTvRa-iAPm9SFZk8CWP40NFKJs,522
|
|
118
|
+
dbt/contracts/sql.py,sha256=thtFEQcMAlFA-_QfrQiojGbqhyNMJ27qhQTDe6TRYP8,2531
|
|
119
|
+
dbt/contracts/project.py,sha256=avOPCAns3pAqZTpdFLOMIWzzQSzEkc6Xd446HDStwA4,15216
|
|
120
|
+
dbt/contracts/state.py,sha256=lKQE2hpuBRa8jMkgicDmHbSfMPtidWE8ZIc2o-8oyc8,3068
|
|
121
|
+
dbt/contracts/graph/metrics.py,sha256=noLXAEuKjM2zEoAQSITHJPYZMF_gAvMLRIAXi1EYR8c,3868
|
|
122
|
+
dbt/contracts/graph/unparsed.py,sha256=rgkMRbdZS0iGTn4GhY7dmcsm89OROSPCP8u1CEf5R50,27040
|
|
123
|
+
dbt/contracts/graph/node_args.py,sha256=CXDuLMEIdlJyYz9lI7FMeYpFkIS6qmSH6Lnz9Qi1CFI,1273
|
|
124
|
+
dbt/contracts/graph/model_config.py,sha256=CEItlXlFadylJmcLY_5swL5bYx9vbig2TraJAdlcMVI,1966
|
|
125
|
+
dbt/contracts/graph/manifest.py,sha256=EJgz7GvH_vPC9CAlZmnMXGS2A4FkcnbXDSGUYnvfs3g,73986
|
|
126
|
+
dbt/contracts/graph/semantic_manifest.py,sha256=KTUVswPNn5_-picBAMnmxvfkAeRlx0uwHDIa0HwY9Ho,10855
|
|
127
|
+
dbt/contracts/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
+
dbt/contracts/graph/nodes.py,sha256=hFP_9wZdZWfauXysTGkXEdo5hZRLpXbwuJR4vZDOIXk,61696
|
|
129
|
+
dbt/include/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
|
|
130
|
+
dbt/include/README.md,sha256=C-sEdxQaBIq8kS7sw-CnmDBwCIKO9c8xefGzVGL6nxo,3120
|
|
131
|
+
dbt/include/starter_project/__init__.py,sha256=vBGWeG-dHHkimfnX8axBJ4IgAowFw8xADmo6Auzn2xc,52
|
|
132
|
+
dbt/include/starter_project/README.md,sha256=55nDkX5uQXWmawpQbgG1hbyn64j_CegDBQddQ2C85C8,571
|
|
133
|
+
dbt/include/starter_project/.gitignore,sha256=1jJAyXSzJ3YUm0nx3i7wUSE4RjQMX3ad6F8O88UbtzI,29
|
|
134
|
+
dbt/include/starter_project/dbt_project.yml,sha256=bzJVrQtTJVKsDjN568ohNaEnZ1VoL7iB7aqnGDN9wFM,1262
|
|
135
|
+
dbt/include/starter_project/snapshots/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
136
|
+
dbt/include/starter_project/tests/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
+
dbt/include/starter_project/models/example/schema.yml,sha256=q-QZZlZI0qGJzmy9CnY-EWry2ZY4NKLI6TZ4uAsCuV8,447
|
|
138
|
+
dbt/include/starter_project/models/example/my_first_dbt_model.sql,sha256=hCJR9e0dl5INN0jZaGuMBaOgBx7HmQ-UjzZ5ZJF4iu0,475
|
|
139
|
+
dbt/include/starter_project/models/example/my_second_dbt_model.sql,sha256=s6o0byg_PJyadZNvO4DSVyypqzmu5MArMFU9P-K6VpI,115
|
|
140
|
+
dbt/include/starter_project/macros/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
141
|
+
dbt/include/starter_project/seeds/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
|
+
dbt/include/starter_project/analyses/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
|
+
dbt/graph/queue.py,sha256=02TytuMSvcxO3VPyjBTVBuRoueWAepTJyzhBYHIrDUk,7601
|
|
144
|
+
dbt/graph/thread_pool.py,sha256=OL0-v3sTiD6-BcyqL-GXDuYydMI9eb1hpUi7y5XaaSs,420
|
|
145
|
+
dbt/graph/graph.py,sha256=cxTI8WQziuY08nL4dwe-3orKsLK4C8E_TEZKTYnRkTs,6749
|
|
146
|
+
dbt/graph/selector.py,sha256=VyzkyFTbb5mAjdVIVFK-wnLOf6ECqxe5jKI2WCrJ7Fo,15780
|
|
147
|
+
dbt/graph/__init__.py,sha256=cyK8jC-TCcs2O84HStOdS6SS-__09cnmeIVbumZJm_g,404
|
|
148
|
+
dbt/graph/cli.py,sha256=Mup0ucoUHDCW5aQFV-AKAzUNCy6bGFbjqNUAA8BrTbE,9027
|
|
149
|
+
dbt/graph/selector_methods.py,sha256=59aP0rjdzgf6TFmP55u7cKCIOyAf59etKZ0Rx_yibm0,38545
|
|
150
|
+
dbt/graph/selector_spec.py,sha256=OkK7cPl_pkiTaghJlhfhnOwZOKwcgz7mGJF2S2Rln6A,7052
|
|
151
|
+
dbt/tests/util.py,sha256=jnYwi8xfr1qHE1pxTec_tXulUEVVqYLzjSAlcetMFNg,21022
|
|
152
|
+
dbt/tests/fixtures/__init__.py,sha256=NHa3hnjcznIhj-6IjHii35RcHnG5NRsbPh5MGnd_hQA,31
|
|
153
|
+
dbt/tests/fixtures/project.py,sha256=CPQvSwxkKXO9OBAtSxFV4E97eyp2GbliUHFcwF392V4,20837
|
|
154
|
+
dbt/utils/artifact_upload.py,sha256=9Ocko1Bgzoz0SXCplLMEgDcB0TSMPiImAsUHVeL4SoY,5523
|
|
155
|
+
dbt/utils/__init__.py,sha256=J-Zb-1T350Mzdv3GR3_qQ4galjhagP44fqPoeWHj4FQ,140
|
|
156
|
+
dbt/utils/utils.py,sha256=qvdyMt-6sSHFR2xAqcQIG_XvqamVR0Kq7KEG0LwdU7g,12803
|
|
157
|
+
dbt/jsonschemas/jsonschemas.py,sha256=pLTEfUERmo1y8wznqg1qdaod-u8Z5Vnjx9ZAbDu_RJo,11431
|
|
158
|
+
dbt/jsonschemas/__init__.py,sha256=1Hknl-BkcVl_D3_As2V8GDkCrUV69Fp-66Tehjj9F4Q,56
|
|
159
|
+
dbt/jsonschemas/resources/0.0.85.json,sha256=dS5dERUBIvd2TLF8VwZNj6xLjOO3HuJf2EzeLOHSm8E,48785
|
|
160
|
+
dbt/jsonschemas/resources/latest.json,sha256=xGLfWu8iTP08hlQnHz_OiMrhDDRhTHnIBLxwTN4386w,134508
|
|
161
|
+
dbt/jsonschemas/resources/0.0.110.json,sha256=l1SgOzKmX0YE1E-e_PZViwCYLwQFQwGhzqAd7t3-dco,50588
|
|
162
|
+
dbt/jsonschemas/project/0.0.85.json,sha256=ZevfKWEaekLHpQLPp-KeV8VGdBFhorILCURGyM8xQvc,38918
|
|
163
|
+
dbt/jsonschemas/project/0.0.110.json,sha256=Kwof3-KxyOgiUo7O9fvdSM3BoqnlLdkH3gNO-rN1IAk,93337
|
|
164
|
+
dbt/docs/source/conf.py,sha256=MUDFtRYQic1qn16ygvLMarmWJ6g61-DvTlcEx3f5Te4,1060
|
|
165
|
+
dbt/docs/source/_ext/dbt_click.py,sha256=L6Ks5_f4Rfvs39HKkUeJxHJm6azmzgt3zq79ps9oS0w,3545
|
|
166
|
+
dbt/cli/options.py,sha256=KE3j68cH6DBZKjB1SXmr7OM5UmSeI__Vlye_YO6o2UU,3526
|
|
167
|
+
dbt/cli/params.py,sha256=XbiJUCLAzHUyt3aYI3Tb2es2QIN197nr2TXiaV_11gU,26049
|
|
168
|
+
dbt/cli/requires.py,sha256=Kk5ewhdg1ss5fXIXdPYLan8mJzkoRKpe80ZOeLZl6pw,17823
|
|
169
|
+
dbt/cli/resolvers.py,sha256=M4c6F3Q4XzzgcIMY0T7hcznmUfzMjwfmSY_ejXY_bZk,1707
|
|
170
|
+
dbt/cli/flags.py,sha256=uZgOJxIHnrR-Tn4NdrKJ9BMHlA5SASBt4RDY3n6XL_k,24604
|
|
171
|
+
dbt/cli/option_types.py,sha256=BKJ9QtVSTsxt-OLUfgFt3vS57_mHcyByUHBtMNqG6ls,4307
|
|
172
|
+
dbt/cli/__init__.py,sha256=P6Lklk5Uobsf7BLo1LtQfTL2uElyggI2uuFtce7a-pU,41
|
|
173
|
+
dbt/cli/types.py,sha256=rJoHvBZAo3rLEUzznpEgUAamOvNXm_6AhSOXzZz7Rrs,1006
|
|
174
|
+
dbt/cli/context.py,sha256=zdo8Pykx1ggk7_pMED6HucBpzaImUxDreYAvhaOQ4oY,380
|
|
175
|
+
dbt/cli/exceptions.py,sha256=2iyyEZM6SFaFTY-1Y8kUb0tuGm6FAjvQDFGuNVNyOqI,1883
|
|
176
|
+
dbt/cli/main.py,sha256=KZHjbLpJR2m_nzgCkgif6EOxhbwcclPi2ts1qXuT0rM,60457
|
|
177
|
+
dbt/parser/functions.py,sha256=xe-azqyt74ZjzkBqwHDwLuymwQ5WhWf25IFVBw1AUgo,1075
|
|
178
|
+
dbt/parser/snapshots.py,sha256=9EqPZqLo00Wc56879VCs_Da8-m60rncBQHnY_vqFMQY,1353
|
|
179
|
+
dbt/parser/hooks.py,sha256=IbBcEzNDhfyNipIA7vCc5ieEOgU5kfbwgTwyV1iT8TE,3595
|
|
180
|
+
dbt/parser/schema_yaml_readers.py,sha256=SPbxbONO7YoGzZ9FO3mkMKJyKLCw6N92v6kFFTTTji4,35330
|
|
181
|
+
dbt/parser/analysis.py,sha256=1nYA99Vltnqs2A5gI4diz64uQGNTTk5SXysEc4jVONg,630
|
|
182
|
+
dbt/parser/models.py,sha256=uLFuHZ5jzWpFdYqnE6FLbteoNmnvJxd3UlIZZ8WFlmk,24045
|
|
183
|
+
dbt/parser/manifest.py,sha256=cmrz-p4ojcwJ2tJQBCLA-khwUTubIednoAjQr25ubxM,95010
|
|
184
|
+
dbt/parser/read_files.py,sha256=7mJWxxli4czFQL9i8YZnTkrMLTYy3evCU-vIw8ZTiPs,17866
|
|
185
|
+
dbt/parser/schema_renderer.py,sha256=s92kN0ggntSOCqPmH2uOvUrTo59eWTLVvzPPmTZRf3Q,4079
|
|
186
|
+
dbt/parser/__init__.py,sha256=xXgCErnu80x6oDRPGy0wIGtpB3YjhivfN6lPWbfm5yM,652
|
|
187
|
+
dbt/parser/docs.py,sha256=8TYwZQwOuMU9jF7lTJlO0cBD6xmVJ5IjjRMqBzGnIzU,1871
|
|
188
|
+
dbt/parser/generic_test.py,sha256=zby48vovpQY3d8A8uUswpZb8BpwmNnHGhn6AToaaa9k,3497
|
|
189
|
+
dbt/parser/sources.py,sha256=1wk1ivBGa7HFlu0_zYtTOVnWPIC4DFdtzm8-IBgQPcE,23483
|
|
190
|
+
dbt/parser/schema_generic_tests.py,sha256=hLzWdRCQOQQpr-UEkZ1zs7DoObzL6CcJNzP5hd8pVSs,17515
|
|
191
|
+
dbt/parser/schemas.py,sha256=SVcWNV8IENcvjIZKkciGNjGlSjL5lYDcEQvv9AH5A5Y,61382
|
|
192
|
+
dbt/parser/common.py,sha256=EhZp2i3g80XUZuei5oF3FJjZtvtChp9JTnLrUb6RnYA,7551
|
|
193
|
+
dbt/parser/macros.py,sha256=rHVga8f02hIJhZSKCjCaXpNX-n8aEqMNlK4OadCIMqE,5192
|
|
194
|
+
dbt/parser/singular_test.py,sha256=BOuOBl1Ovh-mrEIlBoLCmVzMioHZwBiSbmqX0jMkIXg,690
|
|
195
|
+
dbt/parser/generic_test_builders.py,sha256=Dj4S4poLVOi8VHaLVvxrm9i7HODwjM0BQAviVBG8pQk,12927
|
|
196
|
+
dbt/parser/search.py,sha256=CczRit5D3xQTMx65WTKNA07t1KKC6vOsbqWTXh0LMvQ,4472
|
|
197
|
+
dbt/parser/unit_tests.py,sha256=-gMLLzsDK3btSNMozTgMmOSzmdQDz3vwT8ZFseva7wA,28302
|
|
198
|
+
dbt/parser/seeds.py,sha256=Z7bcOmTesUjoxxZ0kPWt8noW3VUdUOxPQ2VlFJ-UIHM,1018
|
|
199
|
+
dbt/parser/sql.py,sha256=w0J7jCf3aiCAsgxVfVcTk7xTuEpGatQpkDpV1tekR2s,1956
|
|
200
|
+
dbt/parser/partial.py,sha256=4lpOyiQv8LU08lmDnxeYuV5-kkUedYkX-rJOFv8k5JA,59233
|
|
201
|
+
dbt/parser/base.py,sha256=-DuGVeQ_4DDdeaKXeXCHcY6_ehwf3jXfc55dLBklGgc,22638
|
|
202
|
+
dbt/parser/fixtures.py,sha256=IunblwbdKhJ6ln9rfHuOqgaDbL1g0-JikBZMHDrb_WU,1793
|
|
203
|
+
dbt/compute/java_compat.py,sha256=AZ_Abhtt4fm6WoDLrfNbIN__vwYIrx2P9_cyQYzB8Z0,23659
|
|
204
|
+
dbt/compute/jdbc_utils.py,sha256=prN55QXfDYDmPxQEMxTW_xSNa1spvHwx7cUaOy5R5Jw,25438
|
|
205
|
+
dbt/compute/smart_selector.cpython-310-darwin.so,sha256=WaLii95tj9TFfxG7G93RxKbhifINLp7VS22Hkouk_Kk,131296
|
|
206
|
+
dbt/compute/filter_pushdown.cpython-310-darwin.so,sha256=HhX_kQZs80iVdTGKY-RcoSlW1p6p3Qrafb4Rg3Qs_2M,95400
|
|
207
|
+
dbt/compute/__init__.py,sha256=hcELT3A4_zvLCaKjOJj71zvIHEcPhOXOg-b71nGn-Xc,335
|
|
208
|
+
dbt/compute/jar_provisioning.cpython-310-darwin.so,sha256=1D1GXn-tzL1hhY5y1OuTMQOJYKMCE_CuwhBOUx2MgYs,107496
|
|
209
|
+
dbt/compute/filter_pushdown.py,sha256=GSsMgNaHKAe8sJhuyZk5KZ8UpagmqWCbSN91PH-l5MU,9724
|
|
210
|
+
dbt/compute/smart_selector.py,sha256=roUBzNVkl3kISR5uvL0eKEqHloNqZlg9pLaVzA6d76U,10381
|
|
211
|
+
dbt/compute/java_compat.cpython-310-darwin.so,sha256=y6sLdCxEvm_fi0y7cBhQ_GRShUV7LQIRt6qnDgKQcfY,250192
|
|
212
|
+
dbt/compute/federated_executor.py,sha256=M-07e1Uz5KOlfwEVZacrPYgP4KoSfaa-uuzyQYleksU,35206
|
|
213
|
+
dbt/compute/jdbc_utils.cpython-310-darwin.so,sha256=10dUGuLsQX0hEbahxqddgIXqhFLEeGS5AaUrvcYNJzo,210280
|
|
214
|
+
dbt/compute/jar_provisioning.py,sha256=bi_gvS-FdhtPFNRABBSJvEsEDU6VH0_hyTkwq9iOhUI,9200
|
|
215
|
+
dbt/compute/strategies/standalone.py,sha256=oTZOp_YO-tZC0fEU0gEG3cGN5y7NbS7MXQlDPDzMAiM,10680
|
|
216
|
+
dbt/compute/strategies/emr.py,sha256=O4uGoLmbSysGPtk_GiAFulgKeGV9BOYQ8RfGNhV7lXc,7099
|
|
217
|
+
dbt/compute/strategies/local.py,sha256=AGZE7N4HooZ2-GDUPBu8s_yBCr-ta-0HxuKupavyArw,13636
|
|
218
|
+
dbt/compute/strategies/__init__.py,sha256=JP_xqTG-QpPusUQEdUBXqgz8j064j8lAN1fVf-Jz6A8,1356
|
|
219
|
+
dbt/compute/strategies/dataproc.py,sha256=kbTLRXVpQwxVsucXASYLCnHWQyFVn_6W8LlQcRleIos,7345
|
|
220
|
+
dbt/compute/strategies/base.py,sha256=Y0pT7SsC53CqrphNewU0AN2gj9PgxIth6n8JxMI6dfU,5449
|
|
221
|
+
dbt/compute/engines/__init__.py,sha256=YsEP8SkfaM14BFa5CaPGrYs15bS2j3fmsToLAcPfdtk,325
|
|
222
|
+
dbt/compute/engines/spark_engine.py,sha256=m7BnMmkLu3RjutDvBw7fR8maM1AFQK3Kv6-sr14u4DE,23659
|
|
223
|
+
dbt/task/freshness.py,sha256=fQazJDEoTqK-pSBhLUdJvFwqfIBFe-c0eR6d8qTXJno,12921
|
|
224
|
+
dbt/task/build.py,sha256=Sk-GZI2pKdF31ULHaYzYEGEJei8JwMntHu-lsYF5M_E,8492
|
|
225
|
+
dbt/task/java.py,sha256=5oA69ZmL9HwwSuLL1lJMwqfiAbIXMGcSa1cqhPHs294,12486
|
|
226
|
+
dbt/task/show.py,sha256=sy5uso8EOWcwauueH50US5Pwq-HGfhgSo8EZ1UAdOIY,5321
|
|
227
|
+
dbt/task/run.py,sha256=TyukM4-FjyDmk850ntkGPQW_d5laCO5PUpwg76392b4,52166
|
|
228
|
+
dbt/task/deps.py,sha256=FcBWBfPOtfTIdvBVA4GwyUm2kdf0cInsxfZ-4cpzkkw,10556
|
|
229
|
+
dbt/task/clean.py,sha256=WGeLdoOoM5-W_51J-7k_leQnOzLY44YyPhWhKqZsOrY,2172
|
|
230
|
+
dbt/task/target_sync.py,sha256=q0fqR1QPz7eGvH5Ol_oKAtr7XQHmQGmdi2tR3f0040g,29770
|
|
231
|
+
dbt/task/list.py,sha256=m4RaVC05RoivrWIUoD_wfkm6WWyDJt5Gu5aIsN8L9fM,9535
|
|
232
|
+
dbt/task/group_lookup.py,sha256=ArDc2Q0vYS0oOd9zAwwNj-Jbx0-R2xIQ4MZmIXa35iE,1444
|
|
233
|
+
dbt/task/run_operation.py,sha256=bh6yK_CmVESvjgJBorFgc_wkhnbiHoL2yBpCFQhJ51o,4786
|
|
234
|
+
dbt/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
235
|
+
dbt/task/test.py,sha256=EI2R64iO4yF74dLzfyyvfrok6R-zO0_VKidLkwWJWdo,16998
|
|
236
|
+
dbt/task/retry.py,sha256=Q8UiBNTW41-mqRjqcQCQ9FYIguuIg2hSn4SQ_iU8MmE,6217
|
|
237
|
+
dbt/task/seed.py,sha256=Si15qczUENuha4b8f5SFoVaA-cXvTooUwmbLPQlyFJo,3494
|
|
238
|
+
dbt/task/debug.py,sha256=cqSyBP4FFawEmGI4SeoLTavPX5RdCfl0IGAttod3RYI,19129
|
|
239
|
+
dbt/task/compile.py,sha256=VoPJDzjJbcOgmw89zLeWgcFb4xMJM0ORsyt7joPlzr4,5755
|
|
240
|
+
dbt/task/spark.py,sha256=hHr2KAxXMiU9TdyLQsCG-9bJTWgqPRinW4hBzqQi8FA,16847
|
|
241
|
+
dbt/task/sql.py,sha256=z6lyUDA82bpMHwEYFFmaGqDlmDQlJjMZjbnrNWkRnm4,3803
|
|
242
|
+
dbt/task/init.py,sha256=8gXoaXDlDdCzwGJiaJweRqKwu9REvXyZab0yEeRcVYY,25601
|
|
243
|
+
dbt/task/runnable.py,sha256=BZjEGKsaIZTo0XUmzRy37ht-eCaJn7gjThjLGXSf7Hc,29704
|
|
244
|
+
dbt/task/printer.py,sha256=8MQp4X32RETS47vB1f66V88GBLIMRoz3ccD2_y5vLyc,5976
|
|
245
|
+
dbt/task/base.py,sha256=02ECzXdTlIuXcmvcW5GLNpWB_qJKNHrElL8WFQG2fV4,17923
|
|
246
|
+
dbt/task/function.py,sha256=2LhqdfIrC7wrW5C0NTPWpbc8MY_1jJeou8Khea9jOZ8,5414
|
|
247
|
+
dbt/task/snapshot.py,sha256=XNe7Qg4tBfKliFnIQMQr6JtCSoUREt6uqsweJk4hGN0,2039
|
|
248
|
+
dbt/task/compute.py,sha256=vUNPImv86jWaj7tEnL2bQlr3UCgMPooWG0kKDeVlh8U,16919
|
|
249
|
+
dbt/task/clone.py,sha256=idH83g7iGJz6Sjj-NYF_BBzAVHGAKcgq42vOznGvQeo,6406
|
|
250
|
+
dbt/task/docs/index.html,sha256=mIIjEWVRcQRMrhACjTbhNLdRE2QBTPhARL171icIcRM,1709115
|
|
251
|
+
dbt/task/docs/generate.py,sha256=l9-RaIvJGceew29etJ4h8hoa-KPN8dUGOR4LppddqVw,27176
|
|
252
|
+
dbt/task/docs/__init__.py,sha256=fJAAr0OsOdzuS3ihetC9WQhL2h67Ah0H9BeFg2RqYlE,106
|
|
253
|
+
dbt/task/docs/serve.py,sha256=nY5wcvLbAzFYnIkSa7Pp1cR02yVW0hrBbDoS1r6xAPI,877
|
|
254
|
+
dbt/deps/git.py,sha256=TMj0XRbWmU8BOwC7Ubh0AFWJzxyyh6TljpnlW4Gqv3A,6446
|
|
255
|
+
dbt/deps/registry.py,sha256=swDkQPvkt6NhYW_VDfRiKe5MYXUEPhWl1qvHbJ6XC1Y,4540
|
|
256
|
+
dbt/deps/local.py,sha256=FzxfNtcbLriadOPdOZX6JNetvzklO6S-VgP4EMS2W-0,2507
|
|
257
|
+
dbt/deps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
|
+
dbt/deps/resolver.py,sha256=fhzl0xh6sg7IMwxh_OlKCf5COaj5-77L6216mMCJBdE,5067
|
|
259
|
+
dbt/deps/tarball.py,sha256=hpiexF_Xg7qylb4WisGSKVTC8HDVPJGODoXbYsA1P1A,4544
|
|
260
|
+
dbt/deps/base.py,sha256=zD58Gu2hgx1Vhgm-XFrSOVsYP8xwGJRjVINxp9iBAHo,4778
|
|
261
|
+
dbt/runners/exposure_runner.py,sha256=bhdFdhhb8zQroC2IonNZRCXc3qHKearuUO3vd0bnGa0,176
|
|
262
|
+
dbt/runners/__init__.py,sha256=T_njT-Z0o-yQFfD8l1ykgafLNKBRaI8agKDSM3xyXR4,93
|
|
263
|
+
dbt/runners/no_op_runner.py,sha256=QWUDhr1e6OayuOQLXdQEOP33kjwHpNAxA4Tup3sP-ew,1284
|
|
264
|
+
dbt/runners/saved_query_runner.py,sha256=S3ERUvQMG4f_FyueWz3AuvRKDbIMsQfrbdQJiARxtLk,181
|
|
265
|
+
dbt/events/logging.py,sha256=U5-H7Tpp42iKLZxCBA8dASZeR25TSmEjKC4OLydB7Z4,3761
|
|
266
|
+
dbt/events/__init__.py,sha256=uLA9ewNLA-mG16w-6ZZ9uqDsKUGa8RAWagw7npNsupg,454
|
|
267
|
+
dbt/events/types.py,sha256=H33A2vzcI5vxSgMfeZD8vKTgMPFaddTG_nzZkHXODAE,74304
|
|
268
|
+
dbt/events/base_types.py,sha256=GDOd8Wbr3MiSnK_MyW16XjlDrhdbmbptXnRLvtXIxog,961
|
|
269
|
+
dbt/events/core_types_pb2.py,sha256=Uyi6hVP6Vn9afppo33hC3n-kC4Ljl-l6sEZS6tC3-Qw,123
|
|
270
|
+
dvt_core-0.52.2.dist-info/RECORD,,
|
|
271
|
+
dvt_core-0.52.2.dist-info/WHEEL,sha256=SQ0RWtyPnHPLqVWH_Tib5lCSw2Mp1jiRR5LTh7CkGzY,110
|
|
272
|
+
dvt_core-0.52.2.dist-info/entry_points.txt,sha256=9t-RN8bbTEh78WVkzUAmmsmx81wbBNebQIatsbp27G8,40
|
|
273
|
+
dvt_core-0.52.2.dist-info/top_level.txt,sha256=IYq769GubHRjvZyQbJ9RbcLZjaeNa9fH8ucPLYGzO2Q,12
|
|
274
|
+
dvt_core-0.52.2.dist-info/METADATA,sha256=G4nBMcrjwfOdzY7k8cpHqkES0bHaDNK9vgMlcus0LVg,9461
|
|
275
|
+
dvt_cli/__init__.py,sha256=cxu5Eu-jJD-yUtQfzy0gntK-SMHp1eN6ydrDw7rYv8M,2503
|