acryl-datahub-airflow-plugin 1.3.1.4__tar.gz → 1.3.1.5rc1__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.
Files changed (40) hide show
  1. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/PKG-INFO +34 -33
  2. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/setup.py +1 -0
  3. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/PKG-INFO +34 -33
  4. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/requires.txt +33 -32
  5. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/_extractors.py +30 -1
  6. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/_version.py +1 -1
  7. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/README.md +0 -0
  8. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/pyproject.toml +0 -0
  9. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/setup.cfg +0 -0
  10. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/SOURCES.txt +0 -0
  11. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/dependency_links.txt +0 -0
  12. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/entry_points.txt +0 -0
  13. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/not-zip-safe +0 -0
  14. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/acryl_datahub_airflow_plugin.egg-info/top_level.txt +0 -0
  15. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/__init__.py +0 -0
  16. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/_airflow_shims.py +0 -0
  17. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/_config.py +0 -0
  18. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/_datahub_ol_adapter.py +0 -0
  19. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/client/__init__.py +0 -0
  20. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/client/airflow_generator.py +0 -0
  21. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/datahub_listener.py +0 -0
  22. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/datahub_plugin.py +0 -0
  23. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/entities.py +0 -0
  24. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/__init__.py +0 -0
  25. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/generic_recipe_sample_dag.py +0 -0
  26. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/graph_usage_sample_dag.py +0 -0
  27. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/lineage_backend_demo.py +0 -0
  28. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/lineage_backend_taskflow_demo.py +0 -0
  29. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/lineage_emission_dag.py +0 -0
  30. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/mysql_sample_dag.py +0 -0
  31. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/example_dags/snowflake_sample_dag.py +0 -0
  32. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/hooks/__init__.py +0 -0
  33. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/hooks/datahub.py +0 -0
  34. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/__init__.py +0 -0
  35. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/datahub.py +0 -0
  36. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/datahub_assertion_operator.py +0 -0
  37. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/datahub_assertion_sensor.py +0 -0
  38. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/datahub_operation_operator.py +0 -0
  39. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/operators/datahub_operation_sensor.py +0 -0
  40. {acryl_datahub_airflow_plugin-1.3.1.4 → acryl_datahub_airflow_plugin-1.3.1.5rc1}/src/datahub_airflow_plugin/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acryl-datahub-airflow-plugin
3
- Version: 1.3.1.4
3
+ Version: 1.3.1.5rc1
4
4
  Summary: Datahub Airflow plugin to capture executions and send to Datahub
5
5
  Home-page: https://docs.datahub.com/
6
6
  License: Apache-2.0
@@ -21,55 +21,56 @@ Classifier: Environment :: MacOS X
21
21
  Classifier: Topic :: Software Development
22
22
  Requires-Python: >=3.9
23
23
  Description-Content-Type: text/markdown
24
- Requires-Dist: pydantic>=2.4.0
25
- Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0
26
- Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.4
27
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4
28
24
  Requires-Dist: apache-airflow<3,>=2.7.0
25
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1
26
+ Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1
27
+ Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0
28
+ Requires-Dist: pydantic>=2.4.0
29
29
  Provides-Extra: ignore
30
30
  Provides-Extra: datahub-rest
31
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4; extra == "datahub-rest"
31
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1; extra == "datahub-rest"
32
32
  Provides-Extra: datahub-kafka
33
- Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.4; extra == "datahub-kafka"
33
+ Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.5rc1; extra == "datahub-kafka"
34
34
  Provides-Extra: datahub-file
35
- Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.4; extra == "datahub-file"
35
+ Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.5rc1; extra == "datahub-file"
36
36
  Provides-Extra: dev
