boto3-assist 0.9.1__tar.gz → 0.9.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 (125) hide show
  1. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/PKG-INFO +1 -1
  2. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/pyproject.toml +1 -1
  3. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/serialization_utility.py +3 -0
  4. boto3_assist-0.9.2/src/boto3_assist/version.py +1 -0
  5. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/models/serializable_model_test.py +12 -1
  6. boto3_assist-0.9.1/src/boto3_assist/version.py +0 -1
  7. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.env.docker +0 -0
  8. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.env.docker.001 +0 -0
  9. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.env.docker.nosql.workbench +0 -0
  10. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.env.unittest +0 -0
  11. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.gitignore +0 -0
  12. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.vscode/launch.json +0 -0
  13. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.vscode/settings.json +0 -0
  14. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/.vscode/tasks.json +0 -0
  15. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/LICENSE-EXPLAINED.txt +0 -0
  16. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/LICENSE.txt +0 -0
  17. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/README.md +0 -0
  18. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/aws_regions_with_status.csv +0 -0
  19. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/aws_regions_with_status.json +0 -0
  20. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/devops/build.py +0 -0
  21. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/devops/readme.md +0 -0
  22. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/__init__.py +0 -0
  23. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/cloudwatch/log_report.py +0 -0
  24. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/models/order_item_model.py +0 -0
  25. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/models/order_model.py +0 -0
  26. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/models/product_model.py +0 -0
  27. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/models/user_model.py +0 -0
  28. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/models/user_post_model.py +0 -0
  29. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/order_example/main.py +0 -0
  30. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/order_example/products.json +0 -0
  31. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/order_item_service.py +0 -0
  32. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/order_service.py +0 -0
  33. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/product_service.py +0 -0
  34. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/table_service.py +0 -0
  35. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/user_post_service.py +0 -0
  36. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/user_service.py +0 -0
  37. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/user_service_client_example.py +0 -0
  38. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/services/user_service_resource_example.py +0 -0
  39. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/dynamodb/user_post_example/main.py +0 -0
  40. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/examples/ec2/regions_report.py +0 -0
  41. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/module-headers.txt +0 -0
  42. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/mypy.ini +0 -0
  43. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/requirements-dev.txt +0 -0
  44. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/requirements.txt +0 -0
  45. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/run-checks.sh +0 -0
  46. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/run_unit_tests.sh +0 -0
  47. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/__init__.py +0 -0
  48. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/aws_lambda/event_info.py +0 -0
  49. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/boto3session.py +0 -0
  50. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cloudwatch/cloudwatch_connection.py +0 -0
  51. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cloudwatch/cloudwatch_connection_tracker.py +0 -0
  52. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cloudwatch/cloudwatch_log_connection.py +0 -0
  53. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cloudwatch/cloudwatch_logs.py +0 -0
  54. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cloudwatch/cloudwatch_query.py +0 -0
  55. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cognito/cognito_authorizer.py +0 -0
  56. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cognito/cognito_connection.py +0 -0
  57. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cognito/cognito_utility.py +0 -0
  58. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cognito/jwks_cache.py +0 -0
  59. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/cognito/user.py +0 -0
  60. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/connection.py +0 -0
  61. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/connection_tracker.py +0 -0
  62. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb.py +0 -0
  63. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_connection.py +0 -0
  64. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_helpers.py +0 -0
  65. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_importer.py +0 -0
  66. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_index.py +0 -0
  67. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_iservice.py +0 -0
  68. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_key.py +0 -0
  69. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_model_base.py +0 -0
  70. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_model_base_interfaces.py +0 -0
  71. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_reindexer.py +0 -0
  72. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_reserved_words.py +0 -0
  73. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/dynamodb_reserved_words.txt +0 -0
  74. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/readme.md +0 -0
  75. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/dynamodb/troubleshooting.md +0 -0
  76. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/ec2/ec2_connection.py +0 -0
  77. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/environment_services/__init__.py +0 -0
  78. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/environment_services/environment_loader.py +0 -0
  79. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/environment_services/environment_variables.py +0 -0
  80. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/errors/custom_exceptions.py +0 -0
  81. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/http_status_codes.py +0 -0
  82. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/models/serializable_model.py +0 -0
  83. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/s3/s3.py +0 -0
  84. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/s3/s3_bucket.py +0 -0
  85. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/s3/s3_connection.py +0 -0
  86. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/s3/s3_event_data.py +0 -0
  87. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/s3/s3_object.py +0 -0
  88. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/securityhub/securityhub.py +0 -0
  89. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/securityhub/securityhub_connection.py +0 -0
  90. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/datetime_utility.py +0 -0
  91. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/dictionaroy_utility.py +0 -0
  92. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/file_operations.py +0 -0
  93. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/http_utility.py +0 -0
  94. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/logging_utility.py +0 -0
  95. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/numbers_utility.py +0 -0
  96. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/src/boto3_assist/utilities/string_utility.py +0 -0
  97. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/__init__.py +0 -0
  98. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/__top/__init__.py +0 -0
  99. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/__init__.py +0 -0
  100. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/cms/base.py +0 -0
  101. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/cms/content_block.py +0 -0
  102. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/cms/page.py +0 -0
  103. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/cms/template.py +0 -0
  104. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/simple_model.py +0 -0
  105. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/user_model.py +0 -0
  106. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dbmodels/user_required_fields_model.py +0 -0
  107. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dynamodb_model_base_test.py +0 -0
  108. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dynamodb_model_projections_test.py +0 -0
  109. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dynamodb_model_serializtion_test.py +0 -0
  110. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dynamodb_moto_sorting_test.py +0 -0
  111. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/dynamodb/dynamodb_reindex_test.py +0 -0
  112. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/examples_test/__init__.py +0 -0
  113. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/examples_test/user_service_test.py +0 -0
  114. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/lambda/__init__.py +0 -0
  115. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/lambda/event_info_test.py +0 -0
  116. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/models/__init__.py +0 -0
  117. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/models/serializable_model_wide_test.py +0 -0
  118. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/s3/__init__.py +0 -0
  119. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/s3/files/test.txt +0 -0
  120. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/s3/s3_event_data_test.py +0 -0
  121. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/s3/s3_file_delete_test.py +0 -0
  122. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/s3/s3_file_upload_test.py +0 -0
  123. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/utilities/__init__.py +0 -0
  124. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/utilities/serialization_utility_test.py +0 -0
  125. {boto3_assist-0.9.1 → boto3_assist-0.9.2}/tests/utilities/string_utility_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boto3_assist
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Additional boto3 wrappers to make your life a little easier
5
5
  Author-email: Eric Wilson <boto3-assist@geekcafe.com>
