collibra-connector 1.1.0__tar.gz → 1.1.1__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.
Files changed (45) hide show
  1. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/PKG-INFO +1 -1
  2. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Workflow.py +50 -16
  3. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/PKG-INFO +1 -1
  4. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/pyproject.toml +1 -1
  5. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/LICENSE +0 -0
  6. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/README.md +0 -0
  7. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/__init__.py +0 -0
  8. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Asset.py +0 -0
  9. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Attribute.py +0 -0
  10. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Base.py +0 -0
  11. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Comment.py +0 -0
  12. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Community.py +0 -0
  13. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Domain.py +0 -0
  14. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Exceptions.py +0 -0
  15. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Metadata.py +0 -0
  16. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/OutputModule.py +0 -0
  17. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Relation.py +0 -0
  18. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Responsibility.py +0 -0
  19. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Search.py +0 -0
  20. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/User.py +0 -0
  21. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/Utils.py +0 -0
  22. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/api/__init__.py +0 -0
  23. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/async_connector.py +0 -0
  24. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/cli.py +0 -0
  25. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/connector.py +0 -0
  26. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/helpers.py +0 -0
  27. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/lineage.py +0 -0
  28. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/models.py +0 -0
  29. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/py.typed +0 -0
  30. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/telemetry.py +0 -0
  31. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector/testing.py +0 -0
  32. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/SOURCES.txt +0 -0
  33. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/dependency_links.txt +0 -0
  34. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/entry_points.txt +0 -0
  35. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/requires.txt +0 -0
  36. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/collibra_connector.egg-info/top_level.txt +0 -0
  37. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/setup.cfg +0 -0
  38. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_asset.py +0 -0
  39. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_connector.py +0 -0
  40. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_exceptions.py +0 -0
  41. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_helpers.py +0 -0
  42. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_lineage.py +0 -0
  43. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_models.py +0 -0
  44. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_search.py +0 -0
  45. {collibra_connector-1.1.0 → collibra_connector-1.1.1}/tests/test_testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: collibra-connector
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: An UNOFFICIAL standard Python connector for the Collibra Data Governance Center API with full type safety, async support, and enterprise features.
5
5
  Author-email: Raul Dalgamonni <rauldalgamonnialonso@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/rauldaal/collibra-python-connector
@@ -10,15 +10,26 @@ class Workflow(BaseAPI):
10
10
  def start_workflow_instance(
11
11
  self,
12
12
  workflow_definition_id: str,
13
- asset_id: str = None,
13
+ business_item_ids: list[str] = None,
14
+ business_item_type: str = None,
15
+ form_properties: dict[str, str] = None,
16
+ guest_user_id: str = None,
17
+ send_notification: bool = False,
14
18
  return_all: bool = False
15
19
  ):
16
20
  """
17
- Start a workflow instance.
18
- :param workflow_definition_id: The ID of the workflow definition.
19
- :param asset_id: Optional asset ID to associate with the workflow.
21
+ Start multiple workflow instances based on the provided request.
22
+
23
+ :param workflow_definition_id: The ID of the workflow definition (required).
24
+ :param business_item_ids: The list of IDs for the business items (optional).
25
+ :param business_item_type: The resource type of the passed in business items.
26
+ Allowed values: ASSET, DOMAIN, COMMUNITY, GLOBAL, USER (optional).
27
+ :param form_properties: The properties of the workflow as a dictionary (optional).
28
+ :param guest_user_id: The ID of the guest user starting the workflow (optional).
29
+ :param send_notification: Whether a mail notification on starting the workflows should be sent.
30
+ This notification is only used in the asynchronous api version (optional).
20
31
  :param return_all: Whether to return all workflow data or just the ID.
21
- :return: Workflow instance ID or full response data.
32
+ :return: Workflow instance ID or full response data (array of workflow instances).
22
33
  """
23
34
  if not workflow_definition_id:
24
35
  raise ValueError("workflow_definition_id is required")
@@ -32,21 +43,44 @@ class Workflow(BaseAPI):
32
43
 
33
44
  data = {
34
45
  "workflowDefinitionId": workflow_definition_id,
35
- "sendNotification": True
46
+ "sendNotification": send_notification
36
47
  }
37
48
 
38
- if asset_id:
39
- if not isinstance(asset_id, str):
40
- raise ValueError("asset_id must be a string")
49
+ if business_item_ids is not None:
50
+ if not isinstance(business_item_ids, list):
51
+ raise ValueError("business_item_ids must be a list")
52
+ if not all(isinstance(item_id, str) for item_id in business_item_ids):
53
+ raise ValueError("All business_item_ids must be strings")
54
+ for item_id in business_item_ids:
55
+ try:
56
+ uuid.UUID(item_id)
57
+ except ValueError as exc:
58
+ raise ValueError(f"business_item_id '{item_id}' must be a valid UUID") from exc
59
+ data["businessItemIds"] = business_item_ids
60
+
61
+ if business_item_type is not None:
62
+ if not isinstance(business_item_type, str):
63
+ raise ValueError("business_item_type must be a string")
64
+ valid_types = ["ASSET", "DOMAIN", "COMMUNITY", "GLOBAL", "USER"]
65
+ if business_item_type not in valid_types:
66
+ raise ValueError(f"business_item_type must be one of: {', '.join(valid_types)}")
67
+ data["businessItemType"] = business_item_type
68
+
69
+ if form_properties is not None:
70
+ if not isinstance(form_properties, dict):
71
+ raise ValueError("form_properties must be a dictionary")
72
+ if not all(isinstance(k, str) and isinstance(v, str) for k, v in form_properties.items()):
73
+ raise ValueError("All form_properties keys and values must be strings")
74
+ data["formProperties"] = form_properties
75
+
76
+ if guest_user_id is not None:
77
+ if not isinstance(guest_user_id, str):
78
+ raise ValueError("guest_user_id must be a string")
41
79
  try:
42
- uuid.UUID(asset_id)
80
+ uuid.UUID(guest_user_id)
43
81
  except ValueError as exc:
44
- raise ValueError("asset_id must be a valid UUID") from exc
45
-
46
- data.update({
47
- "businessItemIds": [asset_id],
48
- "businessItemType": "ASSET",
49
- })
82
+ raise ValueError("guest_user_id must be a valid UUID") from exc
83
+ data["guestUserId"] = guest_user_id
50
84
 
51
85
  response = self._post(url=f"{self.__base_api}/workflowInstances", data=data)
52
86
  result = self._handle_response(response)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: collibra-connector
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: An UNOFFICIAL standard Python connector for the Collibra Data Governance Center API with full type safety, async support, and enterprise features.
5
5
  Author-email: Raul Dalgamonni <rauldalgamonnialonso@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/rauldaal/collibra-python-connector
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "collibra-connector"
3
- version = "1.1.0"
3
+ version = "1.1.1"
4
4
  authors = [
5
5
  { name="Raul Dalgamonni", email="rauldalgamonnialonso@gmail.com"},
6
6
  ]