airflow-dbt-python 3.0.0__py3-none-any.whl → 3.0.2__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.
- airflow_dbt_python/__version__.py +1 -1
- airflow_dbt_python/hooks/__init__.py +1 -1
- airflow_dbt_python/hooks/dbt.py +5 -1
- airflow_dbt_python/hooks/fs/__init__.py +3 -4
- airflow_dbt_python/hooks/fs/git.py +5 -1
- airflow_dbt_python/hooks/target.py +6 -1
- airflow_dbt_python/operators/dbt.py +17 -9
- airflow_dbt_python/utils/configs.py +3 -1
- {airflow_dbt_python-3.0.0.dist-info → airflow_dbt_python-3.0.2.dist-info}/METADATA +38 -37
- airflow_dbt_python-3.0.2.dist-info/RECORD +23 -0
- {airflow_dbt_python-3.0.0.dist-info → airflow_dbt_python-3.0.2.dist-info}/WHEEL +2 -1
- airflow_dbt_python-3.0.2.dist-info/top_level.txt +1 -0
- airflow_dbt_python-3.0.0.dist-info/RECORD +0 -22
- {airflow_dbt_python-3.0.0.dist-info → airflow_dbt_python-3.0.2.dist-info/licenses}/LICENSE +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""The hooks module provides Airflow hooks used to interact with dbt."""
|
airflow_dbt_python/hooks/dbt.py
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""A ``DbtFSHook`` can download and upload dbt project files to a filesystem.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Currently, only AWS S3 and the local filesystem are supported as remotes.
|
|
3
|
+
By filesystem we understand any storage that can hold dbt project files, like an
|
|
4
|
+
S3 bucket or a git repository.
|
|
6
5
|
"""
|
|
7
6
|
|
|
8
7
|
from abc import ABC, abstractmethod
|
|
@@ -157,7 +157,11 @@ class DbtGitFSHook(SSHHook, DbtFSHook):
|
|
|
157
157
|
client, path, branch = self.get_git_client_path(source)
|
|
158
158
|
|
|
159
159
|
client.clone(
|
|
160
|
-
path,
|
|
160
|
+
path,
|
|
161
|
+
str(destination),
|
|
162
|
+
mkdir=not destination.exists(),
|
|
163
|
+
# NOTE: Dulwich expects branch to be bytes if defined.
|
|
164
|
+
branch=branch.encode("utf-8") if isinstance(branch, str) else branch,
|
|
161
165
|
)
|
|
162
166
|
|
|
163
167
|
def get_git_client_path(self, url: URL) -> Tuple[GitClients, str, Optional[str]]:
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
"""Provides
|
|
1
|
+
"""Provides hooks to establish a dbt connection with supported targets.
|
|
2
|
+
|
|
3
|
+
The connection details will be extracted from an Airflow connection, and each
|
|
4
|
+
target can interpret connection information differently according to its
|
|
5
|
+
specific connection requirements.
|
|
6
|
+
"""
|
|
2
7
|
|
|
3
8
|
from __future__ import annotations
|
|
4
9
|
|
|
@@ -400,14 +400,15 @@ class DbtRunOperator(DbtBaseOperator):
|
|
|
400
400
|
full_refresh: Optional[bool] = None,
|
|
401
401
|
models: Optional[list[str]] = None,
|
|
402
402
|
select: Optional[list[str]] = None,
|
|
403
|
-
|
|
403
|
+
selector: Optional[str] = None,
|
|
404
|
+
selector_name: Optional[str] = None,
|
|
404
405
|
exclude: Optional[list[str]] = None,
|
|
405
406
|
**kwargs,
|
|
406
407
|
) -> None:
|
|
407
408
|
super().__init__(**kwargs)
|
|
408
409
|
self.full_refresh = full_refresh
|
|
409
410
|
self.exclude = exclude
|
|
410
|
-
self.
|
|
411
|
+
self.selector = selector or selector_name
|
|
411
412
|
self.select = select or models
|
|
412
413
|
|
|
413
414
|
@property
|
|
@@ -432,6 +433,7 @@ class DbtSeedOperator(DbtBaseOperator):
|
|
|
432
433
|
select: Optional[list[str]] = None,
|
|
433
434
|
show: Optional[bool] = None,
|
|
434
435
|
exclude: Optional[list[str]] = None,
|
|
436
|
+
selector: Optional[str] = None,
|
|
435
437
|
selector_name: Optional[str] = None,
|
|
436
438
|
**kwargs,
|
|
437
439
|
) -> None:
|
|
@@ -440,7 +442,7 @@ class DbtSeedOperator(DbtBaseOperator):
|
|
|
440
442
|
self.select = select
|
|
441
443
|
self.show = show
|
|
442
444
|
self.exclude = exclude
|
|
443
|
-
self.
|
|
445
|
+
self.selector = selector or selector_name
|
|
444
446
|
|
|
445
447
|
@property
|
|
446
448
|
def command(self) -> str:
|
|
@@ -465,6 +467,7 @@ class DbtTestOperator(DbtBaseOperator):
|
|
|
465
467
|
models: Optional[list[str]] = None,
|
|
466
468
|
select: Optional[list[str]] = None,
|
|
467
469
|
exclude: Optional[list[str]] = None,
|
|
470
|
+
selector: Optional[str] = None,
|
|
468
471
|
selector_name: Optional[str] = None,
|
|
469
472
|
indirect_selection: Optional[str] = None,
|
|
470
473
|
**kwargs,
|
|
@@ -473,7 +476,7 @@ class DbtTestOperator(DbtBaseOperator):
|
|
|
473
476
|
self.singular = singular
|
|
474
477
|
self.generic = generic
|
|
475
478
|
self.exclude = exclude
|
|
476
|
-
self.
|
|
479
|
+
self.selector = selector or selector_name
|
|
477
480
|
self.select = select or models
|
|
478
481
|
self.indirect_selection = indirect_selection
|
|
479
482
|
|
|
@@ -500,6 +503,7 @@ class DbtCompileOperator(_GraphRunnableOperator):
|
|
|
500
503
|
models: Optional[list[str]] = None,
|
|
501
504
|
select: Optional[list[str]] = None,
|
|
502
505
|
exclude: Optional[list[str]] = None,
|
|
506
|
+
selector: Optional[str] = None,
|
|
503
507
|
selector_name: Optional[str] = None,
|
|
504
508
|
upload_dbt_project: bool = True,
|
|
505
509
|
**kwargs,
|
|
@@ -508,7 +512,7 @@ class DbtCompileOperator(_GraphRunnableOperator):
|
|
|
508
512
|
self.parse_only = parse_only
|
|
509
513
|
self.full_refresh = full_refresh
|
|
510
514
|
self.exclude = exclude
|
|
511
|
-
self.
|
|
515
|
+
self.selector = selector or selector_name
|
|
512
516
|
self.select = select or models
|
|
513
517
|
self.upload_dbt_project = upload_dbt_project
|
|
514
518
|
|
|
@@ -614,13 +618,14 @@ class DbtSnapshotOperator(DbtBaseOperator):
|
|
|
614
618
|
self,
|
|
615
619
|
select: Optional[list[str]] = None,
|
|
616
620
|
exclude: Optional[list[str]] = None,
|
|
621
|
+
selector: Optional[str] = None,
|
|
617
622
|
selector_name: Optional[str] = None,
|
|
618
623
|
**kwargs,
|
|
619
624
|
) -> None:
|
|
620
625
|
super().__init__(**kwargs)
|
|
621
626
|
self.select = select
|
|
622
627
|
self.exclude = exclude
|
|
623
|
-
self.
|
|
628
|
+
self.selector = selector or selector_name
|
|
624
629
|
|
|
625
630
|
@property
|
|
626
631
|
def command(self) -> str:
|
|
@@ -644,6 +649,7 @@ class DbtLsOperator(_GraphRunnableOperator):
|
|
|
644
649
|
resource_types: Optional[list[str]] = None,
|
|
645
650
|
select: Optional[list[str]] = None,
|
|
646
651
|
exclude: Optional[list[str]] = None,
|
|
652
|
+
selector: Optional[str] = None,
|
|
647
653
|
selector_name: Optional[str] = None,
|
|
648
654
|
dbt_output: Optional[Output] = None,
|
|
649
655
|
output_keys: Optional[list[str]] = None,
|
|
@@ -654,7 +660,7 @@ class DbtLsOperator(_GraphRunnableOperator):
|
|
|
654
660
|
self.resource_types = resource_types
|
|
655
661
|
self.select = select
|
|
656
662
|
self.exclude = exclude
|
|
657
|
-
self.
|
|
663
|
+
self.selector = selector or selector_name
|
|
658
664
|
self.dbt_output = dbt_output
|
|
659
665
|
self.output_keys = output_keys
|
|
660
666
|
self.indirect_selection = indirect_selection
|
|
@@ -727,6 +733,7 @@ class DbtSourceFreshnessOperator(DbtBaseOperator):
|
|
|
727
733
|
select: Optional[list[str]] = None,
|
|
728
734
|
dbt_output: Optional[Union[str, Path]] = None,
|
|
729
735
|
exclude: Optional[list[str]] = None,
|
|
736
|
+
selector: Optional[str] = None,
|
|
730
737
|
selector_name: Optional[str] = None,
|
|
731
738
|
upload_dbt_project: bool = True,
|
|
732
739
|
**kwargs,
|
|
@@ -734,7 +741,7 @@ class DbtSourceFreshnessOperator(DbtBaseOperator):
|
|
|
734
741
|
super().__init__(**kwargs)
|
|
735
742
|
self.select = select
|
|
736
743
|
self.exclude = exclude
|
|
737
|
-
self.
|
|
744
|
+
self.selector = selector or selector_name
|
|
738
745
|
self.dbt_output = dbt_output
|
|
739
746
|
self.upload_dbt_project = upload_dbt_project
|
|
740
747
|
|
|
@@ -759,6 +766,7 @@ class DbtBuildOperator(DbtBaseOperator):
|
|
|
759
766
|
full_refresh: Optional[bool] = None,
|
|
760
767
|
select: Optional[list[str]] = None,
|
|
761
768
|
exclude: Optional[list[str]] = None,
|
|
769
|
+
selector: Optional[str] = None,
|
|
762
770
|
selector_name: Optional[str] = None,
|
|
763
771
|
singular: Optional[bool] = None,
|
|
764
772
|
generic: Optional[bool] = None,
|
|
@@ -770,7 +778,7 @@ class DbtBuildOperator(DbtBaseOperator):
|
|
|
770
778
|
self.full_refresh = full_refresh
|
|
771
779
|
self.select = select
|
|
772
780
|
self.exclude = exclude
|
|
773
|
-
self.
|
|
781
|
+
self.selector = selector or selector_name
|
|
774
782
|
self.singular = singular
|
|
775
783
|
self.generic = generic
|
|
776
784
|
self.show = show
|
|
@@ -518,11 +518,13 @@ class SelectionConfig(BaseConfig):
|
|
|
518
518
|
|
|
519
519
|
exclude: Optional[list[str]] = None
|
|
520
520
|
select: Optional[list[str]] = None
|
|
521
|
-
selector_name: Optional[list[str]] = None
|
|
522
521
|
selector: Optional[str] = None
|
|
523
522
|
state: Optional[Union[Path, str]] = None
|
|
524
523
|
defer_state: Optional[Union[Path, str]] = None
|
|
525
524
|
|
|
525
|
+
# Kept for compatibility with dbt versions < 1.5
|
|
526
|
+
selector_name: Optional[str] = None
|
|
527
|
+
|
|
526
528
|
# Kept for compatibility with dbt versions < 0.21
|
|
527
529
|
models: Optional[list[str]] = None
|
|
528
530
|
|
|
@@ -1,49 +1,51 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: airflow-dbt-python
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: A collection of Airflow operators, hooks, and utilities to execute dbt commands
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Author-email: Tomás Farías Santana <tomas@tomasfarias.dev>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: repository, https://github.com/tomasfarias/airflow-dbt-python
|
|
8
|
+
Project-URL: documentation, https://airflow-dbt-python.readthedocs.io
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.9
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
-
|
|
15
|
+
Requires-Python: <3.13,>=3.9
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: apache-airflow>=2.8
|
|
19
|
+
Requires-Dist: contextlib-chdir==1.0.2; python_version < "3.11"
|
|
20
|
+
Requires-Dist: dbt-core<2.0.0,>=1.8.0
|
|
17
21
|
Provides-Extra: airflow-providers
|
|
22
|
+
Requires-Dist: apache-airflow-providers-amazon>=3.0.0; extra == "airflow-providers"
|
|
23
|
+
Requires-Dist: apache-airflow-providers-google>=11.0.0; extra == "airflow-providers"
|
|
24
|
+
Requires-Dist: apache-airflow-providers-ssh>=3.0.0; extra == "airflow-providers"
|
|
25
|
+
Provides-Extra: adapters
|
|
26
|
+
Requires-Dist: dbt-bigquery<2.0.0,>=1.8.0; extra == "adapters"
|
|
27
|
+
Requires-Dist: dbt-redshift<2.0.0,>=1.8.0; extra == "adapters"
|
|
28
|
+
Requires-Dist: dbt-postgres<2.0.0,>=1.8.0; extra == "adapters"
|
|
29
|
+
Requires-Dist: dbt-snowflake<2.0.0,>=1.8.0; extra == "adapters"
|
|
30
|
+
Requires-Dist: dbt-spark[all]<2.0.0,>=1.8.0; extra == "adapters"
|
|
18
31
|
Provides-Extra: bigquery
|
|
32
|
+
Requires-Dist: dbt-bigquery<2.0.0,>=1.8.0; extra == "bigquery"
|
|
19
33
|
Provides-Extra: gcs
|
|
34
|
+
Requires-Dist: apache-airflow-providers-google>=11.0.0; extra == "gcs"
|
|
20
35
|
Provides-Extra: git
|
|
36
|
+
Requires-Dist: apache-airflow-providers-ssh>=3.0.0; extra == "git"
|
|
37
|
+
Requires-Dist: dulwich>=0.21; extra == "git"
|
|
21
38
|
Provides-Extra: postgres
|
|
39
|
+
Requires-Dist: dbt-postgres<2.0.0,>=1.8.0; extra == "postgres"
|
|
22
40
|
Provides-Extra: redshift
|
|
41
|
+
Requires-Dist: dbt-redshift<2.0.0,>=1.8.0; extra == "redshift"
|
|
23
42
|
Provides-Extra: s3
|
|
43
|
+
Requires-Dist: apache-airflow-providers-amazon>=3.0.0; extra == "s3"
|
|
24
44
|
Provides-Extra: snowflake
|
|
45
|
+
Requires-Dist: dbt-snowflake<2.0.0,>=1.8.0; extra == "snowflake"
|
|
25
46
|
Provides-Extra: spark
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
|
|
28
|
-
Requires-Dist: apache-airflow-providers-amazon (>=3.0.0) ; extra == "s3"
|
|
29
|
-
Requires-Dist: apache-airflow-providers-google (>=11.0.0) ; extra == "airflow-providers"
|
|
30
|
-
Requires-Dist: apache-airflow-providers-google (>=11.0.0) ; extra == "gcs"
|
|
31
|
-
Requires-Dist: apache-airflow-providers-ssh (>=3.0.0) ; extra == "airflow-providers"
|
|
32
|
-
Requires-Dist: apache-airflow-providers-ssh (>=3.0.0) ; extra == "git"
|
|
33
|
-
Requires-Dist: contextlib-chdir (==1.0.2) ; python_version < "3.11"
|
|
34
|
-
Requires-Dist: dbt-bigquery (>=1.8.0,<2.0.0) ; extra == "adapters"
|
|
35
|
-
Requires-Dist: dbt-bigquery (>=1.8.0,<2.0.0) ; extra == "bigquery"
|
|
36
|
-
Requires-Dist: dbt-core (>=1.8.0,<2.0.0)
|
|
37
|
-
Requires-Dist: dbt-postgres (>=1.8.0,<2.0.0) ; extra == "adapters"
|
|
38
|
-
Requires-Dist: dbt-postgres (>=1.8.0,<2.0.0) ; extra == "postgres"
|
|
39
|
-
Requires-Dist: dbt-redshift (>=1.8.0,<2.0.0) ; extra == "adapters"
|
|
40
|
-
Requires-Dist: dbt-redshift (>=1.8.0,<2.0.0) ; extra == "redshift"
|
|
41
|
-
Requires-Dist: dbt-snowflake (>=1.8.0,<2.0.0) ; extra == "adapters"
|
|
42
|
-
Requires-Dist: dbt-snowflake (>=1.8.0,<2.0.0) ; extra == "snowflake"
|
|
43
|
-
Requires-Dist: dbt-spark (>=1.8.0,<2.0.0) ; extra == "spark"
|
|
44
|
-
Requires-Dist: dbt-spark[all] (>=1.8.0,<2.0.0) ; extra == "adapters"
|
|
45
|
-
Requires-Dist: dulwich (>=0.21) ; extra == "git"
|
|
46
|
-
Description-Content-Type: text/markdown
|
|
47
|
+
Requires-Dist: dbt-spark<2.0.0,>=1.8.0; extra == "spark"
|
|
48
|
+
Dynamic: license-file
|
|
47
49
|
|
|
48
50
|
# airflow-dbt-python
|
|
49
51
|
|
|
@@ -101,17 +103,17 @@ git clone https://github.com/tomasfarias/airflow-dbt-python.git
|
|
|
101
103
|
cd airflow-dbt-python
|
|
102
104
|
```
|
|
103
105
|
|
|
104
|
-
And installing with *
|
|
106
|
+
And installing with *uv*:
|
|
105
107
|
|
|
106
108
|
``` shell
|
|
107
|
-
|
|
109
|
+
uv pip install .
|
|
108
110
|
```
|
|
109
111
|
|
|
110
112
|
## In AWS MWAA
|
|
111
113
|
|
|
112
114
|
Add *airflow-dbt-python* to your `requirements.txt` file and edit your Airflow environment to use this new `requirements.txt` file, or upload it as a plugin.
|
|
113
115
|
|
|
114
|
-
Read the [documentation](https://airflow-dbt-python.readthedocs.io/en/latest/getting_started
|
|
116
|
+
Read the [documentation](https://airflow-dbt-python.readthedocs.io/en/latest/getting_started/#installing-in-mwaa) for more a more detailed AWS MWAA installation breakdown.
|
|
115
117
|
|
|
116
118
|
## In GCP Cloud Composer
|
|
117
119
|
|
|
@@ -245,7 +247,7 @@ with DAG(
|
|
|
245
247
|
) as dag:
|
|
246
248
|
dbt_test = DbtTestOperator(
|
|
247
249
|
task_id="dbt_test",
|
|
248
|
-
|
|
250
|
+
selector="pre-run-tests",
|
|
249
251
|
)
|
|
250
252
|
|
|
251
253
|
dbt_seed = DbtSeedOperator(
|
|
@@ -268,17 +270,16 @@ More examples can be found in the [`examples/`](examples/) directory and the [do
|
|
|
268
270
|
|
|
269
271
|
# Development
|
|
270
272
|
|
|
271
|
-
See the [development documentation](https://airflow-dbt-python.readthedocs.io/en/latest/development
|
|
273
|
+
See the [development documentation](https://airflow-dbt-python.readthedocs.io/en/latest/development/) for a more in-depth dive into setting up a development environment, running the test-suite, and general commentary on working on *airflow-dbt-python*.
|
|
272
274
|
|
|
273
275
|
## Testing
|
|
274
276
|
|
|
275
|
-
Tests are run with *pytest*, can be located in `tests/`. To run them locally, you may use *
|
|
277
|
+
Tests are run with *pytest*, can be located in `tests/`. To run them locally, you may use *uv*:
|
|
276
278
|
|
|
277
279
|
``` shell
|
|
278
|
-
|
|
280
|
+
uv run pytest tests/ -vv
|
|
279
281
|
```
|
|
280
282
|
|
|
281
283
|
# License
|
|
282
284
|
|
|
283
285
|
This project is licensed under the MIT license. See [LICENSE](LICENSE).
|
|
284
|
-
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
airflow_dbt_python/__init__.py,sha256=qYIsTHy4p3NX0QYIsLdatz6GlnaMwYsSoD3wtPD0BqY,153
|
|
2
|
+
airflow_dbt_python/__version__.py,sha256=XpfEzvJGA12I8I2T2G5WfMpqAiOxGeHUN_TOjQkqQIE,190
|
|
3
|
+
airflow_dbt_python/hooks/__init__.py,sha256=jMdE1qzdpB_4w9IvxTnfB5g6SjEAWq6UDCnQiQi4xLQ,73
|
|
4
|
+
airflow_dbt_python/hooks/dbt.py,sha256=BPomtFF9Lg2YAy28k5EuNn3lRC116t76hjZzzksAqqc,13762
|
|
5
|
+
airflow_dbt_python/hooks/target.py,sha256=K7gmPh_AvoG35uj9Im7MQLL2Xh-CRltQuOLQ_4kvb7s,15411
|
|
6
|
+
airflow_dbt_python/hooks/fs/__init__.py,sha256=xwCCHrTyEAUpQiMajEs5sJUFOQLBctqggROMJXEaWew,5527
|
|
7
|
+
airflow_dbt_python/hooks/fs/gcs.py,sha256=RRF5gvwy_opYIJt6-RF05Ww96SrzIJDrKs859iReRNo,8458
|
|
8
|
+
airflow_dbt_python/hooks/fs/git.py,sha256=OlAOTrZNTTaubU3grgHCwlgEH2Lj8LCSmiPCV09zJMU,7521
|
|
9
|
+
airflow_dbt_python/hooks/fs/local.py,sha256=S9FU3K2U1JwuY4b6PRVzsvAL0cZK1bDVXdfChE3Qk-I,4272
|
|
10
|
+
airflow_dbt_python/hooks/fs/s3.py,sha256=C4l4dalvs2crbl_jDu257_BThF5WOVWvcyDHj1TTNWk,7180
|
|
11
|
+
airflow_dbt_python/operators/__init__.py,sha256=zveHW17YWoCpdsQhCZtvdPoEiFiwWykqPnAnOAQ8vk0,46
|
|
12
|
+
airflow_dbt_python/operators/dbt.py,sha256=yaov5Vd6pjEkO1XVgEPTK_EvTZUHk4Gc6AB8U5pmXjM,28742
|
|
13
|
+
airflow_dbt_python/utils/__init__.py,sha256=J3_g-tV35XkrZSwYULsAq4B0TUa6rw0uxP-LFwl_k2Q,45
|
|
14
|
+
airflow_dbt_python/utils/configs.py,sha256=mIVxjK45O6xXCzDCrCze8hI9JTP4iiabqfTX9dkVdUA,27202
|
|
15
|
+
airflow_dbt_python/utils/enums.py,sha256=rktUM8cTkEUsdNbzd_f6fxfgNiZGifJfOr0zvrsMyuQ,969
|
|
16
|
+
airflow_dbt_python/utils/env.py,sha256=o2Y3RMyXADSpUCU-G0yRiqXB-yo3oPsXtCEI7H5GIyM,646
|
|
17
|
+
airflow_dbt_python/utils/url.py,sha256=Ac7PJMl3AsrVMXGPgFdzOrAVsvCfS4hMWAtwgRMdbP0,16111
|
|
18
|
+
airflow_dbt_python/utils/version.py,sha256=RAMagzZofIAiFUFc9g06yZXM81BaMI3hH58q4xjfE0M,811
|
|
19
|
+
airflow_dbt_python-3.0.2.dist-info/licenses/LICENSE,sha256=8yx5JCe-4cW52JiqVrMlA990r7tuac2foiUryhV9dfY,1073
|
|
20
|
+
airflow_dbt_python-3.0.2.dist-info/METADATA,sha256=275OsE0QAshHk3IQgEaY9LpgN7hgG0iUehj9KiFYIf8,15925
|
|
21
|
+
airflow_dbt_python-3.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
22
|
+
airflow_dbt_python-3.0.2.dist-info/top_level.txt,sha256=4mfoYT9MaEb9h9Cyyu8kJwg34TKh_L3fpq0YWx-q60Y,19
|
|
23
|
+
airflow_dbt_python-3.0.2.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
airflow_dbt_python
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
airflow_dbt_python/__init__.py,sha256=qYIsTHy4p3NX0QYIsLdatz6GlnaMwYsSoD3wtPD0BqY,153
|
|
2
|
-
airflow_dbt_python/__version__.py,sha256=WFA4Co5hdfmcOzgxaBHPRqnEdXVtzV9KpPMwwc5_AAo,190
|
|
3
|
-
airflow_dbt_python/hooks/__init__.py,sha256=Myrhulyj0apCqXCPYBGa2z0j9yMHasKN-uPHSSS97ak,53
|
|
4
|
-
airflow_dbt_python/hooks/dbt.py,sha256=O-9hDV2RR5j1yXYvU3csEtuKjA53nueEoH4aqvDv_BE,13687
|
|
5
|
-
airflow_dbt_python/hooks/fs/__init__.py,sha256=S8oZWd79bPFn73EhsggGj3TEjgQ8XOpxKn2jlRDkATA,5572
|
|
6
|
-
airflow_dbt_python/hooks/fs/gcs.py,sha256=RRF5gvwy_opYIJt6-RF05Ww96SrzIJDrKs859iReRNo,8458
|
|
7
|
-
airflow_dbt_python/hooks/fs/git.py,sha256=_J7j6bPYfOqCgMmq3xY3za_--lKkVuzp_hLQ-YVVM3A,7362
|
|
8
|
-
airflow_dbt_python/hooks/fs/local.py,sha256=S9FU3K2U1JwuY4b6PRVzsvAL0cZK1bDVXdfChE3Qk-I,4272
|
|
9
|
-
airflow_dbt_python/hooks/fs/s3.py,sha256=C4l4dalvs2crbl_jDu257_BThF5WOVWvcyDHj1TTNWk,7180
|
|
10
|
-
airflow_dbt_python/hooks/target.py,sha256=nCZHutrMjkDiX5q6AQz9AAoHfEDLyJL9wkHk-3-dcMw,15225
|
|
11
|
-
airflow_dbt_python/operators/__init__.py,sha256=zveHW17YWoCpdsQhCZtvdPoEiFiwWykqPnAnOAQ8vk0,46
|
|
12
|
-
airflow_dbt_python/operators/dbt.py,sha256=-OBXCclWhc2Eur8ZRq24mCf1fsu4xS4cYkkYmJ9v2rU,28372
|
|
13
|
-
airflow_dbt_python/utils/__init__.py,sha256=J3_g-tV35XkrZSwYULsAq4B0TUa6rw0uxP-LFwl_k2Q,45
|
|
14
|
-
airflow_dbt_python/utils/configs.py,sha256=uZ8il2uDtFQtHZqk-1Z15k79EMdH1oijx_W41milf2Q,27154
|
|
15
|
-
airflow_dbt_python/utils/enums.py,sha256=rktUM8cTkEUsdNbzd_f6fxfgNiZGifJfOr0zvrsMyuQ,969
|
|
16
|
-
airflow_dbt_python/utils/env.py,sha256=o2Y3RMyXADSpUCU-G0yRiqXB-yo3oPsXtCEI7H5GIyM,646
|
|
17
|
-
airflow_dbt_python/utils/url.py,sha256=Ac7PJMl3AsrVMXGPgFdzOrAVsvCfS4hMWAtwgRMdbP0,16111
|
|
18
|
-
airflow_dbt_python/utils/version.py,sha256=RAMagzZofIAiFUFc9g06yZXM81BaMI3hH58q4xjfE0M,811
|
|
19
|
-
airflow_dbt_python-3.0.0.dist-info/LICENSE,sha256=8yx5JCe-4cW52JiqVrMlA990r7tuac2foiUryhV9dfY,1073
|
|
20
|
-
airflow_dbt_python-3.0.0.dist-info/METADATA,sha256=MC1CM3vrEFkh98l3q6BGiWfYs7ZY2oytL_ZaNSXMij4,15884
|
|
21
|
-
airflow_dbt_python-3.0.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
22
|
-
airflow_dbt_python-3.0.0.dist-info/RECORD,,
|
|
File without changes
|