37
- Requires-Dist: pydantic>=2.4.0; extra == "dev"
38
- Requires-Dist: types-dataclasses; extra == "dev"
39
- Requires-Dist: pytest>=6.2.2; extra == "dev"
40
- Requires-Dist: types-click==0.1.12; extra == "dev"
41
- Requires-Dist: mypy==1.17.1; extra == "dev"
42
- Requires-Dist: types-PyYAML; extra == "dev"
43
- Requires-Dist: types-six; extra == "dev"
44
- Requires-Dist: types-setuptools; extra == "dev"
45
- Requires-Dist: tox-uv; extra == "dev"
46
- Requires-Dist: apache-airflow<3,>=2.7.0; extra == "dev"
47
- Requires-Dist: packaging; extra == "dev"
48
- Requires-Dist: types-python-dateutil; extra == "dev"
49
- Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.4; extra == "dev"
50
37
  Requires-Dist: deepdiff!=8.0.0; extra == "dev"
51
- Requires-Dist: types-cachetools; extra == "dev"
52
- Requires-Dist: types-requests; extra == "dev"
53
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4; extra == "dev"
54
- Requires-Dist: ruff==0.11.7; extra == "dev"
55
- Requires-Dist: sqlalchemy-stubs; extra == "dev"
56
38
  Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
57
- Requires-Dist: tox; extra == "dev"
39
+ Requires-Dist: sqlalchemy-stubs; extra == "dev"
40
+ Requires-Dist: types-cachetools; extra == "dev"
41
+ Requires-Dist: packaging; extra == "dev"
58
42
  Requires-Dist: tenacity; extra == "dev"
43
+ Requires-Dist: tox; extra == "dev"
44
+ Requires-Dist: types-dataclasses; extra == "dev"
45
+ Requires-Dist: tox-uv; extra == "dev"
46
+ Requires-Dist: types-setuptools; extra == "dev"
59
47
  Requires-Dist: types-toml; extra == "dev"
60
48
  Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0; extra == "dev"
61
- Requires-Dist: build; extra == "dev"
49
+ Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1; extra == "dev"
50
+ Requires-Dist: pydantic>=2.4.0; extra == "dev"
51
+ Requires-Dist: ruff==0.11.7; extra == "dev"
62
52
  Requires-Dist: twine; extra == "dev"
53
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1; extra == "dev"
54
+ Requires-Dist: types-six; extra == "dev"
63
55
  Requires-Dist: coverage>=5.1; extra == "dev"
56
+ Requires-Dist: pytest>=6.2.2; extra == "dev"
57
+ Requires-Dist: mypy==1.17.1; extra == "dev"
58
+ Requires-Dist: apache-airflow<3,>=2.7.0; extra == "dev"
59
+ Requires-Dist: types-requests; extra == "dev"
60
+ Requires-Dist: types-click==0.1.12; extra == "dev"
61
+ Requires-Dist: types-python-dateutil; extra == "dev"
64
62
  Requires-Dist: types-tabulate; extra == "dev"
63
+ Requires-Dist: build; extra == "dev"
64
+ Requires-Dist: types-PyYAML; extra == "dev"
65
65
  Provides-Extra: integration-tests
66
- Requires-Dist: acryl-datahub[testing-utils]==1.3.1.4; extra == "integration-tests"
67
- Requires-Dist: virtualenv; extra == "integration-tests"
68
- Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.4; extra == "integration-tests"
69
- Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.4; extra == "integration-tests"
70
- Requires-Dist: snowflake-connector-python>=2.7.10; extra == "integration-tests"
71
66
  Requires-Dist: apache-airflow[amazon,google,snowflake]>=2.0.2; extra == "integration-tests"
67
+ Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.5rc1; extra == "integration-tests"
68
+ Requires-Dist: snowflake-connector-python>=2.7.10; extra == "integration-tests"
69
+ Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.5rc1; extra == "integration-tests"
72
70
  Requires-Dist: apache-airflow-providers-sqlite; extra == "integration-tests"
71
+ Requires-Dist: acryl-datahub[testing-utils]==1.3.1.5rc1; extra == "integration-tests"
72
+ Requires-Dist: apache-airflow-providers-teradata; extra == "integration-tests"
73
+ Requires-Dist: virtualenv; extra == "integration-tests"
73
74
  Dynamic: classifier
74
75
  Dynamic: description
75
76
  Dynamic: description-content-type
