pvw-cli 1.0.6__tar.gz → 1.0.8__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.
Potentially problematic release.
This version of pvw-cli might be problematic. Click here for more details.
- {pvw-cli-1.0.6/pvw_cli.egg-info → pvw_cli-1.0.8}/PKG-INFO +121 -34
- pvw-cli-1.0.6/PKG-INFO → pvw_cli-1.0.8/README.md +84 -59
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/__init__.py +2 -2
- pvw_cli-1.0.8/purviewcli/cli/__init__.py +5 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/cli.py +11 -13
- pvw_cli-1.0.8/purviewcli/cli/collections.py +502 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/entity.py +464 -0
- pvw_cli-1.0.8/purviewcli/cli/unified_catalog.py +766 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_search.py +7 -2
- pvw_cli-1.0.8/purviewcli/client/_unified_catalog.py +269 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/endpoint.py +13 -1
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/sync_client.py +70 -13
- pvw-cli-1.0.6/README.md → pvw_cli-1.0.8/pvw_cli.egg-info/PKG-INFO +146 -24
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/SOURCES.txt +1 -3
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/requires.txt +2 -1
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pyproject.toml +14 -10
- pvw-cli-1.0.6/purviewcli/cli/__init__.py +0 -5
- pvw-cli-1.0.6/purviewcli/cli/collections.py +0 -139
- pvw-cli-1.0.6/purviewcli/cli/data_product.py +0 -278
- pvw-cli-1.0.6/purviewcli/client/_data_product.py +0 -168
- pvw-cli-1.0.6/purviewcli/client/_unified_catalog.py +0 -318
- pvw-cli-1.0.6/setup.py +0 -76
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/__main__.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/account.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/domain.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/glossary.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/insight.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/lineage.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/management.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/policystore.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/relationship.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/scan.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/search.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/share.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/types.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/workflow.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/__init__.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_account.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_collections.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_domain.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_entity.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_glossary.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_insight.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_lineage.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_management.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_policystore.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_relationship.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_scan.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_share.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_types.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_workflow.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/api_client.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/business_rules.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/config.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/data_quality.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/endpoints.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/exceptions.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/lineage_visualization.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/monitoring_dashboard.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/rate_limiter.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/retry_handler.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/scanning_operations.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/settings.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/plugins/__init__.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/plugins/plugin_system.py +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/dependency_links.txt +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/entry_points.txt +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/not-zip-safe +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/top_level.txt +0 -0
- {pvw-cli-1.0.6 → pvw_cli-1.0.8}/setup.cfg +0 -0
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pvw-cli
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary:
|
|
5
|
-
Home-page: https://github.com/Keayoub/Purview_cli
|
|
6
|
-
Author: Ayoub KEBAILI
|
|
3
|
+
Version: 1.0.8
|
|
4
|
+
Summary: Microsoft Purview CLI with comprehensive automation capabilities
|
|
7
5
|
Author-email: AYOUB KEBAILI <keayoub@msn.com>
|
|
8
6
|
Maintainer-email: AYOUB KEBAILI <keayoub@msn.com>
|
|
9
|
-
License: MIT
|
|
10
|
-
Project-URL: Homepage, https://github.com/
|
|
11
|
-
Project-URL: Documentation, https://
|
|
12
|
-
Project-URL: Repository, https://github.com/
|
|
13
|
-
Project-URL: Bug Tracker, https://github.com/
|
|
14
|
-
Project-URL:
|
|
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
|
|
15
13
|
Keywords: azure,purview,cli,data,catalog,governance,automation,pvw
|
|
16
14
|
Classifier: Development Status :: 4 - Beta
|
|
17
15
|
Classifier: Intended Audience :: Developers
|
|
@@ -29,28 +27,62 @@ Classifier: Topic :: Database
|
|
|
29
27
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
30
28
|
Requires-Python: >=3.8
|
|
31
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
|
|
32
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"
|
|
33
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"
|
|
34
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"
|
|
35
62
|
|
|
36
|
-
# PURVIEW CLI v1.0.
|
|
63
|
+
# PURVIEW CLI v1.0.8 - Microsoft Purview Automation & Data Governance
|
|
37
64
|
|
|
38
|
-
> **LATEST UPDATE (
|
|
39
|
-
> -
|
|
40
|
-
> -
|
|
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**
|
|
41
72
|
|
|
42
73
|
---
|
|
43
74
|
|
|
44
75
|
## What is PVW CLI?
|
|
45
76
|
|
|
46
|
-
**PVW CLI v1.0.
|
|
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:
|
|
47
78
|
|
|
79
|
+
- **NEW Unified Catalog (UC) Management** - Complete governance domains, glossary terms, data products, OKRs, CDEs (NEW)
|
|
48
80
|
- Entity management (create, update, bulk, import/export)
|
|
49
81
|
- Glossary and term management
|
|
50
82
|
- Lineage operations
|
|
51
83
|
- Collection and account management
|
|
52
84
|
- Advanced search and discovery
|
|
53
|
-
- Data product management (
|
|
85
|
+
- Data product management (legacy compatibility)
|
|
54
86
|
- Classification, label, and status management
|
|
55
87
|
- And more (see command reference)
|
|
56
88
|
|
|
@@ -80,16 +112,23 @@ Get started with PVW CLI in minutes:
|
|
|
80
112
|
- Run `az login` (recommended)
|
|
81
113
|
- Or set Service Principal credentials as environment variables
|
|
82
114
|
|
|
83
|
-
4. **
|
|
115
|
+
4. **List Your Governance Domains (UC)**
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
pvw uc domain list
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
5. **Run Your First Search**
|
|
84
122
|
|
|
85
123
|
```bash
|
|
86
124
|
pvw search query --keywords="customer" --limit=5
|
|
87
125
|
```
|
|
88
126
|
|
|
89
|
-
|
|
127
|
+
6. **See All Commands**
|
|
90
128
|
|
|
91
129
|
```bash
|
|
92
130
|
pvw --help
|
|
131
|
+
pvw uc --help
|
|
93
132
|
```
|
|
94
133
|
|
|
95
134
|
For more advanced usage, see the sections below or visit the [documentation](https://pvw-cli.readthedocs.io/).
|
|
@@ -98,7 +137,7 @@ For more advanced usage, see the sections below or visit the [documentation](htt
|
|
|
98
137
|
|
|
99
138
|
## Overview
|
|
100
139
|
|
|
101
|
-
**PVW CLI v1.0.
|
|
140
|
+
**PVW CLI v1.0.8** is a modern command-line interface and Python library for Microsoft Purview, enabling:
|
|
102
141
|
|
|
103
142
|
- Advanced data catalog search and discovery
|
|
104
143
|
- Bulk import/export of entities, glossary terms, and lineage
|
|
@@ -292,9 +331,43 @@ See `tests/test_search_examples.py` for ready-to-run pytest examples covering al
|
|
|
292
331
|
|
|
293
332
|
---
|
|
294
333
|
|
|
295
|
-
##
|
|
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"
|
|
296
352
|
|
|
297
|
-
|
|
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.
|
|
298
371
|
|
|
299
372
|
See [`doc/commands/data-product.md`](doc/commands/data-product.md) for full documentation and examples.
|
|
300
373
|
|
|
@@ -309,17 +382,24 @@ pvw data-product add-classification --qualified-name="product.test.1" --classifi
|
|
|
309
382
|
pvw data-product add-label --qualified-name="product.test.1" --label="gold"
|
|
310
383
|
|
|
311
384
|
# Link glossary term
|
|
312
|
-
data-product link-glossary --qualified-name="product.test.1" --term="Customer"
|
|
385
|
+
pvw data-product link-glossary --qualified-name="product.test.1" --term="Customer"
|
|
313
386
|
|
|
314
387
|
# Set status and show lineage
|
|
315
|
-
data-product set-status --qualified-name="product.test.1" --status="active"
|
|
316
|
-
data-product show-lineage --qualified-name="product.test.1"
|
|
388
|
+
pvw data-product set-status --qualified-name="product.test.1" --status="active"
|
|
389
|
+
pvw data-product show-lineage --qualified-name="product.test.1"
|
|
317
390
|
```
|
|
318
391
|
|
|
319
392
|
---
|
|
320
393
|
|
|
321
394
|
## Core Features
|
|
322
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
|
+
```
|
|
323
403
|
- **Discovery Query/Search**: Flexible, advanced search for all catalog assets
|
|
324
404
|
- **Entity Management**: Bulk import/export, update, and validation
|
|
325
405
|
- **Glossary Management**: Import/export terms, assign terms in bulk
|
|
@@ -336,27 +416,34 @@ data-product show-lineage --qualified-name="product.test.1"
|
|
|
336
416
|
|
|
337
417
|
---
|
|
338
418
|
|
|
339
|
-
## API Coverage and
|
|
419
|
+
## API Coverage and Support
|
|
340
420
|
|
|
341
|
-
PVW CLI
|
|
421
|
+
PVW CLI provides comprehensive automation for all major Microsoft Purview APIs, including the new **Unified Catalog APIs** for modern data governance.
|
|
342
422
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
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 ✅
|
|
346
431
|
|
|
347
432
|
### API Version Support
|
|
348
433
|
|
|
434
|
+
- **Unified Catalog**: Latest UC API endpoints (September 2025)
|
|
349
435
|
- Data Map: **2024-03-01-preview** (default) or **2023-09-01** (stable)
|
|
350
436
|
- Collections: **2019-11-01-preview**
|
|
351
437
|
- Account: **2019-11-01-preview**
|
|
352
438
|
- Management: **2021-07-01**
|
|
353
439
|
- Scan: **2018-12-01-preview**
|
|
354
440
|
|
|
355
|
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
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
|
|
358
445
|
|
|
359
|
-
If you need a feature that is not yet implemented
|
|
446
|
+
If you need a feature that is not yet implemented, please open an issue or check for updates in future releases.
|
|
360
447
|
|
|
361
448
|
---
|
|
362
449
|
|
|
@@ -1,56 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Project-URL: Homepage, https://github.com/your-org/pvw-cli
|
|
11
|
-
Project-URL: Documentation, https://pvw-cli.readthedocs.io/
|
|
12
|
-
Project-URL: Repository, https://github.com/your-org/pvw-cli.git
|
|
13
|
-
Project-URL: Bug Tracker, https://github.com/your-org/pvw-cli/issues
|
|
14
|
-
Project-URL: Changelog, https://github.com/your-org/pvw-cli/blob/main/CHANGELOG.md
|
|
15
|
-
Keywords: azure,purview,cli,data,catalog,governance,automation,pvw
|
|
16
|
-
Classifier: Development Status :: 4 - Beta
|
|
17
|
-
Classifier: Intended Audience :: Developers
|
|
18
|
-
Classifier: Intended Audience :: System Administrators
|
|
19
|
-
Classifier: Operating System :: OS Independent
|
|
20
|
-
Classifier: Programming Language :: Python :: 3
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
-
Classifier: Topic :: System :: Systems Administration
|
|
28
|
-
Classifier: Topic :: Database
|
|
29
|
-
Classifier: Topic :: Internet :: WWW/HTTP
|
|
30
|
-
Requires-Python: >=3.8
|
|
31
|
-
Description-Content-Type: text/markdown
|
|
32
|
-
Provides-Extra: dev
|
|
33
|
-
Provides-Extra: docs
|
|
34
|
-
Provides-Extra: test
|
|
35
|
-
|
|
36
|
-
# PURVIEW CLI v1.0.0 - Microsoft Purview Automation & Data Governance
|
|
37
|
-
|
|
38
|
-
> **LATEST UPDATE (June 2025):**
|
|
39
|
-
> - Major: Advanced Data Product Management (see new `data-product` command group)
|
|
40
|
-
> - Enhanced Discovery Query/Search support (see below for usage).
|
|
1
|
+
# PURVIEW CLI v1.0.8 - Microsoft Purview Automation & Data Governance
|
|
2
|
+
|
|
3
|
+
> **LATEST UPDATE (September 2025):**
|
|
4
|
+
> - **🚀 MAJOR: Complete Microsoft Purview Unified Catalog (UC) Support** (see new `uc` command group)
|
|
5
|
+
> - Full governance domains, glossary terms, data products, OKRs, and critical data elements management
|
|
6
|
+
> - Feature parity with UnifiedCatalogPy project with enhanced CLI experience
|
|
7
|
+
> - Advanced Data Product Management (legacy `data-product` command group)
|
|
8
|
+
> - Enhanced Discovery Query/Search support
|
|
9
|
+
> - **Fixed all command examples to use correct `pvw` command**
|
|
41
10
|
|
|
42
11
|
---
|
|
43
12
|
|
|
44
13
|
## What is PVW CLI?
|
|
45
14
|
|
|
46
|
-
**PVW CLI v1.0.
|
|
15
|
+
**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:
|
|
47
16
|
|
|
17
|
+
- **NEW Unified Catalog (UC) Management** - Complete governance domains, glossary terms, data products, OKRs, CDEs (NEW)
|
|
48
18
|
- Entity management (create, update, bulk, import/export)
|
|
49
19
|
- Glossary and term management
|
|
50
20
|
- Lineage operations
|
|
51
21
|
- Collection and account management
|
|
52
22
|
- Advanced search and discovery
|
|
53
|
-
- Data product management (
|
|
23
|
+
- Data product management (legacy compatibility)
|
|
54
24
|
- Classification, label, and status management
|
|
55
25
|
- And more (see command reference)
|
|
56
26
|
|
|
@@ -80,16 +50,23 @@ Get started with PVW CLI in minutes:
|
|
|
80
50
|
- Run `az login` (recommended)
|
|
81
51
|
- Or set Service Principal credentials as environment variables
|
|
82
52
|
|
|
83
|
-
4. **
|
|
53
|
+
4. **List Your Governance Domains (UC)**
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pvw uc domain list
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
5. **Run Your First Search**
|
|
84
60
|
|
|
85
61
|
```bash
|
|
86
62
|
pvw search query --keywords="customer" --limit=5
|
|
87
63
|
```
|
|
88
64
|
|
|
89
|
-
|
|
65
|
+
6. **See All Commands**
|
|
90
66
|
|
|
91
67
|
```bash
|
|
92
68
|
pvw --help
|
|
69
|
+
pvw uc --help
|
|
93
70
|
```
|
|
94
71
|
|
|
95
72
|
For more advanced usage, see the sections below or visit the [documentation](https://pvw-cli.readthedocs.io/).
|
|
@@ -98,7 +75,7 @@ For more advanced usage, see the sections below or visit the [documentation](htt
|
|
|
98
75
|
|
|
99
76
|
## Overview
|
|
100
77
|
|
|
101
|
-
**PVW CLI v1.0.
|
|
78
|
+
**PVW CLI v1.0.8** is a modern command-line interface and Python library for Microsoft Purview, enabling:
|
|
102
79
|
|
|
103
80
|
- Advanced data catalog search and discovery
|
|
104
81
|
- Bulk import/export of entities, glossary terms, and lineage
|
|
@@ -292,9 +269,43 @@ See `tests/test_search_examples.py` for ready-to-run pytest examples covering al
|
|
|
292
269
|
|
|
293
270
|
---
|
|
294
271
|
|
|
295
|
-
##
|
|
272
|
+
## Unified Catalog Management (NEW)
|
|
273
|
+
|
|
274
|
+
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.
|
|
275
|
+
|
|
276
|
+
**🎯 Feature Parity**: Full compatibility with [UnifiedCatalogPy](https://github.com/olafwrieden/unifiedcatalogpy) functionality.
|
|
277
|
+
|
|
278
|
+
See [`doc/commands/unified-catalog.md`](doc/commands/unified-catalog.md) for complete documentation and examples.
|
|
279
|
+
|
|
280
|
+
### Quick UC Examples
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Governance Domains
|
|
284
|
+
pvw uc domain list
|
|
285
|
+
pvw uc domain create --name "Finance" --description "Financial governance"
|
|
286
|
+
|
|
287
|
+
# Glossary Terms
|
|
288
|
+
pvw uc term list --domain-id "abc-123"
|
|
289
|
+
pvw uc term create --name "Customer" --domain-id "abc-123"
|
|
290
|
+
|
|
291
|
+
# Data Products
|
|
292
|
+
pvw uc dataproduct list --domain-id "abc-123"
|
|
293
|
+
pvw uc dataproduct create --name "Customer Analytics" --domain-id "abc-123"
|
|
294
|
+
|
|
295
|
+
# Objectives & Key Results (OKRs)
|
|
296
|
+
pvw uc objective list --domain-id "abc-123"
|
|
297
|
+
pvw uc objective create --definition "Improve data quality by 20%" --domain-id "abc-123"
|
|
298
|
+
|
|
299
|
+
# Critical Data Elements (CDEs)
|
|
300
|
+
pvw uc cde list --domain-id "abc-123"
|
|
301
|
+
pvw uc cde create --name "SSN" --data-type "String" --domain-id "abc-123"
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Data Product Management (Legacy)
|
|
296
307
|
|
|
297
|
-
PVW CLI
|
|
308
|
+
PVW CLI also includes the original `data-product` command group for backward compatibility with traditional data product lifecycle management.
|
|
298
309
|
|
|
299
310
|
See [`doc/commands/data-product.md`](doc/commands/data-product.md) for full documentation and examples.
|
|
300
311
|
|
|
@@ -309,17 +320,24 @@ pvw data-product add-classification --qualified-name="product.test.1" --classifi
|
|
|
309
320
|
pvw data-product add-label --qualified-name="product.test.1" --label="gold"
|
|
310
321
|
|
|
311
322
|
# Link glossary term
|
|
312
|
-
data-product link-glossary --qualified-name="product.test.1" --term="Customer"
|
|
323
|
+
pvw data-product link-glossary --qualified-name="product.test.1" --term="Customer"
|
|
313
324
|
|
|
314
325
|
# Set status and show lineage
|
|
315
|
-
data-product set-status --qualified-name="product.test.1" --status="active"
|
|
316
|
-
data-product show-lineage --qualified-name="product.test.1"
|
|
326
|
+
pvw data-product set-status --qualified-name="product.test.1" --status="active"
|
|
327
|
+
pvw data-product show-lineage --qualified-name="product.test.1"
|
|
317
328
|
```
|
|
318
329
|
|
|
319
330
|
---
|
|
320
331
|
|
|
321
332
|
## Core Features
|
|
322
333
|
|
|
334
|
+
- **Unified Catalog (UC)**: Complete modern data governance (NEW)
|
|
335
|
+
```bash
|
|
336
|
+
# Manage governance domains, terms, data products, OKRs, CDEs
|
|
337
|
+
pvw uc domain list
|
|
338
|
+
pvw uc term create --name "Customer" --domain-id "abc-123"
|
|
339
|
+
pvw uc objective create --definition "Improve quality" --domain-id "abc-123"
|
|
340
|
+
```
|
|
323
341
|
- **Discovery Query/Search**: Flexible, advanced search for all catalog assets
|
|
324
342
|
- **Entity Management**: Bulk import/export, update, and validation
|
|
325
343
|
- **Glossary Management**: Import/export terms, assign terms in bulk
|
|
@@ -336,27 +354,34 @@ data-product show-lineage --qualified-name="product.test.1"
|
|
|
336
354
|
|
|
337
355
|
---
|
|
338
356
|
|
|
339
|
-
## API Coverage and
|
|
357
|
+
## API Coverage and Support
|
|
358
|
+
|
|
359
|
+
PVW CLI provides comprehensive automation for all major Microsoft Purview APIs, including the new **Unified Catalog APIs** for modern data governance.
|
|
340
360
|
|
|
341
|
-
|
|
361
|
+
### Supported API Groups
|
|
342
362
|
|
|
343
|
-
-
|
|
344
|
-
|
|
345
|
-
|
|
363
|
+
- **Unified Catalog**: Complete governance domains, glossary terms, data products, OKRs, CDEs management ✅
|
|
364
|
+
- **Data Map**: Full entity and lineage management ✅
|
|
365
|
+
- **Discovery**: Advanced search, browse, and query capabilities ✅
|
|
366
|
+
- **Collections**: Collection and account management ✅
|
|
367
|
+
- **Management**: Administrative operations ✅
|
|
368
|
+
- **Scan**: Data source scanning and configuration ✅
|
|
346
369
|
|
|
347
370
|
### API Version Support
|
|
348
371
|
|
|
372
|
+
- **Unified Catalog**: Latest UC API endpoints (September 2025)
|
|
349
373
|
- Data Map: **2024-03-01-preview** (default) or **2023-09-01** (stable)
|
|
350
374
|
- Collections: **2019-11-01-preview**
|
|
351
375
|
- Account: **2019-11-01-preview**
|
|
352
376
|
- Management: **2021-07-01**
|
|
353
377
|
- Scan: **2018-12-01-preview**
|
|
354
378
|
|
|
355
|
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
379
|
+
For the latest API documentation and updates, see:
|
|
380
|
+
- [Microsoft Purview REST API reference](https://learn.microsoft.com/en-us/rest/api/purview/)
|
|
381
|
+
- [Atlas 2.2 API documentation](https://learn.microsoft.com/en-us/purview/data-gov-api-atlas-2-2)
|
|
382
|
+
- [Azure Updates](https://azure.microsoft.com/updates/) for new releases
|
|
358
383
|
|
|
359
|
-
If you need a feature that is not yet implemented
|
|
384
|
+
If you need a feature that is not yet implemented, please open an issue or check for updates in future releases.
|
|
360
385
|
|
|
361
386
|
---
|
|
362
387
|
|
|
@@ -18,6 +18,12 @@ from rich.console import Console
|
|
|
18
18
|
|
|
19
19
|
console = Console()
|
|
20
20
|
|
|
21
|
+
# Import version for the CLI
|
|
22
|
+
try:
|
|
23
|
+
from purviewcli import __version__
|
|
24
|
+
except ImportError:
|
|
25
|
+
__version__ = "unknown"
|
|
26
|
+
|
|
21
27
|
|
|
22
28
|
# ============================================================================
|
|
23
29
|
# INDIVIDUAL CLI MODULE REGISTRATION SYSTEM
|
|
@@ -106,11 +112,11 @@ def register_individual_cli_modules(main_group):
|
|
|
106
112
|
except ImportError as e:
|
|
107
113
|
console.print(f"[yellow]⚠ Could not import collections CLI module: {e}[/yellow]")
|
|
108
114
|
try:
|
|
109
|
-
from .
|
|
115
|
+
from .unified_catalog import uc
|
|
110
116
|
|
|
111
|
-
main_group.add_command(
|
|
117
|
+
main_group.add_command(uc) # Main Unified Catalog command
|
|
112
118
|
except ImportError as e:
|
|
113
|
-
console.print(f"[yellow]⚠ Could not import
|
|
119
|
+
console.print(f"[yellow]⚠ Could not import unified catalog (uc) CLI module: {e}[/yellow]")
|
|
114
120
|
try:
|
|
115
121
|
from .domain import domain
|
|
116
122
|
|
|
@@ -126,7 +132,7 @@ def register_individual_cli_modules(main_group):
|
|
|
126
132
|
|
|
127
133
|
|
|
128
134
|
@click.group()
|
|
129
|
-
@click.
|
|
135
|
+
@click.version_option(version=__version__, prog_name="pvw")
|
|
130
136
|
@click.option("--profile", help="Configuration profile to use")
|
|
131
137
|
@click.option("--account-name", help="Override Purview account name")
|
|
132
138
|
@click.option(
|
|
@@ -136,19 +142,11 @@ def register_individual_cli_modules(main_group):
|
|
|
136
142
|
@click.option("--debug", is_flag=True, help="Enable debug mode")
|
|
137
143
|
@click.option("--mock", is_flag=True, help="Mock mode - simulate commands without real API calls")
|
|
138
144
|
@click.pass_context
|
|
139
|
-
def main(ctx,
|
|
145
|
+
def main(ctx, profile, account_name, endpoint, token, debug, mock):
|
|
140
146
|
"""
|
|
141
147
|
Purview CLI with profile management and automation.
|
|
142
148
|
All command groups are registered as modular Click-based modules for full CLI visibility.
|
|
143
149
|
"""
|
|
144
|
-
if version:
|
|
145
|
-
try:
|
|
146
|
-
from purviewcli import __version__
|
|
147
|
-
|
|
148
|
-
click.echo(f"Purview CLI version: {__version__}")
|
|
149
|
-
except ImportError:
|
|
150
|
-
click.echo("Purview CLI version: unknown")
|
|
151
|
-
ctx.exit()
|
|
152
150
|
ctx.ensure_object(dict)
|
|
153
151
|
|
|
154
152
|
if debug:
|