pvw-cli 1.2.4__py3-none-any.whl → 1.2.5__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.

@@ -371,6 +371,80 @@ ENDPOINTS = {
371
371
  # Share analytics
372
372
  "get_share_analytics": "/sentShares/{sentShareId}/analytics",
373
373
  },
374
+ # ==================== UNIFIED CATALOG API ENDPOINTS ====================
375
+ # Current: Using /datagovernance/catalog/* endpoints (Working as of Oct 2025)
376
+ # Future: Microsoft announced new Unified Catalog API (2024-03-01-preview)
377
+ # https://learn.microsoft.com/en-us/rest/api/purview/unified-catalog-api-overview
378
+ # TODO: Monitor and migrate to new UC API when documentation is complete
379
+ # New API will cover: OKRs, Domains, CDEs, Data Products, Terms, Policies
380
+ # Roadmap: Data Assets and Critical Data Columns support
381
+ "unified_catalog": {
382
+ # Business domains
383
+ "list_domains": "/datagovernance/catalog/businessdomains",
384
+ "create_domain": "/datagovernance/catalog/businessdomains",
385
+ "get_domain": "/datagovernance/catalog/businessdomains/{domainId}",
386
+ "update_domain": "/datagovernance/catalog/businessdomains/{domainId}",
387
+ "delete_domain": "/datagovernance/catalog/businessdomains/{domainId}",
388
+ # Data products
389
+ "list_data_products": "/datagovernance/catalog/dataproducts",
390
+ "create_data_product": "/datagovernance/catalog/dataproducts",
391
+ "get_data_product": "/datagovernance/catalog/dataproducts/{productId}",
392
+ "update_data_product": "/datagovernance/catalog/dataproducts/{productId}",
393
+ "delete_data_product": "/datagovernance/catalog/dataproducts/{productId}",
394
+ # Data product relationships
395
+ "create_data_product_relationship": "/datagovernance/catalog/dataproducts/{productId}/relationships",
396
+ "list_data_product_relationships": "/datagovernance/catalog/dataproducts/{productId}/relationships",
397
+ "delete_data_product_relationship": "/datagovernance/catalog/dataproducts/{productId}/relationships",
398
+ # Data product query
399
+ "query_data_products": "/datagovernance/catalog/dataproducts/query",
400
+ # Terms (UC specific)
401
+ "list_terms": "/datagovernance/catalog/terms",
402
+ "create_term": "/datagovernance/catalog/terms",
403
+ "get_term": "/datagovernance/catalog/terms/{termId}",
404
+ "update_term": "/datagovernance/catalog/terms/{termId}",
405
+ "delete_term": "/datagovernance/catalog/terms/{termId}",
406
+ # Terms query
407
+ "query_terms": "/datagovernance/catalog/terms/query",
408
+ # Objectives
409
+ "list_objectives": "/datagovernance/catalog/objectives",
410
+ "create_objective": "/datagovernance/catalog/objectives",
411
+ "get_objective": "/datagovernance/catalog/objectives/{objectiveId}",
412
+ "update_objective": "/datagovernance/catalog/objectives/{objectiveId}",
413
+ "delete_objective": "/datagovernance/catalog/objectives/{objectiveId}",
414
+ # Objectives query
415
+ "query_objectives": "/datagovernance/catalog/objectives/query",
416
+ # Critical Data Elements
417
+ "list_critical_data_elements": "/datagovernance/catalog/criticalDataElements",
418
+ "create_critical_data_element": "/datagovernance/catalog/criticalDataElements",
419
+ "get_critical_data_element": "/datagovernance/catalog/criticalDataElements/{cdeId}",
420
+ "update_critical_data_element": "/datagovernance/catalog/criticalDataElements/{cdeId}",
421
+ "delete_critical_data_element": "/datagovernance/catalog/criticalDataElements/{cdeId}",
422
+ # CDE relationships
423
+ "create_cde_relationship": "/datagovernance/catalog/criticalDataElements/{cdeId}/relationships",
424
+ "list_cde_relationships": "/datagovernance/catalog/criticalDataElements/{cdeId}/relationships",
425
+ "delete_cde_relationship": "/datagovernance/catalog/criticalDataElements/{cdeId}/relationships",
426
+ # CDE query
427
+ "query_critical_data_elements": "/datagovernance/catalog/criticalDataElements/query",
428
+ # Policies
429
+ "list_policies": "/datagovernance/catalog/policies",
430
+ "create_policy": "/datagovernance/catalog/policies",
431
+ "get_policy": "/datagovernance/catalog/policies/{policyId}",
432
+ "update_policy": "/datagovernance/catalog/policies/{policyId}",
433
+ "delete_policy": "/datagovernance/catalog/policies/{policyId}",
434
+ # Custom Metadata (Business Metadata via Atlas API)
435
+ # Note: Both /catalog/api and /datamap/api work, but /datamap/api is for new portal
436
+ "list_custom_metadata": "/datamap/api/atlas/v2/types/typedefs",
437
+ "get_custom_metadata": "/datamap/api/atlas/v2/entity/guid/{guid}",
438
+ "add_custom_metadata": "/datamap/api/atlas/v2/entity/guid/{guid}/businessmetadata",
439
+ "update_custom_metadata": "/datamap/api/atlas/v2/entity/guid/{guid}/businessmetadata",
440
+ "delete_custom_metadata": "/datamap/api/atlas/v2/entity/guid/{guid}/businessmetadata",
441
+ # Custom Attributes
442
+ "list_custom_attributes": "/datagovernance/catalog/attributes",
443
+ "create_custom_attribute": "/datagovernance/catalog/attributes",
444
+ "get_custom_attribute": "/datagovernance/catalog/attributes/{attributeId}",
445
+ "update_custom_attribute": "/datagovernance/catalog/attributes/{attributeId}",
446
+ "delete_custom_attribute": "/datagovernance/catalog/attributes/{attributeId}",
447
+ },
374
448
  # ==================== AZURE RESOURCE MANAGER ENDPOINTS ====================
