hexkit 5.3.0__tar.gz → 5.4.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 (64) hide show
  1. {hexkit-5.3.0/src/hexkit.egg-info → hexkit-5.4.1}/PKG-INFO +1 -1
  2. {hexkit-5.3.0 → hexkit-5.4.1}/pyproject.toml +1 -1
  3. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/log.py +4 -3
  4. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/dao.py +0 -2
  5. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/provider.py +0 -13
  6. {hexkit-5.3.0 → hexkit-5.4.1/src/hexkit.egg-info}/PKG-INFO +1 -1
  7. {hexkit-5.3.0 → hexkit-5.4.1}/LICENSE +0 -0
  8. {hexkit-5.3.0 → hexkit-5.4.1}/MANIFEST.in +0 -0
  9. {hexkit-5.3.0 → hexkit-5.4.1}/README.md +0 -0
  10. {hexkit-5.3.0 → hexkit-5.4.1}/setup.cfg +0 -0
  11. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/__init__.py +0 -0
  12. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/__main__.py +0 -0
  13. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/base.py +0 -0
  14. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/config.py +0 -0
  15. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/correlation.py +0 -0
  16. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/custom_types.py +0 -0
  17. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/opentelemetry.py +0 -0
  18. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/__init__.py +0 -0
  19. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/daopub.py +0 -0
  20. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/daosub.py +0 -0
  21. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/eventpub.py +0 -0
  22. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/eventsub.py +0 -0
  23. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/protocols/objstorage.py +0 -0
  24. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/__init__.py +0 -0
  25. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/__init__.py +0 -0
  26. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/config.py +0 -0
  27. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/provider/__init__.py +0 -0
  28. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/provider/daosub.py +0 -0
  29. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/provider/eventpub.py +0 -0
  30. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/provider/eventsub.py +0 -0
  31. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/provider/utils.py +0 -0
  32. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/testcontainer.py +0 -0
  33. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/akafka/testutils.py +0 -0
  34. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/__init__.py +0 -0
  35. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/migrations/__init__.py +0 -0
  36. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/migrations/_manager.py +0 -0
  37. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/migrations/_utils.py +0 -0
  38. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/provider.py +0 -0
  39. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongodb/testutils.py +0 -0
  40. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/__init__.py +0 -0
  41. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/provider/__init__.py +0 -0
  42. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/provider/config.py +0 -0
  43. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/provider/daopub.py +0 -0
  44. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/provider/persistent_pub.py +0 -0
  45. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/mongokafka/testutils.py +0 -0
  46. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/__init__.py +0 -0
  47. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/test_files/__init__.py +0 -0
  48. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/test_files/test_file1.yaml +0 -0
  49. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/test_files/test_file2.yaml +0 -0
  50. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/test_files/test_file3.yaml +0 -0
  51. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/test_files/test_file4.yaml +0 -0
  52. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/testutils/__init__.py +0 -0
  53. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/testutils/_fixtures.py +0 -0
  54. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/testutils/_typical_workflow.py +0 -0
  55. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/s3/testutils/_utils.py +0 -0
  56. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/testing/__init__.py +0 -0
  57. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/providers/testing/eventpub.py +0 -0
  58. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/py.typed +0 -0
  59. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit/utils.py +0 -0
  60. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit.egg-info/SOURCES.txt +0 -0
  61. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit.egg-info/dependency_links.txt +0 -0
  62. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit.egg-info/entry_points.txt +0 -0
  63. {hexkit-5.3.0 → hexkit-5.4.1}/src/hexkit.egg-info/requires.txt +0 -0
  64. {hexkit-5.3.0 → hexkit-5.4.1}/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.3.0
3
+ Version: 5.4.1
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.3.0"
27
+ version = "5.4.1"
28
28
  description = "A Toolkit for Building Microservices using the Hexagonal Architecture"
29
29
  dependencies = [
30
30
  "opentelemetry-api >=1.31.1, <2",
@@ -91,7 +91,8 @@ class JsonFormatter(Formatter):
91
91
  self._include_traceback = include_traceback
92
92
 
93
93
  def format(self, record: LogRecord) -> str:
94
- """Format the specified record as a JSON string.
94
+ """Format the specified record as a JSON string with non-serializable types
95
+ converted using repr.
95
96
 
96
97
  This will format the log record as JSON with the following values (in order):
97
98
  - timestamp: The ISO 8601-formatted timestamp of the log message.
@@ -133,8 +134,8 @@ class JsonFormatter(Formatter):
133
134
  exception["traceback"] = exc_text
134
135
  output["exception"] = exception
135
136
 
136
- # Convert to JSON string
137
- return json.dumps(output)
137
+ # Use repr for non-serializable types, since this matches the default logger
138
+ return json.dumps(output, default=repr)
138
139
 
139
140
 
140
141
  class RecordCompiler(StreamHandler):
@@ -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.3.0
3
+ Version: 5.4.1
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
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