@@ -98,6 +98,7 @@ integration_test_requirements = {
98
98
  "snowflake-connector-python>=2.7.10",
99
99
  "virtualenv", # needed by PythonVirtualenvOperator
100
100
  "apache-airflow-providers-sqlite",
101
+ "apache-airflow-providers-teradata",
101
102
  }
102
103
 
103
104
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acryl-datahub-airflow-plugin
3
- Version: 1.3.1.4
3
+ Version: 1.3.1.5rc1
4
4
  Summary: Datahub Airflow plugin to capture executions and send to Datahub
5
5
  Home-page: https://docs.datahub.com/
6
6
  License: Apache-2.0
@@ -21,55 +21,56 @@ Classifier: Environment :: MacOS X
21
21
  Classifier: Topic :: Software Development
22
22
  Requires-Python: >=3.9
23
23
  Description-Content-Type: text/markdown
24
- Requires-Dist: pydantic>=2.4.0
25
- Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0
26
- Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.4
27
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4
28
24
  Requires-Dist: apache-airflow<3,>=2.7.0
25
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1
26
+ Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1
27
+ Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0
28
+ Requires-Dist: pydantic>=2.4.0
29
29
  Provides-Extra: ignore
30
30
  Provides-Extra: datahub-rest
31
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4; extra == "datahub-rest"
31
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1; extra == "datahub-rest"
32
32
  Provides-Extra: datahub-kafka
33
- Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.4; extra == "datahub-kafka"
33
+ Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.5rc1; extra == "datahub-kafka"
34
34
  Provides-Extra: datahub-file
35
- Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.4; extra == "datahub-file"
35
+ Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.5rc1; extra == "datahub-file"
36
36
  Provides-Extra: dev
37
- Requires-Dist: pydantic>=2.4.0; extra == "dev"
38
- Requires-Dist: types-dataclasses; extra == "dev"
39
- Requires-Dist: pytest>=6.2.2; extra == "dev"
40
- Requires-Dist: types-click==0.1.12; extra == "dev"
41
- Requires-Dist: mypy==1.17.1; extra == "dev"
42
- Requires-Dist: types-PyYAML; extra == "dev"
43
- Requires-Dist: types-six; extra == "dev"
44
- Requires-Dist: types-setuptools; extra == "dev"
45
- Requires-Dist: tox-uv; extra == "dev"
46
- Requires-Dist: apache-airflow<3,>=2.7.0; extra == "dev"
47
- Requires-Dist: packaging; extra == "dev"
48
- Requires-Dist: types-python-dateutil; extra == "dev"
49
- Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.4; extra == "dev"
50
37
  Requires-Dist: deepdiff!=8.0.0; extra == "dev"
51
- Requires-Dist: types-cachetools; extra == "dev"
52
- Requires-Dist: types-requests; extra == "dev"
53
- Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.4; extra == "dev"
54
- Requires-Dist: ruff==0.11.7; extra == "dev"
55
- Requires-Dist: sqlalchemy-stubs; extra == "dev"
56
38
  Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
57
- Requires-Dist: tox; extra == "dev"
39
+ Requires-Dist: sqlalchemy-stubs; extra == "dev"
40
+ Requires-Dist: types-cachetools; extra == "dev"
41
+ Requires-Dist: packaging; extra == "dev"
58
42
  Requires-Dist: tenacity; extra == "dev"
43
+ Requires-Dist: tox; extra == "dev"
44
+ Requires-Dist: types-dataclasses; extra == "dev"
45
+ Requires-Dist: tox-uv; extra == "dev"
46
+ Requires-Dist: types-setuptools; extra == "dev"
59
47
  Requires-Dist: types-toml; extra == "dev"
60
48
  Requires-Dist: openlineage-airflow<=1.30.1,>=1.2.0; extra == "dev"
61
- Requires-Dist: build; extra == "dev"
49
+ Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1; extra == "dev"
50
+ Requires-Dist: pydantic>=2.4.0; extra == "dev"
51
+ Requires-Dist: ruff==0.11.7; extra == "dev"
62
52
  Requires-Dist: twine; extra == "dev"