375
449
  "management": {
376
450
  # Azure Resource Manager endpoints for Purview accounts
@@ -467,6 +541,7 @@ def get_endpoint_category(endpoint_name: str) -> str:
467
541
  "self_service_policies": "self_service_policies",
468
542
  "sharing": "sharing",
469
543
  "metadata_policies": "metadata_policies",
544
+ "unified_catalog": "datamap",
470
545
  "management": "management",
471
546
  }
472
547
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pvw-cli
3
- Version: 1.2.4
3
+ Version: 1.2.5
4
4
  Summary: Microsoft Purview CLI with comprehensive automation capabilities
5
5
  Author-email: AYOUB KEBAILI <keayoub@msn.com>
6
6
  Maintainer-email: AYOUB KEBAILI <keayoub@msn.com>
@@ -56,9 +56,9 @@ Requires-Dist: pytest-asyncio>=0.20.0; extra == "test"
56
56
  Requires-Dist: pytest-cov>=4.0.0; extra == "test"
57
57
  Requires-Dist: requests-mock>=1.9.0; extra == "test"
58
58
 
59
- # PURVIEW CLI v1.2.4 - Microsoft Purview Automation & Data Governance
59
+ # PURVIEW CLI v1.2.5 - Microsoft Purview Automation & Data Governance
60
60
 
61
- > **LATEST UPDATE v1.2.4 (October 2025):**
61
+ > **LATEST UPDATE v1.2.5 (October 2025):**
62
62
  >
63
63
  > - **[NEW]** Lineage CSV Import - Bulk import lineage relationships from CSV files with validation and sample generation
64
64
  > - **[FIXED]** Search API Integration - Fixed `suggest` and `autocomplete` API payload format (HTTP 400 errors resolved)
@@ -77,7 +77,7 @@ Requires-Dist: requests-mock>=1.9.0; extra == "test"
77
77
 
78
78
  ## What is PVW CLI?
79
79
 
80
- **PVW CLI v1.2.4** 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:
80
+ **PVW CLI v1.2.5** 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:
81
81
 
82
82
  - **Unified Catalog (UC) Management** - Complete governance domains, glossary terms, data products, OKRs, CDEs
