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.

Files changed (70) hide show
  1. {pvw-cli-1.0.6/pvw_cli.egg-info → pvw_cli-1.0.8}/PKG-INFO +121 -34
  2. pvw-cli-1.0.6/PKG-INFO → pvw_cli-1.0.8/README.md +84 -59
  3. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/__init__.py +2 -2
  4. pvw_cli-1.0.8/purviewcli/cli/__init__.py +5 -0
  5. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/cli.py +11 -13
  6. pvw_cli-1.0.8/purviewcli/cli/collections.py +502 -0
  7. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/entity.py +464 -0
  8. pvw_cli-1.0.8/purviewcli/cli/unified_catalog.py +766 -0
  9. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_search.py +7 -2
  10. pvw_cli-1.0.8/purviewcli/client/_unified_catalog.py +269 -0
  11. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/endpoint.py +13 -1
  12. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/sync_client.py +70 -13
  13. pvw-cli-1.0.6/README.md → pvw_cli-1.0.8/pvw_cli.egg-info/PKG-INFO +146 -24
  14. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/SOURCES.txt +1 -3
  15. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/requires.txt +2 -1
  16. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pyproject.toml +14 -10
  17. pvw-cli-1.0.6/purviewcli/cli/__init__.py +0 -5
  18. pvw-cli-1.0.6/purviewcli/cli/collections.py +0 -139
  19. pvw-cli-1.0.6/purviewcli/cli/data_product.py +0 -278
  20. pvw-cli-1.0.6/purviewcli/client/_data_product.py +0 -168
  21. pvw-cli-1.0.6/purviewcli/client/_unified_catalog.py +0 -318
  22. pvw-cli-1.0.6/setup.py +0 -76
  23. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/__main__.py +0 -0
  24. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/account.py +0 -0
  25. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/domain.py +0 -0
  26. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/glossary.py +0 -0
  27. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/insight.py +0 -0
  28. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/lineage.py +0 -0
  29. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/management.py +0 -0
  30. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/policystore.py +0 -0
  31. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/relationship.py +0 -0
  32. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/scan.py +0 -0
  33. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/search.py +0 -0
  34. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/share.py +0 -0
  35. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/types.py +0 -0
  36. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/cli/workflow.py +0 -0
  37. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/__init__.py +0 -0
  38. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_account.py +0 -0
  39. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_collections.py +0 -0
  40. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_domain.py +0 -0
  41. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_entity.py +0 -0
  42. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_glossary.py +0 -0
  43. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_insight.py +0 -0
  44. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_lineage.py +0 -0
  45. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_management.py +0 -0
  46. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_policystore.py +0 -0
  47. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_relationship.py +0 -0
  48. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_scan.py +0 -0
  49. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_share.py +0 -0
  50. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_types.py +0 -0
  51. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/_workflow.py +0 -0
  52. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/api_client.py +0 -0
  53. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/business_rules.py +0 -0
  54. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/config.py +0 -0
  55. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/data_quality.py +0 -0
  56. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/endpoints.py +0 -0
  57. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/exceptions.py +0 -0
  58. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/lineage_visualization.py +0 -0
  59. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/monitoring_dashboard.py +0 -0
  60. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/rate_limiter.py +0 -0
  61. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/retry_handler.py +0 -0
  62. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/scanning_operations.py +0 -0
  63. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/client/settings.py +0 -0
  64. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/plugins/__init__.py +0 -0
  65. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/purviewcli/plugins/plugin_system.py +0 -0
  66. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/dependency_links.txt +0 -0
  67. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/entry_points.txt +0 -0
  68. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/not-zip-safe +0 -0
  69. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/pvw_cli.egg-info/top_level.txt +0 -0
  70. {pvw-cli-1.0.6 → pvw_cli-1.0.8}/setup.cfg +0 -0
@@ -1,17 +1,15 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pvw-cli
3
- Version: 1.0.6
4
- Summary: Microsoft Purview CLI with comprehensive automation capabilities
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/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
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.0 - Microsoft Purview Automation & Data Governance
63
+ # PURVIEW CLI v1.0.8 - Microsoft Purview Automation & Data Governance
37
64
 
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).
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.0** 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:
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 (new, see below)
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. **Run Your First Search**
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
- 5. **See All Commands**
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.0** is a modern command-line interface and Python library for Microsoft Purview, enabling:
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
- ## Data Product Management (Advanced)
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
- PVW CLI now includes a powerful `data-product` command group for advanced data product lifecycle management. This is in addition to the CLI's support for all core Purview APIs.
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 Upcoming Features
419
+ ## API Coverage and Support
340
420
 
341
- PVW CLI aims to provide comprehensive automation for all major Microsoft Purview APIs. However, some features—such as governance domain CRUD operations—are not yet available via the public REST API as of June 2025.
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
- - For the latest API documentation and updates, see:
344
- - [Microsoft Purview REST API reference](https://learn.microsoft.com/en-us/rest/api/purview/)
345
- - [Atlas 2.2 API documentation](https://learn.microsoft.com/en-us/purview/data-gov-api-atlas-2-2)
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
- **Note:**
356
- - Domain management (create, update, delete) is not currently supported by the public API. The CLI will add support for these features as soon as Microsoft releases the necessary endpoints.
357
- - Please monitor the above links and [Azure Updates](https://azure.microsoft.com/updates/) for new API releases.
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 due to API limitations, please open an issue or check for updates in future releases.
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
- Metadata-Version: 2.1
2
- Name: pvw-cli
3
- Version: 1.0.6
4
- Summary: Microsoft Purview CLI with comprehensive automation capabilities
5
- Home-page: https://github.com/Keayoub/Purview_cli
6
- Author: Ayoub KEBAILI
7
- Author-email: AYOUB KEBAILI <keayoub@msn.com>
8
- Maintainer-email: AYOUB KEBAILI <keayoub@msn.com>
9
- License: MIT
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.0** 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:
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 (new, see below)
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. **Run Your First Search**
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
- 5. **See All Commands**
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.0** is a modern command-line interface and Python library for Microsoft Purview, enabling:
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
- ## Data Product Management (Advanced)
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 now includes a powerful `data-product` command group for advanced data product lifecycle management. This is in addition to the CLI's support for all core Purview APIs.
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 Upcoming Features
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
- PVW CLI aims to provide comprehensive automation for all major Microsoft Purview APIs. However, some features—such as governance domain CRUD operations—are not yet available via the public REST API as of June 2025.
361
+ ### Supported API Groups
342
362
 
343
- - For the latest API documentation and updates, see:
344
- - [Microsoft Purview REST API reference](https://learn.microsoft.com/en-us/rest/api/purview/)
345
- - [Atlas 2.2 API documentation](https://learn.microsoft.com/en-us/purview/data-gov-api-atlas-2-2)
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
- **Note:**
356
- - Domain management (create, update, delete) is not currently supported by the public API. The CLI will add support for these features as soon as Microsoft releases the necessary endpoints.
357
- - Please monitor the above links and [Azure Updates](https://azure.microsoft.com/updates/) for new API releases.
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 due to API limitations, please open an issue or check for updates in future releases.
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
 
@@ -1,4 +1,4 @@
1
- __version__ = "1.0.6"
1
+ __version__ = "1.0.8"
2
2
 
3
3
  # Import main client modules
4
4
  from .client import *
@@ -23,5 +23,5 @@ __all__ = [
23
23
  "insight",
24
24
  "share",
25
25
  "collections",
26
- "data_product",
26
+ "uc",
27
27
  ]
@@ -0,0 +1,5 @@
1
+ from .unified_catalog import uc
2
+
3
+ __all__ = [
4
+ "uc",
5
+ ]
@@ -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 .data_product import data_product
115
+ from .unified_catalog import uc
110
116
 
111
- main_group.add_command(data_product)
117
+ main_group.add_command(uc) # Main Unified Catalog command
112
118
  except ImportError as e:
113
- console.print(f"[yellow]⚠ Could not import data_product CLI module: {e}[/yellow]")
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.option("--version", is_flag=True, help="Show the current version and exit.")
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, version, profile, account_name, endpoint, token, debug, mock):
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: