acryl-datahub-gx-plugin 1.3.1.5rc10__tar.gz → 1.3.1.6__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.
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/PKG-INFO +59 -59
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/PKG-INFO +59 -59
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/requires.txt +58 -58
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/datahub_gx_plugin/_version.py +1 -1
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/datahub_gx_plugin/action.py +74 -9
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/README.md +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/pyproject.toml +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/setup.cfg +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/setup.py +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/SOURCES.txt +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/dependency_links.txt +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/entry_points.txt +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/not-zip-safe +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/acryl_datahub_gx_plugin.egg-info/top_level.txt +0 -0
- {acryl_datahub_gx_plugin-1.3.1.5rc10 → acryl_datahub_gx_plugin-1.3.1.6}/src/datahub_gx_plugin/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: acryl-datahub-gx-plugin
|
|
3
|
-
Version: 1.3.1.
|
|
3
|
+
Version: 1.3.1.6
|
|
4
4
|
Summary: Datahub GX plugin to capture executions and send to Datahub
|
|
5
5
|
Home-page: https://docs.datahub.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,88 +21,88 @@ 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:
|
|
24
|
+
Requires-Dist: requests_file
|
|
25
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6
|
|
25
26
|
Requires-Dist: pydantic>=2.1.0
|
|
26
|
-
Requires-Dist:
|
|
27
|
+
Requires-Dist: traitlets!=5.2.2
|
|
27
28
|
Requires-Dist: requests
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc10
|
|
29
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39
|
|
30
30
|
Requires-Dist: great-expectations<1.0.0,>=0.17.15
|
|
31
31
|
Provides-Extra: ignore
|
|
32
32
|
Provides-Extra: dev
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: types-click==0.1.12; extra == "dev"
|
|
34
|
+
Requires-Dist: types-PyYAML; extra == "dev"
|
|
35
|
+
Requires-Dist: jsonpickle; extra == "dev"
|
|
36
|
+
Requires-Dist: pydantic>=2.1.0; extra == "dev"
|
|
37
|
+
Requires-Dist: types-pytz; extra == "dev"
|
|
38
|
+
Requires-Dist: sqlalchemy-stubs; extra == "dev"
|
|
39
|
+
Requires-Dist: types-cachetools; extra == "dev"
|
|
36
40
|
Requires-Dist: types-six; extra == "dev"
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "dev"
|
|
39
|
-
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
|
|
40
|
-
Requires-Dist: types-requests; extra == "dev"
|
|
41
|
+
Requires-Dist: types-freezegun; extra == "dev"
|
|
41
42
|
Requires-Dist: mypy==1.17.1; extra == "dev"
|
|
43
|
+
Requires-Dist: coverage>=5.1; extra == "dev"
|
|
42
44
|
Requires-Dist: requests-mock; extra == "dev"
|
|
45
|
+
Requires-Dist: twine; extra == "dev"
|
|
43
46
|
Requires-Dist: types-python-dateutil; extra == "dev"
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
+
Requires-Dist: pytest-asyncio>=0.16.0; extra == "dev"
|
|
48
|
+
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "dev"
|
|
49
|
+
Requires-Dist: types-requests; extra == "dev"
|
|
47
50
|
Requires-Dist: deepdiff!=8.0.0; extra == "dev"
|
|
48
|
-
Requires-Dist: tox; extra == "dev"
|
|
49
|
-
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "dev"
|
|
50
|
-
Requires-Dist: types-setuptools; extra == "dev"
|
|
51
51
|
Requires-Dist: packaging; extra == "dev"
|
|
52
|
+
Requires-Dist: ruff==0.11.7; extra == "dev"
|
|
53
|
+
Requires-Dist: freezegun; extra == "dev"
|
|
54
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6; extra == "dev"
|
|
55
|
+
Requires-Dist: requests; extra == "dev"
|
|
52
56
|
Requires-Dist: pytest>=6.2.2; extra == "dev"
|
|
53
|
-
Requires-Dist:
|
|
57
|
+
Requires-Dist: requests_file; extra == "dev"
|
|
58
|
+
Requires-Dist: types-setuptools; extra == "dev"
|
|
54
59
|
Requires-Dist: types-dataclasses; extra == "dev"
|
|
55
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: types-toml; extra == "dev"
|
|
61
|
+
Requires-Dist: build; extra == "dev"
|
|
56
62
|
Requires-Dist: traitlets!=5.2.2; extra == "dev"
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist:
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist:
|
|
61
|
-
Requires-Dist: pydantic>=2.1.0; extra == "dev"
|
|
62
|
-
Requires-Dist: requests; extra == "dev"
|
|
63
|
-
Requires-Dist: types-cachetools; extra == "dev"
|
|
64
|
-
Requires-Dist: types-pytz; extra == "dev"
|
|
65
|
-
Requires-Dist: sqlalchemy-stubs; extra == "dev"
|
|
66
|
-
Requires-Dist: ruff==0.11.7; extra == "dev"
|
|
63
|
+
Requires-Dist: tox; extra == "dev"
|
|
64
|
+
Requires-Dist: types-tabulate; extra == "dev"
|
|
65
|
+
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
|
|
66
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "dev"
|
|
67
67
|
Provides-Extra: integration-tests
|
|
68
|
-
Requires-Dist:
|
|
69
|
-
Requires-Dist:
|
|
70
|
-
Requires-Dist:
|
|
68
|
+
Requires-Dist: types-click==0.1.12; extra == "integration-tests"
|
|
69
|
+
Requires-Dist: types-PyYAML; extra == "integration-tests"
|
|
70
|
+
Requires-Dist: jsonpickle; extra == "integration-tests"
|
|
71
|
+
Requires-Dist: pytest-docker>=1.1.0; extra == "integration-tests"
|
|
72
|
+
Requires-Dist: pydantic>=2.1.0; extra == "integration-tests"
|
|
73
|
+
Requires-Dist: types-pytz; extra == "integration-tests"
|
|
74
|
+
Requires-Dist: sqlalchemy-stubs; extra == "integration-tests"
|
|
75
|
+
Requires-Dist: types-cachetools; extra == "integration-tests"
|
|
71
76
|
Requires-Dist: types-six; extra == "integration-tests"
|
|
72
|
-
Requires-Dist:
|
|
73
|
-
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "integration-tests"
|
|
74
|
-
Requires-Dist: pytest-cov>=2.8.1; extra == "integration-tests"
|
|
75
|
-
Requires-Dist: types-requests; extra == "integration-tests"
|
|
77
|
+
Requires-Dist: types-freezegun; extra == "integration-tests"
|
|
76
78
|
Requires-Dist: mypy==1.17.1; extra == "integration-tests"
|
|
79
|
+
Requires-Dist: coverage>=5.1; extra == "integration-tests"
|
|
77
80
|
Requires-Dist: requests-mock; extra == "integration-tests"
|
|
81
|
+
Requires-Dist: twine; extra == "integration-tests"
|
|
78
82
|
Requires-Dist: types-python-dateutil; extra == "integration-tests"
|
|
79
|
-
Requires-Dist:
|
|
80
|
-
Requires-Dist:
|
|
81
|
-
Requires-Dist:
|
|
83
|
+
Requires-Dist: pytest-asyncio>=0.16.0; extra == "integration-tests"
|
|
84
|
+
Requires-Dist: acryl-datahub[testing-utils]==1.3.1.6; extra == "integration-tests"
|
|
85
|
+
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "integration-tests"
|
|
86
|
+
Requires-Dist: types-requests; extra == "integration-tests"
|
|
82
87
|
Requires-Dist: deepdiff!=8.0.0; extra == "integration-tests"
|
|
83
|
-
Requires-Dist: psycopg2-binary; extra == "integration-tests"
|
|
84
|
-
Requires-Dist: tox; extra == "integration-tests"
|
|
85
|
-
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "integration-tests"
|
|
86
|
-
Requires-Dist: pyspark; extra == "integration-tests"
|
|
87
|
-
Requires-Dist: types-setuptools; extra == "integration-tests"
|
|
88
88
|
Requires-Dist: packaging; extra == "integration-tests"
|
|
89
|
+
Requires-Dist: ruff==0.11.7; extra == "integration-tests"
|
|
90
|
+
Requires-Dist: freezegun; extra == "integration-tests"
|
|
91
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6; extra == "integration-tests"
|
|
92
|
+
Requires-Dist: requests; extra == "integration-tests"
|
|
89
93
|
Requires-Dist: pytest>=6.2.2; extra == "integration-tests"
|
|
90
|
-
Requires-Dist:
|
|
91
|
-
Requires-Dist:
|
|
94
|
+
Requires-Dist: requests_file; extra == "integration-tests"
|
|
95
|
+
Requires-Dist: types-setuptools; extra == "integration-tests"
|
|
92
96
|
Requires-Dist: types-dataclasses; extra == "integration-tests"
|
|
93
|
-
Requires-Dist:
|
|
97
|
+
Requires-Dist: types-toml; extra == "integration-tests"
|
|
98
|
+
Requires-Dist: pyspark; extra == "integration-tests"
|
|
99
|
+
Requires-Dist: psycopg2-binary; extra == "integration-tests"
|
|
100
|
+
Requires-Dist: build; extra == "integration-tests"
|
|
94
101
|
Requires-Dist: traitlets!=5.2.2; extra == "integration-tests"
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Requires-Dist:
|
|
97
|
-
Requires-Dist:
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist: pytest-docker>=1.1.0; extra == "integration-tests"
|
|
100
|
-
Requires-Dist: pydantic>=2.1.0; extra == "integration-tests"
|
|
101
|
-
Requires-Dist: requests; extra == "integration-tests"
|
|
102
|
-
Requires-Dist: types-cachetools; extra == "integration-tests"
|
|
103
|
-
Requires-Dist: types-pytz; extra == "integration-tests"
|
|
104
|
-
Requires-Dist: sqlalchemy-stubs; extra == "integration-tests"
|
|
105
|
-
Requires-Dist: ruff==0.11.7; extra == "integration-tests"
|
|
102
|
+
Requires-Dist: tox; extra == "integration-tests"
|
|
103
|
+
Requires-Dist: types-tabulate; extra == "integration-tests"
|
|
104
|
+
Requires-Dist: pytest-cov>=2.8.1; extra == "integration-tests"
|
|
105
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "integration-tests"
|
|
106
106
|
Dynamic: classifier
|
|
107
107
|
Dynamic: description
|
|
108
108
|
Dynamic: description-content-type
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: acryl-datahub-gx-plugin
|
|
3
|
-
Version: 1.3.1.
|
|
3
|
+
Version: 1.3.1.6
|
|
4
4
|
Summary: Datahub GX plugin to capture executions and send to Datahub
|
|
5
5
|
Home-page: https://docs.datahub.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,88 +21,88 @@ 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:
|
|
24
|
+
Requires-Dist: requests_file
|
|
25
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6
|
|
25
26
|
Requires-Dist: pydantic>=2.1.0
|
|
26
|
-
Requires-Dist:
|
|
27
|
+
Requires-Dist: traitlets!=5.2.2
|
|
27
28
|
Requires-Dist: requests
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc10
|
|
29
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39
|
|
30
30
|
Requires-Dist: great-expectations<1.0.0,>=0.17.15
|
|
31
31
|
Provides-Extra: ignore
|
|
32
32
|
Provides-Extra: dev
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: types-click==0.1.12; extra == "dev"
|
|
34
|
+
Requires-Dist: types-PyYAML; extra == "dev"
|
|
35
|
+
Requires-Dist: jsonpickle; extra == "dev"
|
|
36
|
+
Requires-Dist: pydantic>=2.1.0; extra == "dev"
|
|
37
|
+
Requires-Dist: types-pytz; extra == "dev"
|
|
38
|
+
Requires-Dist: sqlalchemy-stubs; extra == "dev"
|
|
39
|
+
Requires-Dist: types-cachetools; extra == "dev"
|
|
36
40
|
Requires-Dist: types-six; extra == "dev"
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "dev"
|
|
39
|
-
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
|
|
40
|
-
Requires-Dist: types-requests; extra == "dev"
|
|
41
|
+
Requires-Dist: types-freezegun; extra == "dev"
|
|
41
42
|
Requires-Dist: mypy==1.17.1; extra == "dev"
|
|
43
|
+
Requires-Dist: coverage>=5.1; extra == "dev"
|
|
42
44
|
Requires-Dist: requests-mock; extra == "dev"
|
|
45
|
+
Requires-Dist: twine; extra == "dev"
|
|
43
46
|
Requires-Dist: types-python-dateutil; extra == "dev"
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
+
Requires-Dist: pytest-asyncio>=0.16.0; extra == "dev"
|
|
48
|
+
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "dev"
|
|
49
|
+
Requires-Dist: types-requests; extra == "dev"
|
|
47
50
|
Requires-Dist: deepdiff!=8.0.0; extra == "dev"
|
|
48
|
-
Requires-Dist: tox; extra == "dev"
|
|
49
|
-
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "dev"
|
|
50
|
-
Requires-Dist: types-setuptools; extra == "dev"
|
|
51
51
|
Requires-Dist: packaging; extra == "dev"
|
|
52
|
+
Requires-Dist: ruff==0.11.7; extra == "dev"
|
|
53
|
+
Requires-Dist: freezegun; extra == "dev"
|
|
54
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6; extra == "dev"
|
|
55
|
+
Requires-Dist: requests; extra == "dev"
|
|
52
56
|
Requires-Dist: pytest>=6.2.2; extra == "dev"
|
|
53
|
-
Requires-Dist:
|
|
57
|
+
Requires-Dist: requests_file; extra == "dev"
|
|
58
|
+
Requires-Dist: types-setuptools; extra == "dev"
|
|
54
59
|
Requires-Dist: types-dataclasses; extra == "dev"
|
|
55
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: types-toml; extra == "dev"
|
|
61
|
+
Requires-Dist: build; extra == "dev"
|
|
56
62
|
Requires-Dist: traitlets!=5.2.2; extra == "dev"
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist:
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist:
|
|
61
|
-
Requires-Dist: pydantic>=2.1.0; extra == "dev"
|
|
62
|
-
Requires-Dist: requests; extra == "dev"
|
|
63
|
-
Requires-Dist: types-cachetools; extra == "dev"
|
|
64
|
-
Requires-Dist: types-pytz; extra == "dev"
|
|
65
|
-
Requires-Dist: sqlalchemy-stubs; extra == "dev"
|
|
66
|
-
Requires-Dist: ruff==0.11.7; extra == "dev"
|
|
63
|
+
Requires-Dist: tox; extra == "dev"
|
|
64
|
+
Requires-Dist: types-tabulate; extra == "dev"
|
|
65
|
+
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
|
|
66
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "dev"
|
|
67
67
|
Provides-Extra: integration-tests
|
|
68
|
-
Requires-Dist:
|
|
69
|
-
Requires-Dist:
|
|
70
|
-
Requires-Dist:
|
|
68
|
+
Requires-Dist: types-click==0.1.12; extra == "integration-tests"
|
|
69
|
+
Requires-Dist: types-PyYAML; extra == "integration-tests"
|
|
70
|
+
Requires-Dist: jsonpickle; extra == "integration-tests"
|
|
71
|
+
Requires-Dist: pytest-docker>=1.1.0; extra == "integration-tests"
|
|
72
|
+
Requires-Dist: pydantic>=2.1.0; extra == "integration-tests"
|
|
73
|
+
Requires-Dist: types-pytz; extra == "integration-tests"
|
|
74
|
+
Requires-Dist: sqlalchemy-stubs; extra == "integration-tests"
|
|
75
|
+
Requires-Dist: types-cachetools; extra == "integration-tests"
|
|
71
76
|
Requires-Dist: types-six; extra == "integration-tests"
|
|
72
|
-
Requires-Dist:
|
|
73
|
-
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "integration-tests"
|
|
74
|
-
Requires-Dist: pytest-cov>=2.8.1; extra == "integration-tests"
|
|
75
|
-
Requires-Dist: types-requests; extra == "integration-tests"
|
|
77
|
+
Requires-Dist: types-freezegun; extra == "integration-tests"
|
|
76
78
|
Requires-Dist: mypy==1.17.1; extra == "integration-tests"
|
|
79
|
+
Requires-Dist: coverage>=5.1; extra == "integration-tests"
|
|
77
80
|
Requires-Dist: requests-mock; extra == "integration-tests"
|
|
81
|
+
Requires-Dist: twine; extra == "integration-tests"
|
|
78
82
|
Requires-Dist: types-python-dateutil; extra == "integration-tests"
|
|
79
|
-
Requires-Dist:
|
|
80
|
-
Requires-Dist:
|
|
81
|
-
Requires-Dist:
|
|
83
|
+
Requires-Dist: pytest-asyncio>=0.16.0; extra == "integration-tests"
|
|
84
|
+
Requires-Dist: acryl-datahub[testing-utils]==1.3.1.6; extra == "integration-tests"
|
|
85
|
+
Requires-Dist: great-expectations<1.0.0,>=0.17.15; extra == "integration-tests"
|
|
86
|
+
Requires-Dist: types-requests; extra == "integration-tests"
|
|
82
87
|
Requires-Dist: deepdiff!=8.0.0; extra == "integration-tests"
|
|
83
|
-
Requires-Dist: psycopg2-binary; extra == "integration-tests"
|
|
84
|
-
Requires-Dist: tox; extra == "integration-tests"
|
|
85
|
-
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "integration-tests"
|
|
86
|
-
Requires-Dist: pyspark; extra == "integration-tests"
|
|
87
|
-
Requires-Dist: types-setuptools; extra == "integration-tests"
|
|
88
88
|
Requires-Dist: packaging; extra == "integration-tests"
|
|
89
|
+
Requires-Dist: ruff==0.11.7; extra == "integration-tests"
|
|
90
|
+
Requires-Dist: freezegun; extra == "integration-tests"
|
|
91
|
+
Requires-Dist: acryl-datahub[datahub-rest,sql-parser]==1.3.1.6; extra == "integration-tests"
|
|
92
|
+
Requires-Dist: requests; extra == "integration-tests"
|
|
89
93
|
Requires-Dist: pytest>=6.2.2; extra == "integration-tests"
|
|
90
|
-
Requires-Dist:
|
|
91
|
-
Requires-Dist:
|
|
94
|
+
Requires-Dist: requests_file; extra == "integration-tests"
|
|
95
|
+
Requires-Dist: types-setuptools; extra == "integration-tests"
|
|
92
96
|
Requires-Dist: types-dataclasses; extra == "integration-tests"
|
|
93
|
-
Requires-Dist:
|
|
97
|
+
Requires-Dist: types-toml; extra == "integration-tests"
|
|
98
|
+
Requires-Dist: pyspark; extra == "integration-tests"
|
|
99
|
+
Requires-Dist: psycopg2-binary; extra == "integration-tests"
|
|
100
|
+
Requires-Dist: build; extra == "integration-tests"
|
|
94
101
|
Requires-Dist: traitlets!=5.2.2; extra == "integration-tests"
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Requires-Dist:
|
|
97
|
-
Requires-Dist:
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist: pytest-docker>=1.1.0; extra == "integration-tests"
|
|
100
|
-
Requires-Dist: pydantic>=2.1.0; extra == "integration-tests"
|
|
101
|
-
Requires-Dist: requests; extra == "integration-tests"
|
|
102
|
-
Requires-Dist: types-cachetools; extra == "integration-tests"
|
|
103
|
-
Requires-Dist: types-pytz; extra == "integration-tests"
|
|
104
|
-
Requires-Dist: sqlalchemy-stubs; extra == "integration-tests"
|
|
105
|
-
Requires-Dist: ruff==0.11.7; extra == "integration-tests"
|
|
102
|
+
Requires-Dist: tox; extra == "integration-tests"
|
|
103
|
+
Requires-Dist: types-tabulate; extra == "integration-tests"
|
|
104
|
+
Requires-Dist: pytest-cov>=2.8.1; extra == "integration-tests"
|
|
105
|
+
Requires-Dist: sqlalchemy<2,>=1.4.39; extra == "integration-tests"
|
|
106
106
|
Dynamic: classifier
|
|
107
107
|
Dynamic: description
|
|
108
108
|
Dynamic: description-content-type
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
requests_file
|
|
2
|
+
acryl-datahub[datahub-rest,sql-parser]==1.3.1.6
|
|
2
3
|
pydantic>=2.1.0
|
|
3
|
-
|
|
4
|
+
traitlets!=5.2.2
|
|
4
5
|
requests
|
|
5
|
-
|
|
6
|
-
acryl-datahub[datahub-rest,sql-parser]==1.3.1.5rc10
|
|
6
|
+
sqlalchemy<2,>=1.4.39
|
|
7
7
|
great-expectations<1.0.0,>=0.17.15
|
|
8
8
|
|
|
9
9
|
[dev]
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
types-click==0.1.12
|
|
11
|
+
types-PyYAML
|
|
12
|
+
jsonpickle
|
|
13
|
+
pydantic>=2.1.0
|
|
14
|
+
types-pytz
|
|
15
|
+
sqlalchemy-stubs
|
|
16
|
+
types-cachetools
|
|
13
17
|
types-six
|
|
14
|
-
|
|
15
|
-
great-expectations<1.0.0,>=0.17.15
|
|
16
|
-
pytest-cov>=2.8.1
|
|
17
|
-
types-requests
|
|
18
|
+
types-freezegun
|
|
18
19
|
mypy==1.17.1
|
|
20
|
+
coverage>=5.1
|
|
19
21
|
requests-mock
|
|
22
|
+
twine
|
|
20
23
|
types-python-dateutil
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
pytest-asyncio>=0.16.0
|
|
25
|
+
great-expectations<1.0.0,>=0.17.15
|
|
26
|
+
types-requests
|
|
24
27
|
deepdiff!=8.0.0
|
|
25
|
-
tox
|
|
26
|
-
sqlalchemy<2,>=1.4.39
|
|
27
|
-
types-setuptools
|
|
28
28
|
packaging
|
|
29
|
+
ruff==0.11.7
|
|
30
|
+
freezegun
|
|
31
|
+
acryl-datahub[datahub-rest,sql-parser]==1.3.1.6
|
|
32
|
+
requests
|
|
29
33
|
pytest>=6.2.2
|
|
30
|
-
|
|
34
|
+
requests_file
|
|
35
|
+
types-setuptools
|
|
31
36
|
types-dataclasses
|
|
32
|
-
|
|
37
|
+
types-toml
|
|
38
|
+
build
|
|
33
39
|
traitlets!=5.2.2
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
pydantic>=2.1.0
|
|
39
|
-
requests
|
|
40
|
-
types-cachetools
|
|
41
|
-
types-pytz
|
|
42
|
-
sqlalchemy-stubs
|
|
43
|
-
ruff==0.11.7
|
|
40
|
+
tox
|
|
41
|
+
types-tabulate
|
|
42
|
+
pytest-cov>=2.8.1
|
|
43
|
+
sqlalchemy<2,>=1.4.39
|
|
44
44
|
|
|
45
45
|
[ignore]
|
|
46
46
|
|
|
47
47
|
[integration-tests]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
types-click==0.1.12
|
|
49
|
+
types-PyYAML
|
|
50
|
+
jsonpickle
|
|
51
|
+
pytest-docker>=1.1.0
|
|
52
|
+
pydantic>=2.1.0
|
|
53
|
+
types-pytz
|
|
54
|
+
sqlalchemy-stubs
|
|
55
|
+
types-cachetools
|
|
51
56
|
types-six
|
|
52
|
-
|
|
53
|
-
great-expectations<1.0.0,>=0.17.15
|
|
54
|
-
pytest-cov>=2.8.1
|
|
55
|
-
types-requests
|
|
57
|
+
types-freezegun
|
|
56
58
|
mypy==1.17.1
|
|
59
|
+
coverage>=5.1
|
|
57
60
|
requests-mock
|
|
61
|
+
twine
|
|
58
62
|
types-python-dateutil
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
pytest-asyncio>=0.16.0
|
|
64
|
+
acryl-datahub[testing-utils]==1.3.1.6
|
|
65
|
+
great-expectations<1.0.0,>=0.17.15
|
|
66
|
+
types-requests
|
|
62
67
|
deepdiff!=8.0.0
|
|
63
|
-
psycopg2-binary
|
|
64
|
-
tox
|
|
65
|
-
sqlalchemy<2,>=1.4.39
|
|
66
|
-
pyspark
|
|
67
|
-
types-setuptools
|
|
68
68
|
packaging
|
|
69
|
+
ruff==0.11.7
|
|
70
|
+
freezegun
|
|
71
|
+
acryl-datahub[datahub-rest,sql-parser]==1.3.1.6
|
|
72
|
+
requests
|
|
69
73
|
pytest>=6.2.2
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
requests_file
|
|
75
|
+
types-setuptools
|
|
72
76
|
types-dataclasses
|
|
73
|
-
|
|
77
|
+
types-toml
|
|
78
|
+
pyspark
|
|
79
|
+
psycopg2-binary
|
|
80
|
+
build
|
|
74
81
|
traitlets!=5.2.2
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
pytest-docker>=1.1.0
|
|
80
|
-
pydantic>=2.1.0
|
|
81
|
-
requests
|
|
82
|
-
types-cachetools
|
|
83
|
-
types-pytz
|
|
84
|
-
sqlalchemy-stubs
|
|
85
|
-
ruff==0.11.7
|
|
82
|
+
tox
|
|
83
|
+
types-tabulate
|
|
84
|
+
pytest-cov>=2.8.1
|
|
85
|
+
sqlalchemy<2,>=1.4.39
|
|
@@ -25,7 +25,10 @@ from great_expectations.data_context.types.resource_identifiers import (
|
|
|
25
25
|
ExpectationSuiteIdentifier,
|
|
26
26
|
ValidationResultIdentifier,
|
|
27
27
|
)
|
|
28
|
-
from great_expectations.execution_engine import
|
|
28
|
+
from great_expectations.execution_engine import (
|
|
29
|
+
PandasExecutionEngine,
|
|
30
|
+
SparkDFExecutionEngine,
|
|
31
|
+
)
|
|
29
32
|
from great_expectations.execution_engine.sqlalchemy_execution_engine import (
|
|
30
33
|
SqlAlchemyExecutionEngine,
|
|
31
34
|
)
|
|
@@ -586,16 +589,67 @@ class DataHubValidationAction(ValidationAction):
|
|
|
586
589
|
)
|
|
587
590
|
|
|
588
591
|
def get_dataset_partitions(self, batch_identifier, data_asset):
|
|
589
|
-
dataset_partitions
|
|
592
|
+
dataset_partitions: List[
|
|
593
|
+
Dict[str, Union[PartitionSpecClass, BatchSpec, str, None]]
|
|
594
|
+
] = []
|
|
590
595
|
|
|
591
596
|
logger.debug("Finding datasets being validated")
|
|
592
597
|
|
|
593
|
-
# for now, we support only v3-api and sqlalchemy execution engine and
|
|
598
|
+
# for now, we support only v3-api and sqlalchemy execution engine,Pandas engine and Spark engine
|
|
594
599
|
is_sql_alchemy = isinstance(data_asset, Validator) and (
|
|
595
600
|
isinstance(data_asset.execution_engine, SqlAlchemyExecutionEngine)
|
|
596
601
|
)
|
|
597
602
|
is_pandas = isinstance(data_asset.execution_engine, PandasExecutionEngine)
|
|
598
|
-
|
|
603
|
+
|
|
604
|
+
is_spark = isinstance(data_asset.execution_engine, SparkDFExecutionEngine)
|
|
605
|
+
|
|
606
|
+
if is_spark:
|
|
607
|
+
ge_batch_spec = data_asset.active_batch_spec
|
|
608
|
+
partitionSpec = None
|
|
609
|
+
batchSpecProperties = {
|
|
610
|
+
"data_asset_name": str(
|
|
611
|
+
data_asset.active_batch_definition.data_asset_name
|
|
612
|
+
),
|
|
613
|
+
"datasource_name": str(
|
|
614
|
+
data_asset.active_batch_definition.datasource_name
|
|
615
|
+
),
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
if isinstance(ge_batch_spec, RuntimeDataBatchSpec):
|
|
619
|
+
data_platform = self.get_platform_instance_spark(
|
|
620
|
+
data_asset.active_batch_definition.datasource_name
|
|
621
|
+
)
|
|
622
|
+
|
|
623
|
+
dataset_urn = builder.make_dataset_urn_with_platform_instance(
|
|
624
|
+
platform=(
|
|
625
|
+
data_platform
|
|
626
|
+
if self.platform_alias is None
|
|
627
|
+
else self.platform_alias
|
|
628
|
+
),
|
|
629
|
+
name=data_asset.active_batch_definition.data_asset_name,
|
|
630
|
+
platform_instance="",
|
|
631
|
+
env=self.env,
|
|
632
|
+
)
|
|
633
|
+
|
|
634
|
+
batchSpec = BatchSpec(
|
|
635
|
+
nativeBatchId=batch_identifier,
|
|
636
|
+
query="",
|
|
637
|
+
customProperties=batchSpecProperties,
|
|
638
|
+
)
|
|
639
|
+
dataset_partitions.append(
|
|
640
|
+
{
|
|
641
|
+
"dataset_urn": dataset_urn,
|
|
642
|
+
"partitionSpec": partitionSpec,
|
|
643
|
+
"batchSpec": batchSpec,
|
|
644
|
+
}
|
|
645
|
+
)
|
|
646
|
+
else:
|
|
647
|
+
warn(
|
|
648
|
+
"DataHubValidationAction does not recognize this GE batch spec type for SparkDFExecutionEngine- {batch_spec_type}. No action will be taken.".format(
|
|
649
|
+
batch_spec_type=type(ge_batch_spec)
|
|
650
|
+
)
|
|
651
|
+
)
|
|
652
|
+
elif is_sql_alchemy or is_pandas:
|
|
599
653
|
ge_batch_spec = data_asset.active_batch_spec
|
|
600
654
|
partitionSpec = None
|
|
601
655
|
batchSpecProperties = {
|
|
@@ -607,6 +661,7 @@ class DataHubValidationAction(ValidationAction):
|
|
|
607
661
|
),
|
|
608
662
|
}
|
|
609
663
|
sqlalchemy_uri = None
|
|
664
|
+
|
|
610
665
|
if is_sql_alchemy and isinstance(
|
|
611
666
|
data_asset.execution_engine.engine, Engine
|
|
612
667
|
):
|
|
@@ -627,7 +682,7 @@ class DataHubValidationAction(ValidationAction):
|
|
|
627
682
|
schema_name,
|
|
628
683
|
table_name,
|
|
629
684
|
self.env,
|
|
630
|
-
self.
|
|
685
|
+
self.get_platform_instance_sqlalchemy(
|
|
631
686
|
data_asset.active_batch_definition.datasource_name
|
|
632
687
|
),
|
|
633
688
|
self.exclude_dbname,
|
|
@@ -709,7 +764,7 @@ class DataHubValidationAction(ValidationAction):
|
|
|
709
764
|
None,
|
|
710
765
|
table,
|
|
711
766
|
self.env,
|
|
712
|
-
self.
|
|
767
|
+
self.get_platform_instance_sqlalchemy(
|
|
713
768
|
data_asset.active_batch_definition.datasource_name
|
|
714
769
|
),
|
|
715
770
|
self.exclude_dbname,
|
|
@@ -724,7 +779,7 @@ class DataHubValidationAction(ValidationAction):
|
|
|
724
779
|
}
|
|
725
780
|
)
|
|
726
781
|
elif isinstance(ge_batch_spec, RuntimeDataBatchSpec):
|
|
727
|
-
data_platform = self.
|
|
782
|
+
data_platform = self.get_platform_instance_sqlalchemy(
|
|
728
783
|
data_asset.active_batch_definition.datasource_name
|
|
729
784
|
)
|
|
730
785
|
dataset_urn = builder.make_dataset_urn_with_platform_instance(
|
|
@@ -758,14 +813,14 @@ class DataHubValidationAction(ValidationAction):
|
|
|
758
813
|
else:
|
|
759
814
|
# TODO - v2-spec - SqlAlchemyDataset support
|
|
760
815
|
warn(
|
|
761
|
-
"DataHubValidationAction does not recognize this GE data asset type - {asset_type}.
|
|
816
|
+
"DataHubValidationAction does not recognize this GE data asset type - {asset_type}.".format(
|
|
762
817
|
asset_type=type(data_asset)
|
|
763
818
|
)
|
|
764
819
|
)
|
|
765
820
|
|
|
766
821
|
return dataset_partitions
|
|
767
822
|
|
|
768
|
-
def
|
|
823
|
+
def get_platform_instance_sqlalchemy(self, datasource_name):
|
|
769
824
|
if self.platform_instance_map and datasource_name in self.platform_instance_map:
|
|
770
825
|
return self.platform_instance_map[datasource_name]
|
|
771
826
|
else:
|
|
@@ -774,6 +829,16 @@ class DataHubValidationAction(ValidationAction):
|
|
|
774
829
|
)
|
|
775
830
|
return None
|
|
776
831
|
|
|
832
|
+
def get_platform_instance_spark(self, datasource_name):
|
|
833
|
+
if self.platform_instance_map and datasource_name in self.platform_instance_map:
|
|
834
|
+
return self.platform_instance_map[datasource_name]
|
|
835
|
+
else:
|
|
836
|
+
warn(
|
|
837
|
+
f"Datasource {datasource_name} is not present in platform_instance_map. \
|
|
838
|
+
Data platform will be {datasource_name} by default "
|
|
839
|
+
)
|
|
840
|
+
return datasource_name
|
|
841
|
+
|
|
777
842
|
|
|
778
843
|
def parse_int_or_default(value, default_value=None):
|
|
779
844
|
if value is None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|