53
+ Requires-Dist: acryl-datahub[datahub-rest]==1.3.1.5rc1; extra == "dev"
54
+ Requires-Dist: types-six; extra == "dev"
63
55
  Requires-Dist: coverage>=5.1; extra == "dev"
56
+ Requires-Dist: pytest>=6.2.2; extra == "dev"
57
+ Requires-Dist: mypy==1.17.1; extra == "dev"
58
+ Requires-Dist: apache-airflow<3,>=2.7.0; extra == "dev"
59
+ Requires-Dist: types-requests; extra == "dev"
60
+ Requires-Dist: types-click==0.1.12; extra == "dev"
61
+ Requires-Dist: types-python-dateutil; extra == "dev"
64
62
  Requires-Dist: types-tabulate; extra == "dev"
63
+ Requires-Dist: build; extra == "dev"
64
+ Requires-Dist: types-PyYAML; extra == "dev"
65
65
  Provides-Extra: integration-tests
66
- Requires-Dist: acryl-datahub[testing-utils]==1.3.1.4; extra == "integration-tests"
67
- Requires-Dist: virtualenv; extra == "integration-tests"
68
- Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.4; extra == "integration-tests"
69
- Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.4; extra == "integration-tests"
70
- Requires-Dist: snowflake-connector-python>=2.7.10; extra == "integration-tests"
71
66
  Requires-Dist: apache-airflow[amazon,google,snowflake]>=2.0.2; extra == "integration-tests"
67
+ Requires-Dist: acryl-datahub[datahub-kafka]==1.3.1.5rc1; extra == "integration-tests"
68
+ Requires-Dist: snowflake-connector-python>=2.7.10; extra == "integration-tests"
69
+ Requires-Dist: acryl-datahub[sync-file-emitter]==1.3.1.5rc1; extra == "integration-tests"
72
70
  Requires-Dist: apache-airflow-providers-sqlite; extra == "integration-tests"
71
+ Requires-Dist: acryl-datahub[testing-utils]==1.3.1.5rc1; extra == "integration-tests"
72
+ Requires-Dist: apache-airflow-providers-teradata; extra == "integration-tests"
73
+ Requires-Dist: virtualenv; extra == "integration-tests"
73
74
  Dynamic: classifier
74
75
  Dynamic: description
75
76
  Dynamic: description-content-type
@@ -1,55 +1,56 @@
1
- pydantic>=2.4.0
2
- openlineage-airflow<=1.30.1,>=1.2.0
3
- acryl-datahub[datahub-rest,sql-parser]==1.3.1.4
4
- acryl-datahub[datahub-rest]==1.3.1.4
5
1
  apache-airflow<3,>=2.7.0
2
+ acryl-datahub[datahub-rest]==1.3.1.5rc1
3
+ acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1
4
+ openlineage-airflow<=1.30.1,>=1.2.0
5
+ pydantic>=2.4.0
6
6
 
7
7
  [datahub-file]
8
- acryl-datahub[sync-file-emitter]==1.3.1.4
8
+ acryl-datahub[sync-file-emitter]==1.3.1.5rc1
9
9
 
10
10
  [datahub-kafka]
11
- acryl-datahub[datahub-kafka]==1.3.1.4
11
+ acryl-datahub[datahub-kafka]==1.3.1.5rc1
12
12
 
13
13
  [datahub-rest]
14
- acryl-datahub[datahub-rest]==1.3.1.4
14
+ acryl-datahub[datahub-rest]==1.3.1.5rc1
15
15
 
16
16
  [dev]
17
- pydantic>=2.4.0
18
- types-dataclasses
19
- pytest>=6.2.2
20
- types-click==0.1.12
21
- mypy==1.17.1
22
- types-PyYAML
23
- types-six
24
- types-setuptools
25
- tox-uv
26
- apache-airflow<3,>=2.7.0
27
- packaging
28
- types-python-dateutil
29
- acryl-datahub[datahub-rest,sql-parser]==1.3.1.4
30
17
  deepdiff!=8.0.0
