pvw-cli 1.0.8__py3-none-any.whl → 1.0.10__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.
Potentially problematic release.
This version of pvw-cli might be problematic. Click here for more details.
- purviewcli/__init__.py +1 -1
- purviewcli/cli/health.py +250 -0
- purviewcli/cli/search.py +201 -10
- purviewcli/cli/unified_catalog.py +678 -142
- purviewcli/cli/workflow.py +44 -4
- purviewcli/client/_health.py +192 -0
- purviewcli/client/_unified_catalog.py +728 -62
- purviewcli/client/_workflow.py +3 -3
- purviewcli/client/endpoint.py +21 -0
- purviewcli/client/sync_client.py +13 -8
- pvw_cli-1.0.10.dist-info/METADATA +888 -0
- {pvw_cli-1.0.8.dist-info → pvw_cli-1.0.10.dist-info}/RECORD +15 -13
- pvw_cli-1.0.8.dist-info/METADATA +0 -458
- {pvw_cli-1.0.8.dist-info → pvw_cli-1.0.10.dist-info}/WHEEL +0 -0
- {pvw_cli-1.0.8.dist-info → pvw_cli-1.0.10.dist-info}/entry_points.txt +0 -0
- {pvw_cli-1.0.8.dist-info → pvw_cli-1.0.10.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
purviewcli/__init__.py,sha256=
|
|
1
|
+
purviewcli/__init__.py,sha256=_I3tsbwtiNWMLdOPJucoN065O07-LzduqWuSZvMD_TU,414
|
|
2
2
|
purviewcli/__main__.py,sha256=n_PFo1PjW8L1OKCNLsW0vlVSo8tzac_saEYYLTu93iQ,372
|
|
3
3
|
purviewcli/cli/__init__.py,sha256=UGMctZaXXsV2l2ycnmhTgyksH81_JBQjAPq3oRF2Dqk,56
|
|
4
4
|
purviewcli/cli/account.py,sha256=YENHkBD0VREajDqtlkTJ-zUvq8aq7LF52HDSOSsgku8,7080
|
|
@@ -7,23 +7,25 @@ purviewcli/cli/collections.py,sha256=cuSp-XiONXyXWHuUGrDYL462j7WNYRF08mU99gPQlg8
|
|
|
7
7
|
purviewcli/cli/domain.py,sha256=zI7YPhcCa4u4MIwnWHQPngTUCKOs6C_rEkdpW-Kl6hM,20897
|
|
8
8
|
purviewcli/cli/entity.py,sha256=ZEm-j9BoqFTjkmdm0IftEyn7XGs_W-1LY9pQ0oQgrmQ,87860
|
|
9
9
|
purviewcli/cli/glossary.py,sha256=Lt4ifyESuuaZLOzssv4GcQEO2AQKYS8Zy8L9UFfdglU,25696
|
|
10
|
+
purviewcli/cli/health.py,sha256=1-0T1pi9Vo6TXgf17vHmyUPah2o-IFnPf8x0aCi3PP4,10547
|
|
10
11
|
purviewcli/cli/insight.py,sha256=Kevqla6iZ7hPgb-gIWQiXSl2er-N0-Z7Q--IH1icWbs,3853
|
|
11
12
|
purviewcli/cli/lineage.py,sha256=J7_KSwtdElWc2N5i5l1YBP6QzaWrqP6nnPrjDKzVEkE,21356
|
|
12
13
|
purviewcli/cli/management.py,sha256=ArSN7ADWMKUJ-fVYjPiuab4g666GQUmxU2WZov3JxzI,7886
|
|
13
14
|
purviewcli/cli/policystore.py,sha256=Xj3Yx6kNt9W8v577x2iacqSlPatR6AuFfMBpjtHTj1E,4439
|
|
14
15
|
purviewcli/cli/relationship.py,sha256=Ky4klI-clKh6sRK7bsI7SwgtVrpo1ljegVyrbqjkeOY,2682
|
|
15
16
|
purviewcli/cli/scan.py,sha256=91iKDH8iVNJKndJAisrKx3J4HRoPH2qfmxguLZH3xHY,13807
|
|
16
|
-
purviewcli/cli/search.py,sha256=
|
|
17
|
+
purviewcli/cli/search.py,sha256=B0Ae3-9JCTKICOkJrYS29tMiFTuLJzlx0ISW_23OHF0,13599
|
|
17
18
|
purviewcli/cli/share.py,sha256=QRZhHM59RxdYqXOjSYLfVRZmjwMg4Y-bWxMSQVTQiIE,20197
|
|
18
19
|
purviewcli/cli/types.py,sha256=zo_8rAqDQ1vqi5y-dBh_sVY6i16UaJLLx_vBJBfZrrw,23729
|
|
19
|
-
purviewcli/cli/unified_catalog.py,sha256
|
|
20
|
-
purviewcli/cli/workflow.py,sha256=
|
|
20
|
+
purviewcli/cli/unified_catalog.py,sha256=N22rgUA2V36lxX1iWxqY7o5zYz5arYza9jALWn1ce-8,44668
|
|
21
|
+
purviewcli/cli/workflow.py,sha256=wZj5p9fwiPiftKQwGqnn3asAqKuLhYvXRNDcpJQr8WY,14714
|
|
21
22
|
purviewcli/client/__init__.py,sha256=qjhTkXkgxlNUY3R1HkrT_Znt03-2d8JDolPVOeVv2xI,37
|
|
22
23
|
purviewcli/client/_account.py,sha256=5lacA7vvjGBLHUDRjFR7B5E8eN6T07rctVDRXR9JFTY,12397
|
|
23
24
|
purviewcli/client/_collections.py,sha256=17ma6aD6gftIe-Nhwy96TPE42O6qp0hmw84xei4VPpo,12101
|
|
24
25
|
purviewcli/client/_domain.py,sha256=Yt4RsIoGWz6ND9Ii4CtoGM6leEAL_KNXYcp6AK9KMqs,3744
|
|
25
26
|
purviewcli/client/_entity.py,sha256=6yU_j0RSGUF-xzzOhLaensm6ulkmrQPWkSar6pycC04,20601
|
|
26
27
|
purviewcli/client/_glossary.py,sha256=7kB3RXVOCCR1RGlaALmr_BwN6S76-xCoyVqD5ZMzt-k,20985
|
|
28
|
+
purviewcli/client/_health.py,sha256=bKX2PChw2OB2kD_ZEfWlDxc093qQX3ai31YCQQ2VaKg,5921
|
|
27
29
|
purviewcli/client/_insight.py,sha256=2KX6dVAkyFFMLuQ02Ko2J7WhARKlCLhSgtFkjFJxZ7c,16031
|
|
28
30
|
purviewcli/client/_lineage.py,sha256=z-yckIduq4Ed9EXTWe-2hqBvl37t5yl87wzVPD_c3y0,14633
|
|
29
31
|
purviewcli/client/_management.py,sha256=2_ZXRSeEzGuHv1muUbn8mQb07enYYuHPI3NskIHIVbk,19549
|
|
@@ -33,13 +35,13 @@ purviewcli/client/_scan.py,sha256=2atEBD-kKWtFuBSWh2P0cwp42gfg7qgwWq-072QZMs4,15
|
|
|
33
35
|
purviewcli/client/_search.py,sha256=vUDgjZtnNkHaCqsCXPp1Drq9Kknrkid17RNSXZhi1yw,11890
|
|
34
36
|
purviewcli/client/_share.py,sha256=vKENIhePuzi3WQazNfv5U9y-6yxRk222zrFA-SGh1pc,10494
|
|
35
37
|
purviewcli/client/_types.py,sha256=ONa3wh1F02QOVy51UGq54121TkqRcWczdXIvNqPIFU0,15454
|
|
36
|
-
purviewcli/client/_unified_catalog.py,sha256=
|
|
37
|
-
purviewcli/client/_workflow.py,sha256=
|
|
38
|
+
purviewcli/client/_unified_catalog.py,sha256=RlpcoCFOiD1dwMKMuY0Gm0qhn9ystyyJDc3Mo1hF-nc,36819
|
|
39
|
+
purviewcli/client/_workflow.py,sha256=po5lomq07s3d7IAzZ5ved5JO6SsBU_JUA4lQSObdJR4,17904
|
|
38
40
|
purviewcli/client/api_client.py,sha256=ZLpNdItu8H2Rfj0HCud2A67Gml7YCS5ZuhR5lrR0r5g,22637
|
|
39
41
|
purviewcli/client/business_rules.py,sha256=VR4QqOE1Pg0nFjqAE-zbt-KqIenvzImLU-TBLki9bYc,27560
|
|
40
42
|
purviewcli/client/config.py,sha256=pQIA168XxeddTSaZJ5qXI7KolIrLqDyBTgbILdDzEs0,7963
|
|
41
43
|
purviewcli/client/data_quality.py,sha256=lAb-ma5MY2nyY4Dq8Q5wN9wzY0J9FikiQN8jPO2u6VU,14988
|
|
42
|
-
purviewcli/client/endpoint.py,sha256=
|
|
44
|
+
purviewcli/client/endpoint.py,sha256=DWCXOkzQWIfhJKmEZEGRCw3PZgBkB0okr3SGa34tmAY,4009
|
|
43
45
|
purviewcli/client/endpoints.py,sha256=GcY4ygmBQ2h14uY3uXcyJofmlK0ACCjl7uR33QDaO2w,27066
|
|
44
46
|
purviewcli/client/exceptions.py,sha256=3UA6wUa-SLxfhGvkdOgJouvOJGulvG1zt6eRN_4imsg,1244
|
|
45
47
|
purviewcli/client/lineage_visualization.py,sha256=rFKr5cYDauwg4QEHKI7kkqKdHQKgMG6CSUPOmhAz3fI,29644
|
|
@@ -48,11 +50,11 @@ purviewcli/client/rate_limiter.py,sha256=wn9iUrL79oq3s7nBo2shsAtiiLgH0Zbb0mzHXXZ
|
|
|
48
50
|
purviewcli/client/retry_handler.py,sha256=eMxtDTUYsa4_BgAsnE1MPjitnYqCQddNKwnNTTk1w6Q,3960
|
|
49
51
|
purviewcli/client/scanning_operations.py,sha256=qPZGuVVbi1cV1Z-K_WKZ-Up3vlk6O8hGArsljfWpZ_Y,22304
|
|
50
52
|
purviewcli/client/settings.py,sha256=nYdnYurTZsgv9vcgljnzVxLPtYVl9q6IplqOzi1aRvI,27
|
|
51
|
-
purviewcli/client/sync_client.py,sha256=
|
|
53
|
+
purviewcli/client/sync_client.py,sha256=gwCqesJTNaXn1Q-j57O95R9mn3fIOhdP4sc8jBaBcYw,9493
|
|
52
54
|
purviewcli/plugins/__init__.py,sha256=rpt3OhFt_wSE_o8Ga8AXvw1pqkdBxLmjrhYtE_-LuJo,29
|
|
53
55
|
purviewcli/plugins/plugin_system.py,sha256=C-_dL4FUj90o1JS7Saxkpov6fz0GIF5PFhZTYwqBkWE,26774
|
|
54
|
-
pvw_cli-1.0.
|
|
55
|
-
pvw_cli-1.0.
|
|
56
|
-
pvw_cli-1.0.
|
|
57
|
-
pvw_cli-1.0.
|
|
58
|
-
pvw_cli-1.0.
|
|
56
|
+
pvw_cli-1.0.10.dist-info/METADATA,sha256=4eRRPzIM5h-0dfRwUBLxLUaQpeG8ft258So4TBLxk8c,28082
|
|
57
|
+
pvw_cli-1.0.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
58
|
+
pvw_cli-1.0.10.dist-info/entry_points.txt,sha256=VI6AAbc6sWahOCX7sn_lhJIr9OiJM0pHF7rmw1YVGlE,82
|
|
59
|
+
pvw_cli-1.0.10.dist-info/top_level.txt,sha256=LrADzPoKwF1xY0pGKpWauyOVruHCIWKCkT7cwIl6IuI,11
|
|
60
|
+
pvw_cli-1.0.10.dist-info/RECORD,,
|
pvw_cli-1.0.8.dist-info/METADATA
DELETED
|
@@ -1,458 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: pvw-cli
|
|
3
|
-
Version: 1.0.8
|
|
4
|
-
Summary: Microsoft Purview CLI with comprehensive automation capabilities
|
|
5
|
-
Author-email: AYOUB KEBAILI <keayoub@msn.com>
|
|
6
|
-
Maintainer-email: AYOUB KEBAILI <keayoub@msn.com>
|
|
7
|
-
License-Expression: MIT
|
|
8
|
-
Project-URL: Homepage, https://github.com/Keayoub/Purview_cli
|
|
9
|
-
Project-URL: Documentation, https://github.com/Keayoub/Purview_cli/wiki
|
|
10
|
-
Project-URL: Repository, https://github.com/Keayoub/Purview_cli.git
|
|
11
|
-
Project-URL: Bug Tracker, https://github.com/Keayoub/Purview_cli/issues
|
|
12
|
-
Project-URL: Source, https://github.com/Keayoub/Purview_cli
|
|
13
|
-
Keywords: azure,purview,cli,data,catalog,governance,automation,pvw
|
|
14
|
-
Classifier: Development Status :: 4 - Beta
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: Intended Audience :: System Administrators
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
|
-
Classifier: Topic :: System :: Systems Administration
|
|
26
|
-
Classifier: Topic :: Database
|
|
27
|
-
Classifier: Topic :: Internet :: WWW/HTTP
|
|
28
|
-
Requires-Python: >=3.8
|
|
29
|
-
Description-Content-Type: text/markdown
|
|
30
|
-
Requires-Dist: click>=8.0.0
|
|
31
|
-
Requires-Dist: rich>=12.0.0
|
|
32
|
-
Requires-Dist: azure-identity>=1.12.0
|
|
33
|
-
Requires-Dist: azure-core>=1.24.0
|
|
34
|
-
Requires-Dist: requests>=2.28.0
|
|
35
|
-
Requires-Dist: pandas>=1.5.0
|
|
36
|
-
Requires-Dist: aiohttp>=3.8.0
|
|
37
|
-
Requires-Dist: pydantic<3.0.0,>=1.10.0
|
|
38
|
-
Requires-Dist: typer>=0.7.0
|
|
39
|
-
Requires-Dist: PyYAML>=6.0
|
|
40
|
-
Requires-Dist: python-dotenv>=0.19.0
|
|
41
|
-
Requires-Dist: asyncio-throttle>=1.0.0
|
|
42
|
-
Requires-Dist: tabulate>=0.9.0
|
|
43
|
-
Requires-Dist: cryptography<46.0.0,>=41.0.5
|
|
44
|
-
Provides-Extra: dev
|
|
45
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
46
|
-
Requires-Dist: pytest-asyncio>=0.20.0; extra == "dev"
|
|
47
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
48
|
-
Requires-Dist: black>=22.0.0; extra == "dev"
|
|
49
|
-
Requires-Dist: isort>=5.10.0; extra == "dev"
|
|
50
|
-
Requires-Dist: flake8>=5.0.0; extra == "dev"
|
|
51
|
-
Requires-Dist: mypy>=0.991; extra == "dev"
|
|
52
|
-
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
|
|
53
|
-
Provides-Extra: docs
|
|
54
|
-
Requires-Dist: sphinx>=5.0.0; extra == "docs"
|
|
55
|
-
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
|
|
56
|
-
Requires-Dist: myst-parser>=0.18.0; extra == "docs"
|
|
57
|
-
Provides-Extra: test
|
|
58
|
-
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
59
|
-
Requires-Dist: pytest-asyncio>=0.20.0; extra == "test"
|
|
60
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
61
|
-
Requires-Dist: requests-mock>=1.9.0; extra == "test"
|
|
62
|
-
|
|
63
|
-
# PURVIEW CLI v1.0.8 - Microsoft Purview Automation & Data Governance
|
|
64
|
-
|
|
65
|
-
> **LATEST UPDATE (September 2025):**
|
|
66
|
-
> - **🚀 MAJOR: Complete Microsoft Purview Unified Catalog (UC) Support** (see new `uc` command group)
|
|
67
|
-
> - Full governance domains, glossary terms, data products, OKRs, and critical data elements management
|
|
68
|
-
> - Feature parity with UnifiedCatalogPy project with enhanced CLI experience
|
|
69
|
-
> - Advanced Data Product Management (legacy `data-product` command group)
|
|
70
|
-
> - Enhanced Discovery Query/Search support
|
|
71
|
-
> - **Fixed all command examples to use correct `pvw` command**
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## What is PVW CLI?
|
|
76
|
-
|
|
77
|
-
**PVW CLI v1.0.8** is a modern, full-featured command-line interface and Python library for Microsoft Purview. It enables automation and management of *all major Purview APIs* including:
|
|
78
|
-
|
|
79
|
-
- **NEW Unified Catalog (UC) Management** - Complete governance domains, glossary terms, data products, OKRs, CDEs (NEW)
|
|
80
|
-
- Entity management (create, update, bulk, import/export)
|
|
81
|
-
- Glossary and term management
|
|
82
|
-
- Lineage operations
|
|
83
|
-
- Collection and account management
|
|
84
|
-
- Advanced search and discovery
|
|
85
|
-
- Data product management (legacy compatibility)
|
|
86
|
-
- Classification, label, and status management
|
|
87
|
-
- And more (see command reference)
|
|
88
|
-
|
|
89
|
-
The CLI is designed for data engineers, stewards, architects, and platform teams to automate, scale, and enhance their Microsoft Purview experience.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Quick Start (pip install)
|
|
94
|
-
|
|
95
|
-
Get started with PVW CLI in minutes:
|
|
96
|
-
|
|
97
|
-
1. **Install the CLI**
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
pip install pvw-cli
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
2. **Set Environment Variables**
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
set PURVIEW_ACCOUNT_NAME=your-purview-account
|
|
107
|
-
set AZURE_REGION= # (optional, e.g. 'china', 'usgov')
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
3. **Authenticate**
|
|
111
|
-
|
|
112
|
-
- Run `az login` (recommended)
|
|
113
|
-
- Or set Service Principal credentials as environment variables
|
|
114
|
-
|
|
115
|
-
4. **List Your Governance Domains (UC)**
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
pvw uc domain list
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
5. **Run Your First Search**
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
pvw search query --keywords="customer" --limit=5
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
6. **See All Commands**
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
pvw --help
|
|
131
|
-
pvw uc --help
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
For more advanced usage, see the sections below or visit the [documentation](https://pvw-cli.readthedocs.io/).
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Overview
|
|
139
|
-
|
|
140
|
-
**PVW CLI v1.0.8** is a modern command-line interface and Python library for Microsoft Purview, enabling:
|
|
141
|
-
|
|
142
|
-
- Advanced data catalog search and discovery
|
|
143
|
-
- Bulk import/export of entities, glossary terms, and lineage
|
|
144
|
-
- Real-time monitoring and analytics
|
|
145
|
-
- Automated governance and compliance
|
|
146
|
-
- Extensible plugin system
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## Installation
|
|
151
|
-
|
|
152
|
-
You can install PVW CLI in two ways:
|
|
153
|
-
|
|
154
|
-
1. **From PyPI (recommended for most users):**
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
pip install pvw-cli
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
2. **Directly from the GitHub repository (for latest/dev version):**
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
pip install git+https://github.com/Keayoub/Purview_cli.git
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Or for development (editable install):
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
git clone https://github.com/Keayoub/Purview_cli.git
|
|
170
|
-
cd Purview_cli
|
|
171
|
-
pip install -r requirements.txt
|
|
172
|
-
pip install -e .
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## Requirements
|
|
178
|
-
|
|
179
|
-
- Python 3.8+
|
|
180
|
-
- Azure CLI (`az login`) or Service Principal credentials
|
|
181
|
-
- Microsoft Purview account
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Getting Started
|
|
186
|
-
|
|
187
|
-
1. **Install**
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
pip install pvw-cli
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
2. **Set Environment Variables**
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
set PURVIEW_ACCOUNT_NAME=your-purview-account
|
|
197
|
-
set AZURE_REGION= # (optional, e.g. 'china', 'usgov')
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
3. **Authenticate**
|
|
201
|
-
|
|
202
|
-
- Azure CLI: `az login`
|
|
203
|
-
|
|
204
|
-
- Or set Service Principal credentials as environment variables
|
|
205
|
-
|
|
206
|
-
4. **Run a Command**
|
|
207
|
-
|
|
208
|
-
```bash
|
|
209
|
-
pvw search query --keywords="customer" --limit=5
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
5. **See All Commands**
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
pvw --help
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Authentication
|
|
221
|
-
|
|
222
|
-
PVW CLI supports multiple authentication methods for connecting to Microsoft Purview, powered by Azure Identity's `DefaultAzureCredential`. This allows you to use the CLI securely in local development, CI/CD, and production environments.
|
|
223
|
-
|
|
224
|
-
### 1. Azure CLI Authentication (Recommended for Interactive Use)
|
|
225
|
-
|
|
226
|
-
- Run `az login` to authenticate interactively with your Azure account.
|
|
227
|
-
- The CLI will automatically use your Azure CLI credentials.
|
|
228
|
-
|
|
229
|
-
### 2. Service Principal Authentication (Recommended for Automation/CI/CD)
|
|
230
|
-
|
|
231
|
-
Set the following environment variables before running any PVW CLI command:
|
|
232
|
-
|
|
233
|
-
- `AZURE_CLIENT_ID` (your Azure AD app registration/client ID)
|
|
234
|
-
- `AZURE_TENANT_ID` (your Azure AD tenant ID)
|
|
235
|
-
- `AZURE_CLIENT_SECRET` (your client secret)
|
|
236
|
-
|
|
237
|
-
**Example (Windows):**
|
|
238
|
-
|
|
239
|
-
```cmd
|
|
240
|
-
set AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
241
|
-
set AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
242
|
-
set AZURE_CLIENT_SECRET=your-client-secret
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
**Example (Linux/macOS):**
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
export AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
249
|
-
export AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
250
|
-
export AZURE_CLIENT_SECRET=your-client-secret
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### 3. Managed Identity (for Azure VMs, App Services, etc.)
|
|
254
|
-
|
|
255
|
-
If running in Azure with a managed identity, no extra configuration is needed. The CLI will use the managed identity automatically.
|
|
256
|
-
|
|
257
|
-
### 4. Visual Studio/VS Code Authentication
|
|
258
|
-
|
|
259
|
-
If you are signed in to Azure in Visual Studio or VS Code, `DefaultAzureCredential` can use those credentials as a fallback.
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
**Note:**
|
|
264
|
-
- The CLI will try all supported authentication methods in order. The first one that works will be used.
|
|
265
|
-
- For most automation and CI/CD scenarios, service principal authentication is recommended.
|
|
266
|
-
- For local development, Azure CLI authentication is easiest.
|
|
267
|
-
|
|
268
|
-
For more details, see the [Azure Identity documentation](https://learn.microsoft.com/en-us/python/api/overview/azure/identity-readme?view=azure-python).
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
## Search Command (Discovery Query API)
|
|
273
|
-
|
|
274
|
-
The PVW CLI provides advanced search using the latest Microsoft Purview Discovery Query API:
|
|
275
|
-
|
|
276
|
-
- Search for assets, tables, files, and more with flexible filters
|
|
277
|
-
- Use autocomplete and suggestion endpoints
|
|
278
|
-
- Perform faceted, time-based, and entity-type-specific queries
|
|
279
|
-
|
|
280
|
-
### CLI Usage Examples
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
# Basic search for assets with keyword 'customer'
|
|
284
|
-
pvw search query --keywords="customer" --limit=5
|
|
285
|
-
|
|
286
|
-
# Advanced search with classification filter
|
|
287
|
-
pvw search query --keywords="sales" --classification="PII" --objectType="Tables" --limit=10
|
|
288
|
-
|
|
289
|
-
# Autocomplete suggestions for partial keyword
|
|
290
|
-
pvw search autocomplete --keywords="ord" --limit=3
|
|
291
|
-
|
|
292
|
-
# Get search suggestions (fuzzy matching)
|
|
293
|
-
pvw search suggest --keywords="prod" --limit=2
|
|
294
|
-
|
|
295
|
-
# Faceted search with aggregation
|
|
296
|
-
pvw search query --keywords="finance" --facetFields="objectType,classification" --limit=5
|
|
297
|
-
|
|
298
|
-
# Browse entities by type and path
|
|
299
|
-
pvw search browse --entityType="Tables" --path="/root/finance" --limit=2
|
|
300
|
-
|
|
301
|
-
# Time-based search for assets created after a date
|
|
302
|
-
pvw search query --keywords="audit" --createdAfter="2024-01-01" --limit=1
|
|
303
|
-
|
|
304
|
-
# Entity type specific search
|
|
305
|
-
pvw search query --entityTypes="Files,Tables" --limit=2
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Python Usage Example
|
|
309
|
-
|
|
310
|
-
```python
|
|
311
|
-
from purviewcli.client._search import Search
|
|
312
|
-
|
|
313
|
-
search = Search()
|
|
314
|
-
args = {"--keywords": "customer", "--limit": 5}
|
|
315
|
-
search.searchQuery(args)
|
|
316
|
-
print(search.payload) # Shows the constructed search payload
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### Test Examples
|
|
320
|
-
|
|
321
|
-
See `tests/test_search_examples.py` for ready-to-run pytest examples covering all search scenarios:
|
|
322
|
-
|
|
323
|
-
- Basic query
|
|
324
|
-
- Advanced filter
|
|
325
|
-
- Autocomplete
|
|
326
|
-
- Suggest
|
|
327
|
-
- Faceted search
|
|
328
|
-
- Browse
|
|
329
|
-
- Time-based search
|
|
330
|
-
- Entity type search
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## Unified Catalog Management (NEW)
|
|
335
|
-
|
|
336
|
-
PVW CLI now includes comprehensive **Microsoft Purview Unified Catalog (UC)** support with the new `uc` command group. This provides complete management of modern data governance features including governance domains, glossary terms, data products, objectives (OKRs), and critical data elements.
|
|
337
|
-
|
|
338
|
-
**🎯 Feature Parity**: Full compatibility with [UnifiedCatalogPy](https://github.com/olafwrieden/unifiedcatalogpy) functionality.
|
|
339
|
-
|
|
340
|
-
See [`doc/commands/unified-catalog.md`](doc/commands/unified-catalog.md) for complete documentation and examples.
|
|
341
|
-
|
|
342
|
-
### Quick UC Examples
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
# Governance Domains
|
|
346
|
-
pvw uc domain list
|
|
347
|
-
pvw uc domain create --name "Finance" --description "Financial governance"
|
|
348
|
-
|
|
349
|
-
# Glossary Terms
|
|
350
|
-
pvw uc term list --domain-id "abc-123"
|
|
351
|
-
pvw uc term create --name "Customer" --domain-id "abc-123"
|
|
352
|
-
|
|
353
|
-
# Data Products
|
|
354
|
-
pvw uc dataproduct list --domain-id "abc-123"
|
|
355
|
-
pvw uc dataproduct create --name "Customer Analytics" --domain-id "abc-123"
|
|
356
|
-
|
|
357
|
-
# Objectives & Key Results (OKRs)
|
|
358
|
-
pvw uc objective list --domain-id "abc-123"
|
|
359
|
-
pvw uc objective create --definition "Improve data quality by 20%" --domain-id "abc-123"
|
|
360
|
-
|
|
361
|
-
# Critical Data Elements (CDEs)
|
|
362
|
-
pvw uc cde list --domain-id "abc-123"
|
|
363
|
-
pvw uc cde create --name "SSN" --data-type "String" --domain-id "abc-123"
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
## Data Product Management (Legacy)
|
|
369
|
-
|
|
370
|
-
PVW CLI also includes the original `data-product` command group for backward compatibility with traditional data product lifecycle management.
|
|
371
|
-
|
|
372
|
-
See [`doc/commands/data-product.md`](doc/commands/data-product.md) for full documentation and examples.
|
|
373
|
-
|
|
374
|
-
### Example Commands
|
|
375
|
-
|
|
376
|
-
```bash
|
|
377
|
-
# Create a data product
|
|
378
|
-
pvw data-product create --qualified-name="product.test.1" --name="Test Product" --description="A test data product"
|
|
379
|
-
|
|
380
|
-
# Add classification and label
|
|
381
|
-
pvw data-product add-classification --qualified-name="product.test.1" --classification="PII"
|
|
382
|
-
pvw data-product add-label --qualified-name="product.test.1" --label="gold"
|
|
383
|
-
|
|
384
|
-
# Link glossary term
|
|
385
|
-
pvw data-product link-glossary --qualified-name="product.test.1" --term="Customer"
|
|
386
|
-
|
|
387
|
-
# Set status and show lineage
|
|
388
|
-
pvw data-product set-status --qualified-name="product.test.1" --status="active"
|
|
389
|
-
pvw data-product show-lineage --qualified-name="product.test.1"
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
---
|
|
393
|
-
|
|
394
|
-
## Core Features
|
|
395
|
-
|
|
396
|
-
- **Unified Catalog (UC)**: Complete modern data governance (NEW)
|
|
397
|
-
```bash
|
|
398
|
-
# Manage governance domains, terms, data products, OKRs, CDEs
|
|
399
|
-
pvw uc domain list
|
|
400
|
-
pvw uc term create --name "Customer" --domain-id "abc-123"
|
|
401
|
-
pvw uc objective create --definition "Improve quality" --domain-id "abc-123"
|
|
402
|
-
```
|
|
403
|
-
- **Discovery Query/Search**: Flexible, advanced search for all catalog assets
|
|
404
|
-
- **Entity Management**: Bulk import/export, update, and validation
|
|
405
|
-
- **Glossary Management**: Import/export terms, assign terms in bulk
|
|
406
|
-
```bash
|
|
407
|
-
# List all terms in a glossary
|
|
408
|
-
pvw glossary list-terms --glossary-guid "your-glossary-guid"
|
|
409
|
-
|
|
410
|
-
# Create and manage glossary terms
|
|
411
|
-
pvw glossary create-term --payload-file term.json
|
|
412
|
-
```
|
|
413
|
-
- **Lineage Operations**: Lineage discovery, CSV-based bulk lineage
|
|
414
|
-
- **Monitoring & Analytics**: Real-time dashboards, metrics, and reporting
|
|
415
|
-
- **Plugin System**: Extensible with custom plugins
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
## API Coverage and Support
|
|
420
|
-
|
|
421
|
-
PVW CLI provides comprehensive automation for all major Microsoft Purview APIs, including the new **Unified Catalog APIs** for modern data governance.
|
|
422
|
-
|
|
423
|
-
### Supported API Groups
|
|
424
|
-
|
|
425
|
-
- **Unified Catalog**: Complete governance domains, glossary terms, data products, OKRs, CDEs management ✅
|
|
426
|
-
- **Data Map**: Full entity and lineage management ✅
|
|
427
|
-
- **Discovery**: Advanced search, browse, and query capabilities ✅
|
|
428
|
-
- **Collections**: Collection and account management ✅
|
|
429
|
-
- **Management**: Administrative operations ✅
|
|
430
|
-
- **Scan**: Data source scanning and configuration ✅
|
|
431
|
-
|
|
432
|
-
### API Version Support
|
|
433
|
-
|
|
434
|
-
- **Unified Catalog**: Latest UC API endpoints (September 2025)
|
|
435
|
-
- Data Map: **2024-03-01-preview** (default) or **2023-09-01** (stable)
|
|
436
|
-
- Collections: **2019-11-01-preview**
|
|
437
|
-
- Account: **2019-11-01-preview**
|
|
438
|
-
- Management: **2021-07-01**
|
|
439
|
-
- Scan: **2018-12-01-preview**
|
|
440
|
-
|
|
441
|
-
For the latest API documentation and updates, see:
|
|
442
|
-
- [Microsoft Purview REST API reference](https://learn.microsoft.com/en-us/rest/api/purview/)
|
|
443
|
-
- [Atlas 2.2 API documentation](https://learn.microsoft.com/en-us/purview/data-gov-api-atlas-2-2)
|
|
444
|
-
- [Azure Updates](https://azure.microsoft.com/updates/) for new releases
|
|
445
|
-
|
|
446
|
-
If you need a feature that is not yet implemented, please open an issue or check for updates in future releases.
|
|
447
|
-
|
|
448
|
-
---
|
|
449
|
-
|
|
450
|
-
## Contributing & Support
|
|
451
|
-
|
|
452
|
-
- [Documentation](https://github.com/Keayoub/Purview_cli/blob/main/doc/README.md)
|
|
453
|
-
- [Issue Tracker](https://github.com/Keayoub/Purview_cli/issues)
|
|
454
|
-
- [Email Support](mailto:keayoub@msn.com)
|
|
455
|
-
|
|
456
|
-
---
|
|
457
|
-
|
|
458
|
-
**PVW CLI empowers data engineers, stewards, and architects to automate, scale, and enhance their Microsoft Purview experience with powerful command-line and programmatic capabilities.**
|
|
File without changes
|
|
File without changes
|
|
File without changes
|