hexkit 4.6.0__tar.gz → 4.6.2__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 (63) hide show
  1. {hexkit-4.6.0/src/hexkit.egg-info → hexkit-4.6.2}/PKG-INFO +26 -10
  2. {hexkit-4.6.0 → hexkit-4.6.2}/pyproject.toml +26 -5
  3. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/opentelemetry_setup.py +4 -4
  4. {hexkit-4.6.0 → hexkit-4.6.2/src/hexkit.egg-info}/PKG-INFO +26 -10
  5. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit.egg-info/requires.txt +24 -3
  6. {hexkit-4.6.0 → hexkit-4.6.2}/LICENSE +0 -0
  7. {hexkit-4.6.0 → hexkit-4.6.2}/MANIFEST.in +0 -0
  8. {hexkit-4.6.0 → hexkit-4.6.2}/README.md +0 -0
  9. {hexkit-4.6.0 → hexkit-4.6.2}/setup.cfg +0 -0
  10. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/__init__.py +0 -0
  11. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/__main__.py +0 -0
  12. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/base.py +0 -0
  13. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/config.py +0 -0
  14. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/correlation.py +0 -0
  15. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/custom_types.py +0 -0
  16. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/log.py +0 -0
  17. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/__init__.py +0 -0
  18. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/dao.py +0 -0
  19. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/daopub.py +0 -0
  20. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/daosub.py +0 -0
  21. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/eventpub.py +0 -0
  22. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/eventsub.py +0 -0
  23. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/protocols/objstorage.py +0 -0
  24. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/__init__.py +0 -0
  25. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/__init__.py +0 -0
  26. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/config.py +0 -0
  27. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/provider/__init__.py +0 -0
  28. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/provider/daosub.py +0 -0
  29. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/provider/eventpub.py +0 -0
  30. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/provider/eventsub.py +0 -0
  31. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/provider/utils.py +0 -0
  32. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/testcontainer.py +0 -0
  33. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/akafka/testutils.py +0 -0
  34. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/__init__.py +0 -0
  35. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/migrations/__init__.py +0 -0
  36. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/migrations/_manager.py +0 -0
  37. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/migrations/_utils.py +0 -0
  38. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/provider.py +0 -0
  39. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongodb/testutils.py +0 -0
  40. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/__init__.py +0 -0
  41. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/provider/__init__.py +0 -0
  42. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/provider/config.py +0 -0
  43. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/provider/daopub.py +0 -0
  44. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/provider/persistent_pub.py +0 -0
  45. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/mongokafka/testutils.py +0 -0
  46. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/__init__.py +0 -0
  47. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/provider.py +0 -0
  48. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/test_files/__init__.py +0 -0
  49. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/test_files/test_file1.yaml +0 -0
  50. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/test_files/test_file2.yaml +0 -0
  51. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/test_files/test_file3.yaml +0 -0
  52. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/test_files/test_file4.yaml +0 -0
  53. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/testutils/__init__.py +0 -0
  54. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/testutils/_fixtures.py +0 -0
  55. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/testutils/_typical_workflow.py +0 -0
  56. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/s3/testutils/_utils.py +0 -0
  57. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/testing/__init__.py +0 -0
  58. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/providers/testing/eventpub.py +0 -0
  59. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/py.typed +0 -0
  60. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit/utils.py +0 -0
  61. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit.egg-info/SOURCES.txt +0 -0
  62. {hexkit-4.6.0 → hexkit-4.6.2}/src/hexkit.egg-info/dependency_links.txt +0 -0
  63. {hexkit-4.6.0 → hexkit-4.6.2}/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: 4.6.0
3
+ Version: 4.6.2
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
@@ -31,16 +31,32 @@ Requires-Dist: boto3<2,>=1.37; extra == "s3"
31
31
  Requires-Dist: botocore<2,>=1.37; extra == "s3"
32
32
  Provides-Extra: mongodb
33
33
  Requires-Dist: motor<4,>=3.7; extra == "mongodb"
34
+ Provides-Extra: opentelemetry-base
35
+ Requires-Dist: opentelemetry-sdk<2,>=1.31.1; extra == "opentelemetry-base"
36
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.31.1; extra == "opentelemetry-base"
37
+ Requires-Dist: opentelemetry-distro>=0.52b1; extra == "opentelemetry-base"
38
+ Requires-Dist: opentelemetry-instrumentation>=0.52b1; extra == "opentelemetry-base"
39
+ Requires-Dist: opentelemetry-instrumentation-httpx>=0.52b1; extra == "opentelemetry-base"
40
+ Provides-Extra: opentelemetry-akafka
41
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-akafka"
42
+ Requires-Dist: hexkit[akafka]; extra == "opentelemetry-akafka"
43
+ Requires-Dist: opentelemetry-instrumentation-aiokafka>=0.52b1; extra == "opentelemetry-akafka"
44
+ Provides-Extra: opentelemetry-mongodb
45
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-mongodb"
46
+ Requires-Dist: hexkit[mongodb]; extra == "opentelemetry-mongodb"
47
+ Requires-Dist: opentelemetry-instrumentation-pymongo>=0.52b1; extra == "opentelemetry-mongodb"
48
+ Provides-Extra: opentelemetry-fastapi
49
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-fastapi"
50
+ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.52b1; extra == "opentelemetry-fastapi"
51
+ Provides-Extra: opentelemetry-s3
52
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-s3"
53
+ Requires-Dist: hexkit[s3]; extra == "opentelemetry-s3"
54
+ Requires-Dist: opentelemetry-instrumentation-botocore>=0.52b1; extra == "opentelemetry-s3"
34
55
  Provides-Extra: opentelemetry
35
- Requires-Dist: opentelemetry-sdk<2,>=1.31.1; extra == "opentelemetry"
36
- Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.31.1; extra == "opentelemetry"
37
- Requires-Dist: opentelemetry-distro>=0.52b1; extra == "opentelemetry"
38
- Requires-Dist: opentelemetry-instrumentation>=0.52b1; extra == "opentelemetry"
39
- Requires-Dist: opentelemetry-instrumentation-aiokafka>=0.52b1; extra == "opentelemetry"
40
- Requires-Dist: opentelemetry-instrumentation-botocore>=0.52b1; extra == "opentelemetry"
41
- Requires-Dist: opentelemetry-instrumentation-fastapi>=0.52b1; extra == "opentelemetry"
42
- Requires-Dist: opentelemetry-instrumentation-httpx>=0.52b1; extra == "opentelemetry"
43
- Requires-Dist: opentelemetry-instrumentation-pymongo>=0.52b1; extra == "opentelemetry"
56
+ Requires-Dist: hexkit[opentelemetry-akafka]; extra == "opentelemetry"
57
+ Requires-Dist: hexkit[opentelemetry-mongodb]; extra == "opentelemetry"
58
+ Requires-Dist: hexkit[opentelemetry-fastapi]; extra == "opentelemetry"
59
+ Requires-Dist: hexkit[opentelemetry-s3]; extra == "opentelemetry"
44
60
  Provides-Extra: test-akafka
45
61
  Requires-Dist: hexkit[akafka]; extra == "test-akafka"
46
62
  Requires-Dist: testcontainers[kafka]<5,>=4.9; extra == "test-akafka"
@@ -24,7 +24,7 @@ classifiers = [
24
24
  "Intended Audience :: Developers",
25
25
  ]
26
26
  name = "hexkit"
27
- version = "4.6.0"
27
+ version = "4.6.2"
28
28
  description = "A Toolkit for Building Microservices using the Hexagonal Architecture"
29
29
  dependencies = [
30
30
  "opentelemetry-api >=1.31.1, <2",
@@ -48,17 +48,38 @@ s3 = [
48
48
  mongodb = [
49
49
  "motor >=3.7, <4",
50
50
  ]
51
- opentelemetry = [
51
+ opentelemetry-base = [
52
52
  "opentelemetry-sdk >=1.31.1, <2",
53
53
  "opentelemetry-exporter-otlp-proto-http >=1.31.1, <2",
54
54
  "opentelemetry-distro >=0.52b1",
55
55
  "opentelemetry-instrumentation >=0.52b1",
56
- "opentelemetry-instrumentation-aiokafka >=0.52b1",
57
- "opentelemetry-instrumentation-botocore >=0.52b1",
58
- "opentelemetry-instrumentation-fastapi >=0.52b1",
59
56
  "opentelemetry-instrumentation-httpx >=0.52b1",
57
+ ]
58
+ opentelemetry-akafka = [
59
+ "hexkit[opentelemetry-base]",
60
+ "hexkit[akafka]",
61
+ "opentelemetry-instrumentation-aiokafka >=0.52b1",
62
+ ]
63
+ opentelemetry-mongodb = [
64
+ "hexkit[opentelemetry-base]",
65
+ "hexkit[mongodb]",
60
66
  "opentelemetry-instrumentation-pymongo >=0.52b1",
61
67
  ]
68
+ opentelemetry-fastapi = [
69
+ "hexkit[opentelemetry-base]",
70
+ "opentelemetry-instrumentation-fastapi >=0.52b1",
71
+ ]
72
+ opentelemetry-s3 = [
73
+ "hexkit[opentelemetry-base]",
74
+ "hexkit[s3]",
75
+ "opentelemetry-instrumentation-botocore >=0.52b1",
76
+ ]
77
+ opentelemetry = [
78
+ "hexkit[opentelemetry-akafka]",
79
+ "hexkit[opentelemetry-mongodb]",
80
+ "hexkit[opentelemetry-fastapi]",
81
+ "hexkit[opentelemetry-s3]",
82
+ ]
62
83
  test-akafka = [
63
84
  "hexkit[akafka]",
64
85
  "testcontainers[kafka] >=4.9, <5",
@@ -77,14 +77,14 @@ class OpenTelemetryConfig(BaseSettings):
77
77
  "If set to false, environment variables are set that should also effectively "
78
78
  "disable autoinstrumentation.",
79
79
  )
80
- samplig_rate: Annotated[float, Field(strict=True, ge=0, le=1)] = Field(
80
+ otel_trace_sampling_rate: Annotated[float, Field(strict=True, ge=0, le=1)] = Field(
81
81
  default=1.0,
82
82
  description="Determines which proportion of spans should be sampled. "
83
83
  "A value of 1.0 means all and is equivalent to the previous behaviour. "
84
84
  "Setting this to 0 will result in no spans being sampled, but this does not "
85
85
  "automatically set `enable_opentelemetry` to False.",
86
86
  )
87
- protocol: Literal["grpc", "http/protobuf"] = Field(
87
+ otel_exporter_protocol: Literal["grpc", "http/protobuf"] = Field(
88
88
  default="http/protobuf",
89
89
  description="Specifies which protocol should be used by exporters.",
90
90
  )
@@ -110,7 +110,7 @@ def configure_tracer(*, service_name: str, config: OpenTelemetryConfig):
110
110
  """
111
111
  global TRACER
112
112
  # opentelemetry distro sets this to grpc, but in the current context http/protobuf is preferred
113
- os.environ[OTEL_EXPORTER_OTLP_PROTOCOL] = config.protocol
113
+ os.environ[OTEL_EXPORTER_OTLP_PROTOCOL] = config.otel_exporter_protocol
114
114
  # Disable OpenTelemetry metrics and logs explicitly as they are not processed in the backend currently
115
115
  # This overwrites the defaults of `otlp` set in opentelemetry distro
116
116
  os.environ[OTEL_METRICS_EXPORTER] = "none"
@@ -131,7 +131,7 @@ def configure_tracer(*, service_name: str, config: OpenTelemetryConfig):
131
131
  # across service boundaries
132
132
  # With the default sampling rate, behaviour does not change, but this allows to
133
133
  # introduce head sampling by adjusting a config option on the service side later on
134
- sampler = ParentBasedTraceIdRatio(rate=config.samplig_rate)
134
+ sampler = ParentBasedTraceIdRatio(rate=config.otel_trace_sampling_rate)
135
135
 
136
136
  # Initialize service specific TracerProvider
137
137
  trace_provider = TracerProvider(resource=resource, sampler=sampler)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexkit
3
- Version: 4.6.0
3
+ Version: 4.6.2
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
@@ -31,16 +31,32 @@ Requires-Dist: boto3<2,>=1.37; extra == "s3"
31
31
  Requires-Dist: botocore<2,>=1.37; extra == "s3"
32
32
  Provides-Extra: mongodb
33
33
  Requires-Dist: motor<4,>=3.7; extra == "mongodb"
34
+ Provides-Extra: opentelemetry-base
35
+ Requires-Dist: opentelemetry-sdk<2,>=1.31.1; extra == "opentelemetry-base"
36
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.31.1; extra == "opentelemetry-base"
37
+ Requires-Dist: opentelemetry-distro>=0.52b1; extra == "opentelemetry-base"
38
+ Requires-Dist: opentelemetry-instrumentation>=0.52b1; extra == "opentelemetry-base"
39
+ Requires-Dist: opentelemetry-instrumentation-httpx>=0.52b1; extra == "opentelemetry-base"
40
+ Provides-Extra: opentelemetry-akafka
41
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-akafka"
42
+ Requires-Dist: hexkit[akafka]; extra == "opentelemetry-akafka"
43
+ Requires-Dist: opentelemetry-instrumentation-aiokafka>=0.52b1; extra == "opentelemetry-akafka"
44
+ Provides-Extra: opentelemetry-mongodb
45
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-mongodb"
46
+ Requires-Dist: hexkit[mongodb]; extra == "opentelemetry-mongodb"
47
+ Requires-Dist: opentelemetry-instrumentation-pymongo>=0.52b1; extra == "opentelemetry-mongodb"
48
+ Provides-Extra: opentelemetry-fastapi
49
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-fastapi"
50
+ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.52b1; extra == "opentelemetry-fastapi"
51
+ Provides-Extra: opentelemetry-s3
52
+ Requires-Dist: hexkit[opentelemetry-base]; extra == "opentelemetry-s3"
53
+ Requires-Dist: hexkit[s3]; extra == "opentelemetry-s3"
54
+ Requires-Dist: opentelemetry-instrumentation-botocore>=0.52b1; extra == "opentelemetry-s3"
34
55
  Provides-Extra: opentelemetry
35
- Requires-Dist: opentelemetry-sdk<2,>=1.31.1; extra == "opentelemetry"
36
- Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.31.1; extra == "opentelemetry"
37
- Requires-Dist: opentelemetry-distro>=0.52b1; extra == "opentelemetry"
38
- Requires-Dist: opentelemetry-instrumentation>=0.52b1; extra == "opentelemetry"
39
- Requires-Dist: opentelemetry-instrumentation-aiokafka>=0.52b1; extra == "opentelemetry"
40
- Requires-Dist: opentelemetry-instrumentation-botocore>=0.52b1; extra == "opentelemetry"
41
- Requires-Dist: opentelemetry-instrumentation-fastapi>=0.52b1; extra == "opentelemetry"
42
- Requires-Dist: opentelemetry-instrumentation-httpx>=0.52b1; extra == "opentelemetry"
43
- Requires-Dist: opentelemetry-instrumentation-pymongo>=0.52b1; extra == "opentelemetry"
56
+ Requires-Dist: hexkit[opentelemetry-akafka]; extra == "opentelemetry"
57
+ Requires-Dist: hexkit[opentelemetry-mongodb]; extra == "opentelemetry"
58
+ Requires-Dist: hexkit[opentelemetry-fastapi]; extra == "opentelemetry"
59
+ Requires-Dist: hexkit[opentelemetry-s3]; extra == "opentelemetry"
44
60
  Provides-Extra: test-akafka
45
61
  Requires-Dist: hexkit[akafka]; extra == "test-akafka"
46
62
  Requires-Dist: testcontainers[kafka]<5,>=4.9; extra == "test-akafka"
@@ -15,16 +15,37 @@ hexkit[opentelemetry]
15
15
  motor<4,>=3.7
16
16
 
17
17
  [opentelemetry]
18
+ hexkit[opentelemetry-akafka]
19
+ hexkit[opentelemetry-mongodb]
20
+ hexkit[opentelemetry-fastapi]
21
+ hexkit[opentelemetry-s3]
22
+
23
+ [opentelemetry-akafka]
24
+ hexkit[opentelemetry-base]
25
+ hexkit[akafka]
26
+ opentelemetry-instrumentation-aiokafka>=0.52b1
27
+
28
+ [opentelemetry-base]
18
29
  opentelemetry-sdk<2,>=1.31.1
19
30
  opentelemetry-exporter-otlp-proto-http<2,>=1.31.1
20
31
  opentelemetry-distro>=0.52b1
21
32
  opentelemetry-instrumentation>=0.52b1
22
- opentelemetry-instrumentation-aiokafka>=0.52b1
23
- opentelemetry-instrumentation-botocore>=0.52b1
24
- opentelemetry-instrumentation-fastapi>=0.52b1
25
33
  opentelemetry-instrumentation-httpx>=0.52b1
34
+
35
+ [opentelemetry-fastapi]
36
+ hexkit[opentelemetry-base]
37
+ opentelemetry-instrumentation-fastapi>=0.52b1
38
+
39
+ [opentelemetry-mongodb]
40
+ hexkit[opentelemetry-base]
41
+ hexkit[mongodb]
26
42
  opentelemetry-instrumentation-pymongo>=0.52b1
27
43
 
44
+ [opentelemetry-s3]
45
+ hexkit[opentelemetry-base]
46
+ hexkit[s3]
47
+ opentelemetry-instrumentation-botocore>=0.52b1
48
+
28
49
  [s3]
29
50
  boto3<2,>=1.37
30
51
  botocore<2,>=1.37
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