83
83
  - **Bulk Operations** - Import/export terms from CSV/JSON, bulk delete scripts with progress tracking
@@ -92,6 +92,15 @@ Requires-Dist: requests-mock>=1.9.0; extra == "test"
92
92
 
93
93
  The CLI is designed for data engineers, stewards, architects, and platform teams to automate, scale, and enhance their Microsoft Purview experience.
94
94
 
95
+ ### NEW: MCP Server for AI Assistants
96
+
97
+ **[NEW]** Model Context Protocol (MCP) server enables LLM-powered data governance workflows!
98
+
99
+ - Natural language interface to Purview catalog
100
+ - 20+ tools for AI assistants (Claude, Cline, etc.)
101
+ - Automate complex multi-step operations
102
+ - See `mcp/README.md` for setup instructions
103
+
95
104
  ---
96
105
 
97
106
  ## Getting Started
@@ -169,8 +178,9 @@ For more advanced usage, see the documentation in `doc/` or the project docs: <h
169
178
 
170
179
  ## Overview
171
180
 
172
- **PVW CLI v1.2.4** is a modern command-line interface and Python library for Microsoft Purview, enabling:
181
+ **PVW CLI v1.2.5** is a modern command-line interface and Python library for Microsoft Purview, enabling:
173
182
 
183
+ - **MCP Server** - Natural language interface for AI assistants (Claude, Cline)
174
184
  - Advanced data catalog search and discovery
175
185
  - Bulk import/export of entities, glossary terms, and lineage
176
186
  - Real-time monitoring and analytics
@@ -533,7 +543,7 @@ The PVW CLI provides advanced search using the latest Microsoft Purview Discover
533
543
  - Use autocomplete and suggestion endpoints
534
544
  - Perform faceted, time-based, and entity-type-specific queries
535
545
 
536
- **v1.2.4 Improvements:**
546
+ **v1.2.5 Improvements:**
537
547
 
538
548
  - Fixed `suggest` and `autocomplete` API payload format (removed empty filter causing HTTP 400 errors)
539
549
  - Enhanced collection display with robust type checking and fallback logic
@@ -1297,7 +1307,7 @@ PVW CLI includes comprehensive sample files and scripts for bulk operations:
1297
1307
  - Success/failure tracking per term
1298
1308
  - Rate limiting (200ms delay)
1299
1309
 
1300
- ### Critical Fixes (v1.2.4)
1310
+ ### Critical Fixes (v1.2.5)
1301
1311
 
1302
1312
  - **Search API Suggest/Autocomplete:** Fixed HTTP 400 errors by removing empty filter objects from payload
1303
1313
  - **Collection Display:** Enhanced collection name detection with proper fallback logic (isinstance checks)
@@ -1360,9 +1370,9 @@ See [LICENSE](LICENSE) file for details.
1360
1370
 
1361
1371
  ---
1362
1372
 
1363
- **PVW CLI v1.2.4 empowers data engineers, stewards, and architects to automate, scale, and enhance their Microsoft Purview experience with powerful command-line and programmatic capabilities.**
1373
+ **PVW CLI v1.2.5 empowers data engineers, stewards, and architects to automate, scale, and enhance their Microsoft Purview experience with powerful command-line and programmatic capabilities.**
1364
1374
 
1365
- **Latest in v1.2.4:**
1375
+ **Latest in v1.2.5:**
1366
1376
 
1367
1377
  - Fixed Search API suggest/autocomplete (HTTP 400 errors resolved)
1368
1378
  - Enhanced collection display with robust fallback logic
@@ -1,4 +1,4 @@
1
- purviewcli/__init__.py,sha256=lSZ3EF_IssYkUVjlovhrmDVuTyx6CcOQDc2utNknygM,413
1
+ purviewcli/__init__.py,sha256=23VtzlJEYGWy2DbEhMPKs9sP_FnweH6AZudyZMlkkzU,413
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=Z_bwhKriMQpoBicOORM64wpQ1MJ94QG7jGKiaG-D_r8,7092
@@ -16,14 +16,14 @@ purviewcli/cli/relationship.py,sha256=Ky4klI-clKh6sRK7bsI7SwgtVrpo1ljegVyrbqjkeO
16
16
  purviewcli/cli/scan.py,sha256=91iKDH8iVNJKndJAisrKx3J4HRoPH2qfmxguLZH3xHY,13807