31
- types-cachetools
32
- types-requests
33
- acryl-datahub[datahub-rest]==1.3.1.4
34
- ruff==0.11.7
35
- sqlalchemy-stubs
36
18
  pytest-cov>=2.8.1
37
- tox
19
+ sqlalchemy-stubs
20
+ types-cachetools
21
+ packaging
38
22
  tenacity
23
+ tox
24
+ types-dataclasses
25
+ tox-uv
26
+ types-setuptools
39
27
  types-toml
40
28
  openlineage-airflow<=1.30.1,>=1.2.0
41
- build
29
+ acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc1
30
+ pydantic>=2.4.0
31
+ ruff==0.11.7
42
32
  twine
33
+ acryl-datahub[datahub-rest]==1.3.1.5rc1
34
+ types-six
43
35
  coverage>=5.1
36
+ pytest>=6.2.2
37
+ mypy==1.17.1
38
+ apache-airflow<3,>=2.7.0
39
+ types-requests
40
+ types-click==0.1.12
41
+ types-python-dateutil
44
42
  types-tabulate
43
+ build
44
+ types-PyYAML
45
45
 
46
46
  [ignore]
47
47
 
48
48
  [integration-tests]
49
- acryl-datahub[testing-utils]==1.3.1.4
50
- virtualenv
51
- acryl-datahub[sync-file-emitter]==1.3.1.4
52
- acryl-datahub[datahub-kafka]==1.3.1.4
53
- snowflake-connector-python>=2.7.10
54
49
  apache-airflow[amazon,google,snowflake]>=2.0.2
50
+ acryl-datahub[datahub-kafka]==1.3.1.5rc1
51
+ snowflake-connector-python>=2.7.10
52
+ acryl-datahub[sync-file-emitter]==1.3.1.5rc1
55
53
  apache-airflow-providers-sqlite
54
+ acryl-datahub[testing-utils]==1.3.1.5rc1
55
+ apache-airflow-providers-teradata
56
+ virtualenv
@@ -67,6 +67,10 @@ class ExtractorManager(OLExtractorManager):
67
67
  BigQueryInsertJobOperatorExtractor
68
68
  )
69
69
 
70
+ self.task_to_extractor.extractors["TeradataOperator"] = (
71
+ TeradataOperatorExtractor
72
+ )
73
+
70
74
  self._graph: Optional["DataHubGraph"] = None
71
75
 
72
76
  @contextlib.contextmanager
@@ -333,4 +337,29 @@ def _snowflake_default_schema(self: "SnowflakeExtractor") -> Optional[str]:
333
337
  or self.conn.schema
334
338
  )
335
339
  # TODO: Should we try a fallback of:
336
- # execute_query_on_hook(self.hook, "SELECT current_schema();")[0][0]
340
+ # execute_query_on_hook(self.hook, "SELECT current_schema();")
341
+
342
+
343
+ class TeradataOperatorExtractor(BaseExtractor):
344
+ """Extractor for Teradata SQL operations.
345
+
346
+ Extracts lineage from TeradataOperator tasks by parsing the SQL queries
347
+ and understanding Teradata's two-tier database.table naming convention.
348
+ """
349
+
350
+ def extract(self) -> Optional[TaskMetadata]:
351
+ from airflow.providers.teradata.operators.teradata import TeradataOperator
352
+
353
+ operator: "TeradataOperator" = self.operator
354
+ sql = operator.sql
355
+ if not sql:
356
+ self.log.warning("No query found in TeradataOperator")
357
+ return None
358
+
359
+ return _parse_sql_into_task_metadata(
360
+ self,
361
+ sql,
362
+ platform="teradata",
363
+ default_database=None,
364
+ default_schema=None,
365
+ )
@@ -1,3 +1,3 @@
1
1
  # Published at https://pypi.org/project/acryl-datahub-airflow-plugin/.
2
2
  __package_name__ = "acryl-datahub-airflow-plugin"
3
- __version__ = "1.3.1.4"
3
+ __version__ = "1.3.1.5rc1"