dc-python-sdk 1.5.50__tar.gz → 1.5.51__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 (38) hide show
  1. {dc_python_sdk-1.5.50/src/dc_python_sdk.egg-info → dc_python_sdk-1.5.51}/PKG-INFO +1 -1
  2. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/pyproject.toml +1 -1
  3. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/setup.cfg +1 -1
  4. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51/src/dc_python_sdk.egg-info}/PKG-INFO +1 -1
  5. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/mapping.py +15 -5
  6. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/LICENSE +0 -0
  7. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/README.md +0 -0
  8. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_python_sdk.egg-info/SOURCES.txt +0 -0
  9. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_python_sdk.egg-info/dependency_links.txt +0 -0
  10. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_python_sdk.egg-info/entry_points.txt +0 -0
  11. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_python_sdk.egg-info/requires.txt +0 -0
  12. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_python_sdk.egg-info/top_level.txt +0 -0
  13. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/__init__.py +0 -0
  14. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/app.py +0 -0
  15. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/cli.py +0 -0
  16. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/data_stream.py +0 -0
  17. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/errors.py +0 -0
  18. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/handler.py +0 -0
  19. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/__init__.py +0 -0
  20. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/ai.py +0 -0
  21. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/ai_http.py +0 -0
  22. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/connection_status.py +0 -0
  23. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/destination_object_template.py +0 -0
  24. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/models/__init__.py +0 -0
  25. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/models/enums.py +0 -0
  26. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/models/errors.py +0 -0
  27. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/models/log_templates.py +0 -0
  28. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/models/pipeline_details.py +0 -0
  29. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/pipeline.py +0 -0
  30. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/server.py +0 -0
  31. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/__init__.py +0 -0
  32. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/api.py +0 -0
  33. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/aws.py +0 -0
  34. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/environment.py +0 -0
  35. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/loader.py +0 -0
  36. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/logger.py +0 -0
  37. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/src/services/session.py +0 -0
  38. {dc_python_sdk-1.5.50 → dc_python_sdk-1.5.51}/src/dc_sdk/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dc-python-sdk
3
- Version: 1.5.50
3
+ Version: 1.5.51
4
4
  Summary: Data Connector Python SDK
5
5
  Home-page: https://github.com/data-connector/dc-python-sdk
6
6
  Author: DataConnector
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dc-python-sdk"
7
- version = "1.5.50"
7
+ version = "1.5.51"
8
8
  description = "Data Connector Python SDK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.6"
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = dc-python-sdk
3
- version = 1.5.50
3
+ version = 1.5.51
4
4
  author = DataConnector
5
5
  author_email = josh@dataconnector.com
6
6
  description = A small example package
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dc-python-sdk
3
- Version: 1.5.50
3
+ Version: 1.5.51
4
4
  Summary: Data Connector Python SDK
5
5
  Home-page: https://github.com/data-connector/dc-python-sdk
6
6
  Author: DataConnector
@@ -71,12 +71,21 @@ class Mapping():
71
71
 
72
72
  self._ensure_session(force_authenticate=False)
73
73
 
74
- def _safe_get_metadata(self):
74
+ def _get_metadata(self, required=False):
75
+ """
76
+ Fetch connector metadata.
77
+
78
+ On connect/authenticate paths, failures must surface (required=True) so
79
+ report-catalog connectors cannot look Connected with empty accounts.
80
+ Soft-fail (required=False) only for optional metadata enrichment.
81
+ """
75
82
  try:
76
83
  return self.connector.get_metadata()
77
84
  except errors.NotImplementedError:
78
85
  return None
79
86
  except Exception:
87
+ if required:
88
+ raise
80
89
  logger.exception("Error getting metadata")
81
90
  return None
82
91
 
@@ -86,7 +95,7 @@ class Mapping():
86
95
 
87
96
  self._ensure_session(force_authenticate=force_authenticate)
88
97
 
89
- metadata = self._safe_get_metadata()
98
+ metadata = self._get_metadata(required=True)
90
99
  results = {
91
100
  "metadata": metadata
92
101
  }
@@ -106,7 +115,7 @@ class Mapping():
106
115
  )
107
116
 
108
117
  objects = self.connector.get_objects()
109
- metadata = self._safe_get_metadata()
118
+ metadata = self._get_metadata(required=True)
110
119
 
111
120
  results = {
112
121
  "metadata": metadata,
@@ -122,7 +131,7 @@ class Mapping():
122
131
  force_authenticate=force_authenticate,
123
132
  )
124
133
 
125
- metadata = self._safe_get_metadata()
134
+ metadata = self._get_metadata(required=True)
126
135
  return [{"metadata": metadata}, "Retrieved metadata"]
127
136
 
128
137
  def get_objects_only(self, skip_authenticate=False, force_authenticate=False, include_metadata=True):
@@ -135,7 +144,8 @@ class Mapping():
135
144
  results = {"objects": objects}
136
145
 
137
146
  if include_metadata:
138
- results["metadata"] = self._safe_get_metadata()
147
+ # Optional enrichment on object-only fetches; connect path uses required=True.
148
+ results["metadata"] = self._get_metadata(required=False)
139
149
 
140
150
  return [results, "Retrieved objects"]
141
151
 
File without changes
File without changes