17
17
  purviewcli/cli/search.py,sha256=QNAKiFSi8oSEwzh-ksR4vhNAZ1z0dje1icdg36xRMvk,22667
18
18
  purviewcli/cli/share.py,sha256=QRZhHM59RxdYqXOjSYLfVRZmjwMg4Y-bWxMSQVTQiIE,20197
19
- purviewcli/cli/types.py,sha256=zo_8rAqDQ1vqi5y-dBh_sVY6i16UaJLLx_vBJBfZrrw,23729
20
- purviewcli/cli/unified_catalog.py,sha256=ZQn5GsHsfXCrjzTPnfNA6gfGBOD5AH2m7uauGZt-oZs,74753
19
+ purviewcli/cli/types.py,sha256=G9QPMPrizEqF36unTvKa2oWkycUV30FTKJu557l01cQ,39101
20
+ purviewcli/cli/unified_catalog.py,sha256=K80vUidibPMoMy97lODpordL1HCSKwTHOsFKJDgwZsY,134310
21
21
  purviewcli/cli/workflow.py,sha256=c1Gmlffbs7DV_rBw7LIunyc2PukcRiV1Sv5ifnQBZD4,14735
22
22
  purviewcli/client/__init__.py,sha256=qjhTkXkgxlNUY3R1HkrT_Znt03-2d8JDolPVOeVv2xI,37
23
23
  purviewcli/client/_account.py,sha256=5lacA7vvjGBLHUDRjFR7B5E8eN6T07rctVDRXR9JFTY,12397
24
24
  purviewcli/client/_collections.py,sha256=17ma6aD6gftIe-Nhwy96TPE42O6qp0hmw84xei4VPpo,12101
25
25
  purviewcli/client/_domain.py,sha256=Yt4RsIoGWz6ND9Ii4CtoGM6leEAL_KNXYcp6AK9KMqs,3744
26
- purviewcli/client/_entity.py,sha256=oGvnHpI8bFX7VOyH_aqgoGU37hnMqAjsXPEEBtk29vQ,21608
26
+ purviewcli/client/_entity.py,sha256=gDQRMxNkY1A1QmESBPwtCLAropQgwVwBx84D_OdZRdU,23252
27
27
  purviewcli/client/_glossary.py,sha256=7kB3RXVOCCR1RGlaALmr_BwN6S76-xCoyVqD5ZMzt-k,20985
28
28
  purviewcli/client/_health.py,sha256=bKX2PChw2OB2kD_ZEfWlDxc093qQX3ai31YCQQ2VaKg,5921
29
29
  purviewcli/client/_insight.py,sha256=2KX6dVAkyFFMLuQ02Ko2J7WhARKlCLhSgtFkjFJxZ7c,16031
@@ -34,15 +34,15 @@ purviewcli/client/_relationship.py,sha256=KJZRltrzpTw7cfKjlZH2MuoTPS7eHxxp3cqU2e
34
34
  purviewcli/client/_scan.py,sha256=2atEBD-kKWtFuBSWh2P0cwp42gfg7qgwWq-072QZMs4,15154
35
35
  purviewcli/client/_search.py,sha256=9QfRE7FUukhpMQ_Xc9NziG6aKFMlPt4_OVaI0QinGa8,12019
36
36
  purviewcli/client/_share.py,sha256=vKENIhePuzi3WQazNfv5U9y-6yxRk222zrFA-SGh1pc,10494
37
- purviewcli/client/_types.py,sha256=ONa3wh1F02QOVy51UGq54121TkqRcWczdXIvNqPIFU0,15454
38
- purviewcli/client/_unified_catalog.py,sha256=WDpl68NJXfMJ5OIlING0wrfXwbOLwbnGRAFL9WPZnCE,40017
37
+ purviewcli/client/_types.py,sha256=bjR78rV9luTawPw_aGWkE2Xv1fESoqbMQFYIQVDmRns,16753
38
+ purviewcli/client/_unified_catalog.py,sha256=D0ztMR6rhBenLYWiEa43WQ_pA8LA3gULnhFS1G-YBwo,62747
39
39
  purviewcli/client/_workflow.py,sha256=po5lomq07s3d7IAzZ5ved5JO6SsBU_JUA4lQSObdJR4,17904