6
6
  License-File: LICENSE-EXPLAINED.txt
@@ -7,7 +7,7 @@ packages = ["src/boto3_assist"]
7
7
 
8
8
  [project]
9
9
  name = "boto3_assist"
10
- version = "0.9.1"
10
+ version = "0.9.2"
11
11
 
12
12
  authors = [
13
13
  { name="Eric Wilson", email="boto3-assist@geekcafe.com" }
@@ -275,6 +275,9 @@ class Serialization:
275
275
  if coerce:
276
276
  # Attempt to coerce the value to the expected type
277
277
  try:
278
+ if isinstance(value, list) and expected_type is str:
279
+ value = "".join(value)
280
+
278
281
  value = expected_type(value)
279
282
  except ValueError as e:
280
283
  logger.warning(
@@ -0,0 +1 @@
1
+ __version__ = '0.9.2'
@@ -5,7 +5,7 @@ MIT License. See Project Root for the license information.
5
5
  """
6
6
 
7
7
  import unittest
8
- from typing import Dict
8
+ from typing import Dict, List
9
9
  from boto3_assist.models.serializable_model import SerializableModel
10
10
 
11
11
 
@@ -16,6 +16,15 @@ class ExampleModel(SerializableModel):
16
16
  self.name = name
17
17
  self.age = age
18
18
  self.active = active
19
+ self.__pets: List[str] = []
20
+
21
+ @property
22
+ def pets(self) -> List[str]:
23
+ return self.__pets
24
+
25
+ @pets.setter
26
+ def pets(self, value: List[str]):
27
+ self.__pets = value
19
28
 
20
29
 
21
30
  class TestSerializableModel(unittest.TestCase):
@@ -26,6 +35,7 @@ class TestSerializableModel(unittest.TestCase):
26
35
  "name": "John Doe",
27
36
  "age": 30,
28
37
  "active": True,
38
+ "pets": ["abby", "lexie", "lena", "keisha"],
29
39
  }
30
40
 
31
41
  def test_map_valid_data(self):
@@ -37,6 +47,7 @@ class TestSerializableModel(unittest.TestCase):
37
47
  self.assertEqual(result.name, "John Doe")
38
48
  self.assertEqual(result.age, 30)
39
49
  self.assertEqual(result.active, True)
50
+ self.assertEqual(len(result.pets), 4)
40
51
 
41
52
  def test_map_partial_data(self):
42
53
  """
@@ -1 +0,0 @@
1
- __version__ = '0.9.1'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes