hexkit 5.2.0__tar.gz → 5.4.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 (64) hide show
  1. {hexkit-5.2.0/src/hexkit.egg-info → hexkit-5.4.0}/PKG-INFO +1 -1
  2. {hexkit-5.2.0 → hexkit-5.4.0}/pyproject.toml +4 -1
  3. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/opentelemetry.py +15 -2
  4. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/dao.py +0 -2
  5. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/provider.py +0 -13
  6. {hexkit-5.2.0 → hexkit-5.4.0/src/hexkit.egg-info}/PKG-INFO +1 -1
  7. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit.egg-info/SOURCES.txt +1 -0
  8. hexkit-5.4.0/src/hexkit.egg-info/entry_points.txt +2 -0
  9. {hexkit-5.2.0 → hexkit-5.4.0}/LICENSE +0 -0
  10. {hexkit-5.2.0 → hexkit-5.4.0}/MANIFEST.in +0 -0
  11. {hexkit-5.2.0 → hexkit-5.4.0}/README.md +0 -0
  12. {hexkit-5.2.0 → hexkit-5.4.0}/setup.cfg +0 -0
  13. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/__init__.py +0 -0
  14. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/__main__.py +0 -0
  15. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/base.py +0 -0
  16. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/config.py +0 -0
  17. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/correlation.py +0 -0
  18. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/custom_types.py +0 -0
  19. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/log.py +0 -0
  20. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/__init__.py +0 -0
  21. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/daopub.py +0 -0
  22. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/daosub.py +0 -0
  23. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/eventpub.py +0 -0
  24. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/eventsub.py +0 -0
  25. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/protocols/objstorage.py +0 -0
  26. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/__init__.py +0 -0
  27. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/__init__.py +0 -0
  28. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/config.py +0 -0
  29. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/provider/__init__.py +0 -0
  30. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/provider/daosub.py +0 -0
  31. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/provider/eventpub.py +0 -0
  32. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/provider/eventsub.py +0 -0
  33. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/provider/utils.py +0 -0
  34. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/testcontainer.py +0 -0
  35. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/akafka/testutils.py +0 -0
  36. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/__init__.py +0 -0
  37. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/migrations/__init__.py +0 -0
  38. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/migrations/_manager.py +0 -0
  39. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/migrations/_utils.py +0 -0
  40. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/provider.py +0 -0
  41. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongodb/testutils.py +0 -0
  42. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/__init__.py +0 -0
  43. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/provider/__init__.py +0 -0
  44. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/provider/config.py +0 -0
  45. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/provider/daopub.py +0 -0
  46. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/provider/persistent_pub.py +0 -0
  47. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/mongokafka/testutils.py +0 -0
  48. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/__init__.py +0 -0
  49. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/test_files/__init__.py +0 -0
  50. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/test_files/test_file1.yaml +0 -0
  51. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/test_files/test_file2.yaml +0 -0
  52. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/test_files/test_file3.yaml +0 -0
  53. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/test_files/test_file4.yaml +0 -0
  54. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/testutils/__init__.py +0 -0
  55. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/testutils/_fixtures.py +0 -0
  56. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/testutils/_typical_workflow.py +0 -0
  57. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/s3/testutils/_utils.py +0 -0
  58. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/testing/__init__.py +0 -0
  59. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/providers/testing/eventpub.py +0 -0
  60. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/py.typed +0 -0
  61. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit/utils.py +0 -0
  62. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit.egg-info/dependency_links.txt +0 -0
  63. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit.egg-info/requires.txt +0 -0
  64. {hexkit-5.2.0 → hexkit-5.4.0}/src/hexkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexkit
3
- Version: 5.2.0
3
+ Version: 5.4.0
4
4
  Summary: A Toolkit for Building Microservices using the Hexagonal Architecture
5
5
  Author-email: "German Human Genome Phenome Archive (GHGA)" <contact@ghga.de>
6
6
  License: Apache 2.0
@@ -24,7 +24,7 @@ classifiers = [
24
24
  "Intended Audience :: Developers",
25
25
  ]
26
26
  name = "hexkit"
27
- version = "5.2.0"
27
+ version = "5.4.0"
28
28
  description = "A Toolkit for Building Microservices using the Hexagonal Architecture"