40
40
  purviewcli/client/api_client.py,sha256=rNRUhkmZhoCHKWhUvZFUXEWj5eC8LSSnXYYNMb5lHNM,22964
41
41
  purviewcli/client/business_rules.py,sha256=VR4QqOE1Pg0nFjqAE-zbt-KqIenvzImLU-TBLki9bYc,27560
42
42
  purviewcli/client/config.py,sha256=pQIA168XxeddTSaZJ5qXI7KolIrLqDyBTgbILdDzEs0,7963
43
43
  purviewcli/client/data_quality.py,sha256=lAb-ma5MY2nyY4Dq8Q5wN9wzY0J9FikiQN8jPO2u6VU,14988
44
44
  purviewcli/client/endpoint.py,sha256=DWCXOkzQWIfhJKmEZEGRCw3PZgBkB0okr3SGa34tmAY,4009
45
- purviewcli/client/endpoints.py,sha256=GcY4ygmBQ2h14uY3uXcyJofmlK0ACCjl7uR33QDaO2w,27066
45
+ purviewcli/client/endpoints.py,sha256=uTRre8kISXAuJk_OBKeQCV8p9eul4jn5Ja09OejhFHY,32196
46
46
  purviewcli/client/exceptions.py,sha256=3UA6wUa-SLxfhGvkdOgJouvOJGulvG1zt6eRN_4imsg,1244
47
47
  purviewcli/client/lineage_visualization.py,sha256=rFKr5cYDauwg4QEHKI7kkqKdHQKgMG6CSUPOmhAz3fI,29644
48
48
  purviewcli/client/monitoring_dashboard.py,sha256=OqpBW4SdQzgYoa7lNQiNdVqfS-5LVf9OffeasTSD85Y,27983
@@ -53,8 +53,8 @@ purviewcli/client/settings.py,sha256=nYdnYurTZsgv9vcgljnzVxLPtYVl9q6IplqOzi1aRvI
53
53
  purviewcli/client/sync_client.py,sha256=gwCqesJTNaXn1Q-j57O95R9mn3fIOhdP4sc8jBaBcYw,9493
54
54
  purviewcli/plugins/__init__.py,sha256=rpt3OhFt_wSE_o8Ga8AXvw1pqkdBxLmjrhYtE_-LuJo,29
55
55
  purviewcli/plugins/plugin_system.py,sha256=C-_dL4FUj90o1JS7Saxkpov6fz0GIF5PFhZTYwqBkWE,26774
56
- pvw_cli-1.2.4.dist-info/METADATA,sha256=hi7EZ8xiZ8tbkVj85fFnvqCM8qF-7O6BR8iQiAdYa0w,43762
57
- pvw_cli-1.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
- pvw_cli-1.2.4.dist-info/entry_points.txt,sha256=VI6AAbc6sWahOCX7sn_lhJIr9OiJM0pHF7rmw1YVGlE,82
59
- pvw_cli-1.2.4.dist-info/top_level.txt,sha256=LrADzPoKwF1xY0pGKpWauyOVruHCIWKCkT7cwIl6IuI,11
60
- pvw_cli-1.2.4.dist-info/RECORD,,
56
+ pvw_cli-1.2.5.dist-info/METADATA,sha256=iNCAmJmBTFboS-pjFo8VULfMAP6SZJC5ptVYLT8scEE,44160
57
+ pvw_cli-1.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
+ pvw_cli-1.2.5.dist-info/entry_points.txt,sha256=VI6AAbc6sWahOCX7sn_lhJIr9OiJM0pHF7rmw1YVGlE,82
59
+ pvw_cli-1.2.5.dist-info/top_level.txt,sha256=LrADzPoKwF1xY0pGKpWauyOVruHCIWKCkT7cwIl6IuI,11
60
+ pvw_cli-1.2.5.dist-info/RECORD,,