pvw-cli 1.0.4__tar.gz → 1.0.6__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 (66) hide show
  1. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/PKG-INFO +1 -1
  2. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/__init__.py +1 -1
  3. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/account.py +10 -10
  4. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/collections.py +6 -6
  5. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/entity.py +6 -4
  6. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/types.py +2 -2
  7. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_search.py +24 -8
  8. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/PKG-INFO +1 -1
  9. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pyproject.toml +1 -1
  10. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/README.md +0 -0
  11. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/__main__.py +0 -0
  12. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/__init__.py +0 -0
  13. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/cli.py +0 -0
  14. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/data_product.py +0 -0
  15. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/domain.py +0 -0
  16. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/glossary.py +0 -0
  17. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/insight.py +0 -0
  18. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/lineage.py +0 -0
  19. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/management.py +0 -0
  20. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/policystore.py +0 -0
  21. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/relationship.py +0 -0
  22. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/scan.py +0 -0
  23. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/search.py +0 -0
  24. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/share.py +0 -0
  25. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/cli/workflow.py +0 -0
  26. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/__init__.py +0 -0
  27. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_account.py +0 -0
  28. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_collections.py +0 -0
  29. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_data_product.py +0 -0
  30. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_domain.py +0 -0
  31. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_entity.py +0 -0
  32. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_glossary.py +0 -0
  33. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_insight.py +0 -0
  34. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_lineage.py +0 -0
  35. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_management.py +0 -0
  36. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_policystore.py +0 -0
  37. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_relationship.py +0 -0
  38. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_scan.py +0 -0
  39. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_share.py +0 -0
  40. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_types.py +0 -0
  41. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_unified_catalog.py +0 -0
  42. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/_workflow.py +0 -0
  43. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/api_client.py +0 -0
  44. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/business_rules.py +0 -0
  45. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/config.py +0 -0
  46. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/data_quality.py +0 -0
  47. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/endpoint.py +0 -0
  48. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/endpoints.py +0 -0
  49. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/exceptions.py +0 -0
  50. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/lineage_visualization.py +0 -0
  51. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/monitoring_dashboard.py +0 -0
  52. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/rate_limiter.py +0 -0
  53. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/retry_handler.py +0 -0
  54. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/scanning_operations.py +0 -0
  55. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/settings.py +0 -0
  56. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/client/sync_client.py +0 -0
  57. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/plugins/__init__.py +0 -0
  58. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/purviewcli/plugins/plugin_system.py +0 -0
  59. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/SOURCES.txt +0 -0
  60. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/dependency_links.txt +0 -0
  61. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/entry_points.txt +0 -0
  62. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/not-zip-safe +0 -0
  63. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/requires.txt +0 -0
  64. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/pvw_cli.egg-info/top_level.txt +0 -0
  65. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/setup.cfg +0 -0
  66. {pvw-cli-1.0.4 → pvw-cli-1.0.6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pvw-cli
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: Microsoft Purview CLI with comprehensive automation capabilities
5
5
  Home-page: https://github.com/Keayoub/Purview_cli
6
6
  Author: Ayoub KEBAILI
@@ -1,4 +1,4 @@
1
- __version__ = "1.0.4"
1
+ __version__ = "1.0.6"
2
2
 
3
3
  # Import main client modules
4
4
  from .client import *
@@ -45,7 +45,7 @@ def get_account(ctx):
45
45
 
46
46
  from purviewcli.client._account import Account
47
47
  account_client = Account()
48
- result = account_client.getAccount(args)
48
+ result = account_client.accountRead(args)
49
49
 
50
50
  if result:
51
51
  console.print("[green]✓ Account information retrieved successfully[/green]")
@@ -71,7 +71,7 @@ def get_access_keys(ctx):
71
71
 
72
72
  from purviewcli.client._account import Account
73
73
  account_client = Account()
74
- result = account_client.getAccessKeys(args)
74
+ result = account_client.accountReadAccessKeys(args)
75
75
 
76
76
  if result:
77
77
  console.print("[green]✓ Access keys retrieved successfully[/green]")
@@ -101,7 +101,7 @@ def regenerate_access_keys(ctx, key_type):
101
101
 
102
102
  from purviewcli.client._account import Account
103
103
  account_client = Account()
104
- result = account_client.regenerateAccessKeys(args)
104
+ result = account_client.accountRegenerateAccessKey(args)
105
105
 
106
106
  if result:
107
107
  console.print("[green]✓ Access keys regenerated successfully[/green]")
@@ -129,7 +129,7 @@ def update_account(ctx, friendly_name):
129
129
 
130
130
  from purviewcli.client._account import Account
131
131
  account_client = Account()
132
- result = account_client.updateAccount(args)
132
+ result = account_client.accountUpdate(args)
133
133
 
134
134
  if result:
135
135
  console.print("[green]✓ Account updated successfully[/green]")
@@ -153,9 +153,9 @@ def get_collections(ctx):
153
153
 
154
154
  args = {}
155
155
 
156
- from purviewcli.client._account import Account
157
- account_client = Account()
158
- result = account_client.getCollections(args)
156
+ from purviewcli.client._collections import Collections
157
+ account_client = Collections()
158
+ result = account_client.collectionsRead(args)
159
159
 
160
160
  if result:
161
161
  console.print("[green]✓ Collections retrieved successfully[/green]")
@@ -181,9 +181,9 @@ def get_collection(ctx, collection_name):
181
181
 
182
182
  args = {"--collectionName": collection_name}
183
183
 
184
- from purviewcli.client._account import Account
185
- account_client = Account()
186
- result = account_client.getCollection(args)
184
+ from purviewcli.client._collections import Collections
185
+ account_client = Collections()
186
+ result = account_client.collectionsRead(args)
187
187
 
188
188
  if result:
189
189
  console.print("[green]✓ Collection information retrieved successfully[/green]")
@@ -48,7 +48,7 @@ def create(collection_name, friendly_name, description, parent_collection, paylo
48
48
  "--payloadFile": payload_file,
49
49
  }
50
50
  client = Collections()
51
- result = client.collectionsCreateCollection(args)
51
+ result = client.collectionsCreate(args)
52
52
  click.echo(json.dumps(result, indent=2))
53
53
  except Exception as e:
54
54
  click.echo(f"Error: {e}")
@@ -61,7 +61,7 @@ def delete(collection_name):
61
61
  try:
62
62
  args = {"--collectionName": collection_name}
63
63
  client = Collections()
64
- result = client.collectionsDeleteCollection(args)
64
+ result = client.collectionsDelete(args)
65
65
  click.echo(json.dumps(result, indent=2))
66
66
  except Exception as e:
67
67
  click.echo(f"Error: {e}")
@@ -74,7 +74,7 @@ def get(collection_name):
74
74
  try:
75
75
  args = {"--collectionName": collection_name}
76
76
  client = Collections()
77
- result = client.collectionsGetCollection(args)
77
+ result = client.collectionsRead(args)
78
78
  click.echo(json.dumps(result, indent=2))
79
79
  except Exception as e:
80
80
  click.echo(f"Error: {e}")
@@ -85,7 +85,7 @@ def list():
85
85
  """List all collections"""
86
86
  try:
87
87
  client = Collections()
88
- result = client.collectionsGetCollections({})
88
+ result = client.collectionsRead({})
89
89
  click.echo(json.dumps(result, indent=2))
90
90
  except Exception as e:
91
91
  click.echo(f"Error: {e}")
@@ -104,7 +104,7 @@ def import_csv(csv_file):
104
104
  args = {"--csv-file": csv_file}
105
105
  client = Collections()
106
106
  # You may need to implement this method in your client
107
- result = client.importCollectionsFromCSV(args)
107
+ result = client.collectionsImport(args)
108
108
  click.echo(json.dumps(result, indent=2))
109
109
  except Exception as e:
110
110
  click.echo(f"Error: {e}")
@@ -130,7 +130,7 @@ def export_csv(output_file, include_hierarchy, include_metadata):
130
130
  }
131
131
  client = Collections()
132
132
  # You may need to implement this method in your client
133
- result = client.exportCollectionsToCSV(args)
133
+ result = client.collectionsExport(args)
134
134
  click.echo(json.dumps(result, indent=2))
135
135
  except Exception as e:
136
136
  click.echo(f"Error: {e}")
@@ -1799,16 +1799,18 @@ def list(type_name, limit):
1799
1799
  from purviewcli.client._search import Search
1800
1800
  search_client = Search()
1801
1801
 
1802
- # Create search query payload
1802
+ # Create search query payload with proper filter structure
1803
1803
  search_payload = {
1804
1804
  "keywords": "*",
1805
1805
  "limit": limit,
1806
- "filter": {}
1807
1806
  }
1808
1807
 
1809
- # Add type filter if specified
1808
+ # Only add filter if type_name is specified
1810
1809
  if type_name:
1811
- search_payload["filter"]["entityType"] = [type_name]
1810
+ search_payload["filter"] = {
1811
+ "entityType": type_name # Send as string, not array
1812
+ }
1813
+ # If no type specified, don't include filter at all
1812
1814
 
1813
1815
  # Convert to args format expected by searchQuery
1814
1816
  search_args = {
@@ -275,7 +275,7 @@ def read_typedefs(include_term_template, type_):
275
275
  try:
276
276
  args = {'--includeTermTemplate': include_term_template, '--type': type_}
277
277
  client = Types()
278
- result = client.typesReadTypeDefs(args)
278
+ result = client.typesRead(args)
279
279
  click.echo(json.dumps(result, indent=2))
280
280
  except Exception as e:
281
281
  click.echo(f"Error: {e}")
@@ -288,7 +288,7 @@ def read_typedefs_headers(include_term_template, type_):
288
288
  try:
289
289
  args = {'--includeTermTemplate': include_term_template, '--type': type_}
290
290
  client = Types()
291
- result = client.typesReadTypeDefsHeaders(args)
291
+ result = client.typesReadHeaders(args)
292
292
  click.echo(json.dumps(result, indent=2))
293
293
  except Exception as e:
294
294
  click.echo(f"Error: {e}")
@@ -33,27 +33,43 @@ class Search(Endpoint):
33
33
  self.endpoint = ENDPOINTS["discovery"]["query"]
34
34
  self.params = get_api_version_params("datamap")
35
35
 
36
- # Build search payload
36
+ # Check if direct payload is provided
37
+ if args.get("--payload"):
38
+ import json
39
+ self.payload = json.loads(args["--payload"])
40
+ return
41
+
42
+ # Check if payload file is provided
43
+ if args.get("--payloadFile"):
44
+ self.payload = get_json(args, "--payloadFile")
45
+ return
46
+
47
+ # Build search payload from individual parameters
37
48
  search_request = {
38
49
  "keywords": args.get("--keywords", "*"),
39
50
  "limit": args.get("--limit", 50),
40
- "offset": args.get("--offset", 0),
41
- "filter": {},
42
- "facets": []
51
+ "offset": args.get("--offset", 0)
43
52
  }
44
53
 
54
+ # Only add filter if there are actual filter values
55
+ filter_obj = {}
56
+
45
57
  # Add filters if provided
46
58
  if args.get("--filter"):
47
- search_request["filter"] = self._parse_filter(args["--filter"])
59
+ filter_obj.update(self._parse_filter(args["--filter"]))
48
60
 
49
61
  if args.get("--entityType"):
50
- search_request["filter"]["entityType"] = args["--entityType"]
62
+ filter_obj["entityType"] = args["--entityType"]
51
63
 
52
64
  if args.get("--classification"):
53
- search_request["filter"]["classification"] = args["--classification"]
65
+ filter_obj["classification"] = args["--classification"]
54
66
 
55
67
  if args.get("--term"):
56
- search_request["filter"]["term"] = args["--term"]
68
+ filter_obj["term"] = args["--term"]
69
+
70
+ # Only include filter if it has content
71
+ if filter_obj:
72
+ search_request["filter"] = filter_obj
57
73
 
58
74
  # Add facets if requested
59
75
  if args.get("--facets"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pvw-cli
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: Microsoft Purview CLI with comprehensive automation capabilities
5
5
  Home-page: https://github.com/Keayoub/Purview_cli
6
6
  Author: Ayoub KEBAILI
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pvw-cli"
7
- version = "1.0.4"
7
+ version = "1.0.6"
8
8
  description = " Microsoft Purview CLI with comprehensive automation capabilities"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes