keboola.component 1.9.2__tar.gz → 1.10.0__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 (22) hide show
  1. {keboola_component-1.9.2/src/keboola.component.egg-info → keboola_component-1.10.0}/PKG-INFO +1 -1
  2. {keboola_component-1.9.2 → keboola_component-1.10.0}/pyproject.toml +1 -1
  3. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/base.py +3 -0
  4. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/interface.py +18 -11
  5. {keboola_component-1.9.2 → keboola_component-1.10.0/src/keboola.component.egg-info}/PKG-INFO +1 -1
  6. {keboola_component-1.9.2 → keboola_component-1.10.0}/LICENSE +0 -0
  7. {keboola_component-1.9.2 → keboola_component-1.10.0}/README.md +0 -0
  8. {keboola_component-1.9.2 → keboola_component-1.10.0}/setup.cfg +0 -0
  9. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/__init__.py +0 -0
  10. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/dao.py +0 -0
  11. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/exceptions.py +0 -0
  12. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/sync_actions.py +0 -0
  13. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola/component/table_schema.py +0 -0
  14. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola.component.egg-info/SOURCES.txt +0 -0
  15. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola.component.egg-info/dependency_links.txt +0 -0
  16. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola.component.egg-info/requires.txt +0 -0
  17. {keboola_component-1.9.2 → keboola_component-1.10.0}/src/keboola.component.egg-info/top_level.txt +0 -0
  18. {keboola_component-1.9.2 → keboola_component-1.10.0}/tests/test_base.py +0 -0
  19. {keboola_component-1.9.2 → keboola_component-1.10.0}/tests/test_dao.py +0 -0
  20. {keboola_component-1.9.2 → keboola_component-1.10.0}/tests/test_interface.py +0 -0
  21. {keboola_component-1.9.2 → keboola_component-1.10.0}/tests/test_schema.py +0 -0
  22. {keboola_component-1.9.2 → keboola_component-1.10.0}/tests/test_sync_actions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keboola.component
3
- Version: 1.9.2
3
+ Version: 1.10.0
4
4
  Summary: General library for Python applications running in Keboola Connection environment
5
5
  Author-email: Keboola KDS Team <support@keboola.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "keboola.component"
3
- version = "1.9.2" # replaced by the actual version based on the release tag in github actions
3
+ version = "1.10.0" # replaced by the actual version based on the release tag in github actions
4
4
  dependencies = [
5
5
  "pygelf",
6
6
  "deprecated",
@@ -274,6 +274,9 @@ class ComponentBase(ABC, CommonInterface):
274
274
  """Replay HTTP interactions from data/cassettes/requests.json."""
275
275
  from keboola.vcr import VCRRecorder
276
276
 
277
+ for name in ("vcr", "urllib3"):
278
+ logging.getLogger(name).setLevel(logging.WARNING)
279
+
277
280
  data_dir = os.environ.get("KBC_DATADIR", "/data")
278
281
  recorder = VCRRecorder(cassette_dir=Path(data_dir) / "cassettes")
279
282
  recorder.replay(self._do_execute_action)
@@ -160,18 +160,22 @@ class CommonInterface:
160
160
 
161
161
  hd1 = logging.StreamHandler(sys.stdout)
162
162
  hd1.addFilter(InfoFilter())
163
+ hd1._keboola_owned = True
163
164
  hd2 = logging.StreamHandler(sys.stderr)
164
165
  hd2.setLevel(logging.WARNING)
166
+ hd2._keboola_owned = True
165
167
 
166
- logging.getLogger().setLevel(log_level)
167
- # remove default handler
168
- for h in logging.getLogger().handlers:
169
- logging.getLogger().removeHandler(h)
170
- logging.getLogger().addHandler(hd1)
171
- logging.getLogger().addHandler(hd2)
168
+ root = logging.getLogger()
169
+ root.setLevel(log_level)
170
+ # Remove only handlers previously installed by keboola.component, leaving
171
+ # any external handlers (e.g. test infrastructure) untouched.
172
+ for h in list(root.handlers):
173
+ if getattr(h, "_keboola_owned", False):
174
+ root.removeHandler(h)
175
+ root.addHandler(hd1)
176
+ root.addHandler(hd2)
172
177
 
173
- logger = logging.getLogger()
174
- return logger
178
+ return root
175
179
 
176
180
  @staticmethod
177
181
  def set_gelf_logger(
@@ -192,9 +196,11 @@ class CommonInterface:
192
196
 
193
197
  Returns: Logger object
194
198
  """
195
- # remove existing handlers
196
- for h in logging.getLogger().handlers:
197
- logging.getLogger().removeHandler(h)
199
+ # Remove only handlers previously installed by keboola.component.
200
+ root = logging.getLogger()
201
+ for h in list(root.handlers):
202
+ if getattr(h, "_keboola_owned", False):
203
+ root.removeHandler(h)
198
204
  if stdout:
199
205
  CommonInterface.set_default_logger(log_level)
200
206
 
@@ -210,6 +216,7 @@ class CommonInterface:
210
216
  else:
211
217
  raise ValueError(f"Unsupported gelf transport layer: {transport_layer}. Choose TCP or UDP")
212
218
 
219
+ gelf._keboola_owned = True
213
220
  logging.getLogger().setLevel(log_level)
214
221
  logging.getLogger().addHandler(gelf)
215
222
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keboola.component
3
- Version: 1.9.2
3
+ Version: 1.10.0
4
4
  Summary: General library for Python applications running in Keboola Connection environment
5
5
  Author-email: Keboola KDS Team <support@keboola.com>
6
6
  License-Expression: MIT