pvw-cli 1.2.5__tar.gz → 1.3.4__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.2.5 → pvw_cli-1.3.4}/PKG-INFO +268 -32
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/README.md +262 -26
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/__init__.py +1 -1
- pvw_cli-1.3.4/purviewcli/cli/lineage.py +1103 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/unified_catalog.py +511 -1
- pvw_cli-1.3.4/purviewcli/client/__init__.py +21 -0
- pvw_cli-1.3.4/purviewcli/client/_account.py +1877 -0
- pvw_cli-1.3.4/purviewcli/client/_collections.py +1761 -0
- pvw_cli-1.3.4/purviewcli/client/_domain.py +414 -0
- pvw_cli-1.3.4/purviewcli/client/_entity.py +3545 -0
- pvw_cli-1.3.4/purviewcli/client/_glossary.py +3233 -0
- pvw_cli-1.3.4/purviewcli/client/_health.py +501 -0
- pvw_cli-1.3.4/purviewcli/client/_insight.py +2873 -0
- pvw_cli-1.3.4/purviewcli/client/_lineage.py +2138 -0
- pvw_cli-1.3.4/purviewcli/client/_management.py +2202 -0
- pvw_cli-1.3.4/purviewcli/client/_policystore.py +2915 -0
- pvw_cli-1.3.4/purviewcli/client/_relationship.py +1351 -0
- pvw_cli-1.3.4/purviewcli/client/_scan.py +2607 -0
- pvw_cli-1.3.4/purviewcli/client/_search.py +1472 -0
- pvw_cli-1.3.4/purviewcli/client/_types.py +2708 -0
- pvw_cli-1.3.4/purviewcli/client/_unified_catalog.py +5112 -0
- pvw_cli-1.3.4/purviewcli/client/_workflow.py +2734 -0
- pvw_cli-1.3.4/purviewcli/client/api_client.py +1295 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/endpoints.py +6 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/sync_client.py +47 -9
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/PKG-INFO +268 -32
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/SOURCES.txt +4 -1
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pyproject.toml +8 -8
- pvw_cli-1.3.4/tests/test_connection.py +107 -0
- pvw_cli-1.3.4/tests/test_entity_endpoints.py +86 -0
- pvw_cli-1.3.4/tests/test_mcp_server_basic.py +196 -0
- pvw_cli-1.2.5/purviewcli/cli/lineage.py +0 -485
- pvw_cli-1.2.5/purviewcli/client/__init__.py +0 -1
- pvw_cli-1.2.5/purviewcli/client/_account.py +0 -316
- pvw_cli-1.2.5/purviewcli/client/_collections.py +0 -288
- pvw_cli-1.2.5/purviewcli/client/_domain.py +0 -83
- pvw_cli-1.2.5/purviewcli/client/_entity.py +0 -566
- pvw_cli-1.2.5/purviewcli/client/_glossary.py +0 -496
- pvw_cli-1.2.5/purviewcli/client/_health.py +0 -192
- pvw_cli-1.2.5/purviewcli/client/_insight.py +0 -425
- pvw_cli-1.2.5/purviewcli/client/_lineage.py +0 -521
- pvw_cli-1.2.5/purviewcli/client/_management.py +0 -386
- pvw_cli-1.2.5/purviewcli/client/_policystore.py +0 -421
- pvw_cli-1.2.5/purviewcli/client/_relationship.py +0 -242
- pvw_cli-1.2.5/purviewcli/client/_scan.py +0 -384
- pvw_cli-1.2.5/purviewcli/client/_search.py +0 -332
- pvw_cli-1.2.5/purviewcli/client/_types.py +0 -392
- pvw_cli-1.2.5/purviewcli/client/_unified_catalog.py +0 -1613
- pvw_cli-1.2.5/purviewcli/client/_workflow.py +0 -423
- pvw_cli-1.2.5/purviewcli/client/api_client.py +0 -566
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/__main__.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/__init__.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/account.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/cli.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/collections.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/domain.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/entity.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/glossary.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/health.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/insight.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/management.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/policystore.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/relationship.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/scan.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/search.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/share.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/types.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/cli/workflow.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/_share.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/business_rules.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/config.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/data_quality.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/endpoint.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/exceptions.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/lineage_visualization.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/monitoring_dashboard.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/rate_limiter.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/retry_handler.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/scanning_operations.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/client/settings.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/plugins/__init__.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/purviewcli/plugins/plugin_system.py +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/dependency_links.txt +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/entry_points.txt +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/not-zip-safe +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/requires.txt +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/pvw_cli.egg-info/top_level.txt +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/setup.cfg +0 -0
- {pvw_cli-1.2.5 → pvw_cli-1.3.4}/tests/test_mcp_server.py +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pvw-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.4
|
|
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>
|
|
7
7
|
License-Expression: MIT
|
|
8
|
-
Project-URL: Homepage, https://github.com/Keayoub/
|
|
9
|
-
Project-URL: Documentation, https://github.com/Keayoub/
|
|
10
|
-
Project-URL: Repository, https://github.com/Keayoub/
|
|
11
|
-
Project-URL: Bug Tracker, https://github.com/Keayoub/
|
|
12
|
-
Project-URL: Source, https://github.com/Keayoub/
|
|
8
|
+
Project-URL: Homepage, https://github.com/Keayoub/pvw-cli
|
|
9
|
+
Project-URL: Documentation, https://github.com/Keayoub/pvw-cli/wiki
|
|
10
|
+
Project-URL: Repository, https://github.com/Keayoub/pvw-cli.git
|
|
11
|
+
Project-URL: Bug Tracker, https://github.com/Keayoub/pvw-cli/issues
|
|
12
|
+
Project-URL: Source, https://github.com/Keayoub/pvw-cli
|
|
13
13
|
Keywords: azure,purview,cli,data,catalog,governance,automation,pvw
|
|
14
14
|
Classifier: Development Status :: 4 - Beta
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
@@ -56,37 +56,74 @@ 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.
|
|
59
|
+
# PURVIEW CLI v1.3.4 - Microsoft Purview Automation & Data Governance
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
[](https://github.com/Keayoub/pvw-cli/releases/tag/v1.3.4)
|
|
62
|
+
[](https://github.com/Keayoub/pvw-cli)
|
|
63
|
+
[](https://github.com/Keayoub/pvw-cli)
|
|
64
|
+
[](https://github.com/Keayoub/pvw-cli)
|
|
65
|
+
|
|
66
|
+
> **LATEST UPDATE v1.3.4 (November 3, 2025):**
|
|
67
|
+
>
|
|
68
|
+
> **🔗 Advanced Lineage Features & Column-Level Mapping**
|
|
69
|
+
>
|
|
70
|
+
> **New Lineage Capabilities:**
|
|
71
|
+
> - **[NEW]** Column-level lineage with multi-target support (1 source → N targets)
|
|
72
|
+
> - **[NEW]** Direct lineage (UI-style) - No visible Process entity
|
|
73
|
+
> - **[NEW]** Dual-mode CSV import - Automatic detection of Process vs Direct lineage
|
|
74
|
+
> - **[NEW]** Column mapping in direct relationships - Granular data flow tracking
|
|
75
|
+
> - **[NEW]** Enhanced error handling with SSL retry strategies
|
|
76
|
+
>
|
|
77
|
+
> **New CLI Commands:**
|
|
78
|
+
> ```bash
|
|
79
|
+
> pvw lineage create-column # Column-level lineage (Process-based)
|
|
80
|
+
> pvw lineage create-direct # Direct lineage (UI-style, no Process)
|
|
81
|
+
> pvw lineage list-column # List column lineages
|
|
82
|
+
> pvw lineage delete-column # Delete column lineage
|
|
83
|
+
> ```
|
|
84
|
+
>
|
|
85
|
+
> **What's New:**
|
|
86
|
+
> - ✅ Column mapping visible in Purview UI
|
|
87
|
+
> - ✅ Compatible with manual UI lineage creation
|
|
88
|
+
> - ✅ Type validation (prevent invalid lineage)
|
|
89
|
+
> - ✅ Batch CSV import with 5 sample files
|
|
90
|
+
> - ✅ Comprehensive documentation & examples
|
|
62
91
|
>
|
|
63
|
-
>
|
|
64
|
-
> - **
|
|
65
|
-
> - **
|
|
66
|
-
>
|
|
67
|
-
>
|
|
68
|
-
> - **[NEW]** Bulk Delete Scripts - PowerShell and Python scripts for bulk term deletion
|
|
69
|
-
> - **[NEW]** Multiple Output Formats - `--output` flag supports table, json, and jsonc formats
|
|
70
|
-
> - **[NEW]** PowerShell Integration - Plain JSON output works with `ConvertFrom-Json`
|
|
71
|
-
> - **[OK]** Complete Data Product CRUD - Full update and delete support with smart partial updates
|
|
72
|
-
> - **[OK]** Health Monitoring API - Automated governance health checks and recommendations
|
|
73
|
-
> - **[OK]** Workflow Management - Approval workflows and business process automation
|
|
74
|
-
> - **[OK]** Complete Microsoft Purview Unified Catalog (UC) - Full governance domains, glossary terms, data products, OKRs, and CDEs
|
|
92
|
+
> **Previous Releases:**
|
|
93
|
+
> - **v1.2.6** - Initial lineage improvements
|
|
94
|
+
> - **v1.2.5** - 86% UC API Coverage (45/52 operations) with Relationships, Query, Policies APIs
|
|
95
|
+
>
|
|
96
|
+
> **[Full Release Notes v1.3.4](releases/v1.3.4.md)** | **[v1.2.5 Release Notes](releases/v1.2.5.md)** | **[Migration Guide](releases/v1.3.4.md#migration-guide)**
|
|
75
97
|
|
|
76
98
|
---
|
|
77
99
|
|
|
78
100
|
## What is PVW CLI?
|
|
79
101
|
|
|
80
|
-
**PVW CLI v1.
|
|
102
|
+
**PVW CLI v1.3.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* with **86% Unified Catalog API coverage** (45 of 52 operations).
|
|
103
|
+
|
|
104
|
+
### Key Capabilities
|
|
105
|
+
|
|
106
|
+
**Unified Catalog (UC) Management - 86% Complete**
|
|
107
|
+
- Complete governance domains, glossary terms, data products, OKRs, CDEs
|
|
108
|
+
- Relationships API - Link data products/CDEs/terms to entities and columns
|
|
109
|
+
- Query APIs - Advanced OData filtering with multi-criteria search
|
|
110
|
+
- Policy Management - Complete CRUD for governance and RBAC policies
|
|
111
|
+
- Custom Metadata & Attributes - Extensible business metadata and attributes
|
|
81
112
|
|
|
82
|
-
|
|
83
|
-
- **Bulk Operations** - Import/export terms from CSV/JSON, bulk delete scripts with progress tracking
|
|
84
|
-
- **Scriptable Output** - Multiple output formats (table, json, jsonc) for PowerShell/bash automation
|
|
113
|
+
**Data Operations**
|
|
85
114
|
- Entity management (create, update, bulk, import/export)
|
|
86
|
-
-
|
|
87
|
-
-
|
|
115
|
+
- Lineage operations with interactive creation and CSV import
|
|
116
|
+
- Advanced search and discovery with fixed suggest/autocomplete
|
|
117
|
+
- Business metadata with proper scope configuration
|
|
118
|
+
|
|
119
|
+
**Automation & Scripting**
|
|
120
|
+
- Bulk Operations - Import/export from CSV/JSON with dry-run support
|
|
121
|
+
- Scriptable Output - Multiple formats (table, json, jsonc) for PowerShell/bash
|
|
122
|
+
- 80+ usage examples and 15+ comprehensive guides
|
|
123
|
+
- PowerShell integration with ConvertFrom-Json support
|
|
124
|
+
|
|
125
|
+
**Legacy API Support**
|
|
88
126
|
- Collection and account management
|
|
89
|
-
- Advanced search and discovery
|
|
90
127
|
- Data product management (legacy compatibility)
|
|
91
128
|
- Classification, label, and status management
|
|
92
129
|
|
|
@@ -103,6 +140,114 @@ The CLI is designed for data engineers, stewards, architects, and platform teams
|
|
|
103
140
|
|
|
104
141
|
---
|
|
105
142
|
|
|
143
|
+
## What's New in Recent Releases
|
|
144
|
+
|
|
145
|
+
### v1.3.4 (November 3, 2025) - Advanced Lineage Features
|
|
146
|
+
|
|
147
|
+
**Column-Level Lineage & Direct Relationships:**
|
|
148
|
+
- Column-level lineage with multi-target support (1→N)
|
|
149
|
+
- Direct lineage creation (UI-style, no visible Process)
|
|
150
|
+
- Dual-mode CSV import with automatic type detection
|
|
151
|
+
- Column mapping in direct relationships
|
|
152
|
+
- Enhanced error handling with SSL retry strategies
|
|
153
|
+
|
|
154
|
+
**New Commands:**
|
|
155
|
+
```bash
|
|
156
|
+
pvw lineage create-column # Column lineage (Process-based)
|
|
157
|
+
pvw lineage create-direct # Direct lineage (UI-style)
|
|
158
|
+
pvw lineage list-column # List column lineages
|
|
159
|
+
pvw lineage delete-column # Delete lineage
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**CSV Import Examples:**
|
|
163
|
+
```csv
|
|
164
|
+
# Direct lineage with column mapping
|
|
165
|
+
source_entity_guid,target_entity_guid,relationship_type,column_mapping
|
|
166
|
+
guid1,guid2,direct_lineage_dataset_dataset,"[{""Source"":""ID"",""Sink"":""ID""}]"
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**[Full v1.3.4 Release Notes](releases/v1.3.4.md)**
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### v1.2.5 (October 30, 2025) - 86% UC API Coverage
|
|
174
|
+
|
|
175
|
+
Version 1.2.5 achieves **86% coverage** of the Microsoft Purview Unified Catalog API with **35 new operations**:
|
|
176
|
+
|
|
177
|
+
| Resource Type | Coverage | Operations | Status |
|
|
178
|
+
|--------------|----------|------------|---------|
|
|
179
|
+
| **Business Domains** | 100% | 5/5 | ✅ Complete |
|
|
180
|
+
| **Data Products** | 90% | 9/10 | ⚠️ 1 missing (Facets) |
|
|
181
|
+
| **Glossary Terms** | 73% | 8/11 | ⚠️ 3 missing |
|
|
182
|
+
| **Objectives & Key Results** | 92% | 11/12 | ⚠️ 1 missing |
|
|
183
|
+
| **Critical Data Elements** | 90% | 9/10 | ⚠️ 1 missing |
|
|
184
|
+
| **Policies** | 100% | 5/5 | ✅ Complete |
|
|
185
|
+
| **Relationships** | 100% | 6/6 | ✅ Complete |
|
|
186
|
+
| **Query** | 100% | 4/4 | ✅ Complete |
|
|
187
|
+
| **Custom Metadata** | 100% | 5/5 | ✅ Complete |
|
|
188
|
+
| **Custom Attributes** | 100% | 5/5 | ✅ Complete |
|
|
189
|
+
| **TOTAL** | **86%** | **45/52** | 🎯 **A- Grade** |
|
|
190
|
+
|
|
191
|
+
### 🚀 New APIs Implemented
|
|
192
|
+
|
|
193
|
+
1. **Relationships API (6 operations)**
|
|
194
|
+
```bash
|
|
195
|
+
# Link data product to entity
|
|
196
|
+
pvw uc dataproduct link-entity --id <dp-id> --entity-id <guid>
|
|
197
|
+
|
|
198
|
+
# Link CDE to column
|
|
199
|
+
pvw uc cde link-entity --id <cde-id> --entity-id <guid> --column-qualified-name "..."
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
2. **Query APIs (4 operations)**
|
|
203
|
+
```bash
|
|
204
|
+
# Advanced OData filtering
|
|
205
|
+
pvw uc term query --domain-ids "finance" --status Approved --top 50
|
|
206
|
+
|
|
207
|
+
# Multi-criteria search with pagination
|
|
208
|
+
pvw uc dataproduct query --keywords "customer,revenue" --skip 10 --top 25
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
3. **Policy Management (5 operations)**
|
|
212
|
+
```bash
|
|
213
|
+
# Complete policy CRUD
|
|
214
|
+
pvw uc policy list
|
|
215
|
+
pvw uc policy create --payload-file policy.json
|
|
216
|
+
pvw uc policy update --id <policy-id> --payload-file updated.json
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
4. **Custom Metadata (5 operations)**
|
|
220
|
+
```bash
|
|
221
|
+
# Business metadata via Atlas API
|
|
222
|
+
pvw uc custom-metadata import --file metadata.csv
|
|
223
|
+
pvw uc custom-metadata add --guid <entity-guid> --name "BusinessConcept"
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
5. **Custom Attributes (5 operations)**
|
|
227
|
+
```bash
|
|
228
|
+
# Extensible attribute definitions
|
|
229
|
+
pvw uc custom-attribute create --name "Department" --type String
|
|
230
|
+
pvw uc custom-attribute list
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### 🔧 Major Fixes & Improvements
|
|
234
|
+
|
|
235
|
+
- **Lineage Management Overhaul** - Complete rewrite with interactive PowerShell script, real entity support, and proper Process entities
|
|
236
|
+
- **Search API Fixed** - Resolved HTTP 400 errors in suggest and autocomplete endpoints
|
|
237
|
+
- **Business Metadata Scope** - Fixed Business Concept attributes on Glossary Terms with proper applicableEntityTypes
|
|
238
|
+
- **Architecture Refactoring** - Unified endpoints dictionary, zero hardcoded URLs, complete consistency
|
|
239
|
+
|
|
240
|
+
### 📚 Documentation (3,500+ lines)
|
|
241
|
+
|
|
242
|
+
- 15+ new guides including relationships, query APIs, lineage creation, business metadata
|
|
243
|
+
- 80+ usage examples across all new features
|
|
244
|
+
- Complete API coverage gap analysis
|
|
245
|
+
- Roadmap to 100% with implementation plans
|
|
246
|
+
|
|
247
|
+
**[View Full Release Notes](releases/v1.3.4.md)**
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
106
251
|
## Getting Started
|
|
107
252
|
|
|
108
253
|
Follow this short flow to get PVW CLI installed and running quickly.
|
|
@@ -176,9 +321,100 @@ For more advanced usage, see the documentation in `doc/` or the project docs: <h
|
|
|
176
321
|
|
|
177
322
|
---
|
|
178
323
|
|
|
324
|
+
## Quick Start Examples
|
|
325
|
+
|
|
326
|
+
### v1.3.4 - Column-Level Lineage
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
# Create column-level lineage (Process-based)
|
|
330
|
+
pvw lineage create-column \
|
|
331
|
+
--process-name "ETL_Sales_Transform" \
|
|
332
|
+
--source-table-guid "9ebbd583-4987-4d1b-b4f5-d8f6f6f60000" \
|
|
333
|
+
--target-table-guids "c88126ba-5fb5-4d33-bbe2-5ff6f6f60000" \
|
|
334
|
+
--column-mapping "ProductID:ProductID,Name:Name"
|
|
335
|
+
|
|
336
|
+
# Create direct lineage (UI-style, no visible Process)
|
|
337
|
+
pvw lineage create-direct \
|
|
338
|
+
--source-guid "9ebbd583-4987-4d1b-b4f5-d8f6f6f60000" \
|
|
339
|
+
--target-guid "c88126ba-5fb5-4d33-bbe2-5ff6f6f60000" \
|
|
340
|
+
--column-mapping "ProductID:ProductID,Name:Name,Amount:TotalAmount"
|
|
341
|
+
|
|
342
|
+
# Import lineage from CSV (automatic type detection)
|
|
343
|
+
pvw lineage import samples/csv/lineage_with_columns.csv
|
|
344
|
+
|
|
345
|
+
# List column lineages
|
|
346
|
+
pvw lineage list-column --format table
|
|
347
|
+
|
|
348
|
+
# Delete column lineage
|
|
349
|
+
pvw lineage delete-column --process-guid <guid> --force
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### v1.2.5 - Relationships API
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
# Link data product to SQL table
|
|
356
|
+
pvw uc dataproduct link-entity \
|
|
357
|
+
--id "dp-sales-2024" \
|
|
358
|
+
--entity-id "4fae348b-e960-42f7-834c-38f6f6f60000" \
|
|
359
|
+
--type-name "azure_sql_table"
|
|
360
|
+
|
|
361
|
+
# Link CDE to specific column
|
|
362
|
+
pvw uc cde link-entity \
|
|
363
|
+
--id "cde-customer-email" \
|
|
364
|
+
--entity-id "ea3412c3-7387-4bc1-9923-11f6f6f60000" \
|
|
365
|
+
--column-qualified-name "mssql://server/db/schema/table#EmailAddress"
|
|
366
|
+
|
|
367
|
+
# List all linked entities
|
|
368
|
+
pvw uc dataproduct list-entities --id "dp-sales-2024"
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### v1.2.5 - Query APIs
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
# Query terms by domain and status
|
|
375
|
+
pvw uc term query --domain-ids "finance,sales" --status Approved --top 50
|
|
376
|
+
|
|
377
|
+
# Query data products with keywords
|
|
378
|
+
pvw uc dataproduct query --keywords "customer,revenue" --skip 0 --top 25
|
|
379
|
+
|
|
380
|
+
# Query CDEs by domain with pagination
|
|
381
|
+
pvw uc cde query --domain-ids "compliance" --orderby "name" --top 100
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### v1.2.5 - Policy Management
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
# List all policies
|
|
388
|
+
pvw uc policy list
|
|
389
|
+
|
|
390
|
+
# Create new policy
|
|
391
|
+
pvw uc policy create --payload-file policy-rbac.json
|
|
392
|
+
|
|
393
|
+
# Update existing policy
|
|
394
|
+
pvw uc policy update --id "policy-001" --payload-file updated.json
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
### v1.2.5 - Custom Metadata
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# Import business metadata from CSV
|
|
401
|
+
pvw uc custom-metadata import --file business_concept.csv
|
|
402
|
+
|
|
403
|
+
# Add metadata to entity
|
|
404
|
+
pvw uc custom-metadata add \
|
|
405
|
+
--guid "4fae348b-e960-42f7-834c-38f6f6f60000" \
|
|
406
|
+
--name "BusinessConcept" \
|
|
407
|
+
--attributes '{"Department":"Sales"}'
|
|
408
|
+
|
|
409
|
+
# Create custom attribute
|
|
410
|
+
pvw uc custom-attribute create --name "Department" --type String
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
179
415
|
## Overview
|
|
180
416
|
|
|
181
|
-
**PVW CLI v1.
|
|
417
|
+
**PVW CLI v1.3.4** is a modern command-line interface and Python library for Microsoft Purview, enabling:
|
|
182
418
|
|
|
183
419
|
- **MCP Server** - Natural language interface for AI assistants (Claude, Cline)
|
|
184
420
|
- Advanced data catalog search and discovery
|
|
@@ -543,7 +779,7 @@ The PVW CLI provides advanced search using the latest Microsoft Purview Discover
|
|
|
543
779
|
- Use autocomplete and suggestion endpoints
|
|
544
780
|
- Perform faceted, time-based, and entity-type-specific queries
|
|
545
781
|
|
|
546
|
-
**v1.
|
|
782
|
+
**v1.3.4 Improvements:**
|
|
547
783
|
|
|
548
784
|
- Fixed `suggest` and `autocomplete` API payload format (removed empty filter causing HTTP 400 errors)
|
|
549
785
|
- Enhanced collection display with robust type checking and fallback logic
|
|
@@ -1307,7 +1543,7 @@ PVW CLI includes comprehensive sample files and scripts for bulk operations:
|
|
|
1307
1543
|
- Success/failure tracking per term
|
|
1308
1544
|
- Rate limiting (200ms delay)
|
|
1309
1545
|
|
|
1310
|
-
### Critical Fixes (v1.
|
|
1546
|
+
### Critical Fixes (v1.3.4)
|
|
1311
1547
|
|
|
1312
1548
|
- **Search API Suggest/Autocomplete:** Fixed HTTP 400 errors by removing empty filter objects from payload
|
|
1313
1549
|
- **Collection Display:** Enhanced collection name detection with proper fallback logic (isinstance checks)
|
|
@@ -1370,9 +1606,9 @@ See [LICENSE](LICENSE) file for details.
|
|
|
1370
1606
|
|
|
1371
1607
|
---
|
|
1372
1608
|
|
|
1373
|
-
**PVW CLI v1.
|
|
1609
|
+
**PVW CLI v1.3.4 empowers data engineers, stewards, and architects to automate, scale, and enhance their Microsoft Purview experience with powerful command-line and programmatic capabilities.**
|
|
1374
1610
|
|
|
1375
|
-
**Latest in v1.
|
|
1611
|
+
**Latest in v1.3.4:**
|
|
1376
1612
|
|
|
1377
1613
|
- Fixed Search API suggest/autocomplete (HTTP 400 errors resolved)
|
|
1378
1614
|
- Enhanced collection display with robust fallback logic
|