29
29
  dependencies = [
30
30
  "opentelemetry-api >=1.31.1, <2",
@@ -102,6 +102,9 @@ all = [
102
102
  [project.urls]
103
103
  Repository = "https://github.com/ghga-de/hexkit"
104
104
 
105
+ [project.entry-points.opentelemetry_distro]
106
+ hexkit_distro = "hexkit.opentelemetry:HexkitDistro"
107
+
105
108
  [tool.setuptools.packages.find]
106
109
  where = [
107
110
  "src",
@@ -25,6 +25,9 @@ from opentelemetry.environment_variables import (
25
25
  OTEL_TRACES_EXPORTER,
26
26
  )
27
27
  from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
28
+ from opentelemetry.instrumentation.distro import ( # type: ignore[attr-defined]
29
+ BaseDistro,
30
+ )
28
31
  from opentelemetry.sdk.environment_variables import (
29
32
  OTEL_EXPORTER_OTLP_ENDPOINT,
30
33
  OTEL_EXPORTER_OTLP_PROTOCOL,
@@ -95,6 +98,16 @@ class OpenTelemetryConfig(BaseSettings):
95
98
  )
96
99
 
97
100
 
101
+ class HexkitDistro(BaseDistro):
102
+ """
103
+ Custom OpenTelemetry Distro configuring a default set of configuration
104
+ based on a config file.
105
+ """
106
+
107
+ def _configure(self, **kwargs):
108
+ """Custom DefaultDistro iplementation to provide autoinstrumentation entry points."""
109
+
110
+
98
111
  def configure_opentelemetry(*, service_name: str, config: OpenTelemetryConfig):
99
112
  """Configure all needed parts of OpenTelemetry.
100
113
 
@@ -143,8 +156,8 @@ def configure_opentelemetry(*, service_name: str, config: OpenTelemetryConfig):
143
156
 
144
157
  def start_span(
145
158
  *,
146
- record_exception: bool = False,
147
- set_status_on_exception: bool = False,
159
+ record_exception: bool = True,
160
+ set_status_on_exception: bool = True,
148
161
  ) -> Callable:
149
162
  """Returns decorated or undecorated function depending on if TRACER is instantiated.
150
163
 
@@ -18,8 +18,6 @@
18
18
  with the database.
19
19
  """
20
20
 
21
- # ruff: noqa: PLR0913
22
-
23
21
  import typing
24
22
  from abc import ABC, abstractmethod
25
23
  from collections.abc import AsyncIterator, Collection, Mapping
@@ -22,7 +22,6 @@ Utilities for testing are located in `./testutils.py`.
22
22
  # ruff: noqa: PLR0913
23
23
 
24
24
  import asyncio
25
- import logging
26
25
  import re
27
26
  from functools import lru_cache
28
27
  from pathlib import Path
@@ -854,18 +853,6 @@ class S3ObjectStorage(ObjectStorageProtocol):
854
853
  await self._assert_object_not_exists(
855
854
  bucket_id=dest_bucket_id, object_id=dest_object_id
856
855
  )
857
-
858
- underway_operations = await self._list_multipart_upload_for_object(
859
- bucket_id=dest_bucket_id, object_id=dest_object_id
860
- )
861
- if len(underway_operations) > 0:
862
- logging.info(
863
- "Upload or copy operation already exists for object id '%s' in bucket '%s'.",
864
- dest_object_id,
865
- dest_bucket_id,
866
- )
867
- return
868
-
869
856
  part_size = calc_part_size(file_size=file_size)
870
857
 
871
858
  transfer_config = TransferConfig(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexkit
3
- Version: 5.2.0
3
+ Version: 5.4.0
4
4
  Summary: A Toolkit for Building Microservices using the Hexagonal Architecture
5
5
  Author-email: "German Human Genome Phenome Archive (GHGA)" <contact@ghga.de>
6
6
  License: Apache 2.0
@@ -15,6 +15,7 @@ src/hexkit/utils.py
15
15
  src/hexkit.egg-info/PKG-INFO
16
16
  src/hexkit.egg-info/SOURCES.txt
17
17
  src/hexkit.egg-info/dependency_links.txt
18
+ src/hexkit.egg-info/entry_points.txt
18
19
  src/hexkit.egg-info/requires.txt
19
20
  src/hexkit.egg-info/top_level.txt
20
21
  src/hexkit/protocols/__init__.py
@@ -0,0 +1,2 @@
1
+ [opentelemetry_distro]
2
+ hexkit_distro = hexkit.opentelemetry:HexkitDistro
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes