boto3-assist 0.2.2__tar.gz → 0.2.3__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 (98) hide show
  1. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/PKG-INFO +1 -1
  2. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/pyproject.toml +1 -1
  3. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/s3/s3.py +21 -1
  4. boto3_assist-0.2.3/src/boto3_assist/version.py +1 -0
  5. boto3_assist-0.2.2/src/boto3_assist/version.py +0 -1
  6. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.env.docker +0 -0
  7. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.env.docker.001 +0 -0
  8. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.env.docker.nosql.workbench +0 -0
  9. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.env.unittest +0 -0
  10. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.gitignore +0 -0
  11. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.vscode/launch.json +0 -0
  12. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.vscode/settings.json +0 -0
  13. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/.vscode/tasks.json +0 -0
  14. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/LICENSE-EXPLAINED.txt +0 -0
  15. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/LICENSE.txt +0 -0
  16. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/README.md +0 -0
  17. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/aws_regions_with_status.csv +0 -0
  18. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/aws_regions_with_status.json +0 -0
  19. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/devops/build.py +0 -0
  20. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/devops/readme.md +0 -0
  21. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/__init__.py +0 -0
  22. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/cloudwatch/log_report.py +0 -0
  23. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/models/order_item_model.py +0 -0
  24. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/models/order_model.py +0 -0
  25. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/models/product_model.py +0 -0
  26. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/models/user_model.py +0 -0
  27. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/models/user_post_model.py +0 -0
  28. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/order_example/main.py +0 -0
  29. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/order_example/products.json +0 -0
  30. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/order_item_service.py +0 -0
  31. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/order_service.py +0 -0
  32. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/product_service.py +0 -0
  33. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/table_service.py +0 -0
  34. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/user_post_service.py +0 -0
  35. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/user_service.py +0 -0
  36. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/user_service_client_example.py +0 -0
  37. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/services/user_service_resource_example.py +0 -0
  38. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/dynamodb/user_post_example/main.py +0 -0
  39. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/examples/ec2/regions_report.py +0 -0
  40. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/module-headers.txt +0 -0
  41. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/mypy.ini +0 -0
  42. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/requirements-dev.txt +0 -0
  43. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/requirements.txt +0 -0
  44. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/run-checks.sh +0 -0
  45. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/__init__.py +0 -0
  46. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/boto3session.py +0 -0
  47. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/cloudwatch/cloudwatch_connection.py +0 -0
  48. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/cloudwatch/cloudwatch_connection_tracker.py +0 -0
  49. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/cloudwatch/cloudwatch_log_connection.py +0 -0
  50. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/cloudwatch/cloudwatch_logs.py +0 -0
  51. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/cloudwatch/cloudwatch_query.py +0 -0
  52. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/connection.py +0 -0
  53. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/connection_tracker.py +0 -0
  54. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb.py +0 -0
  55. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_connection.py +0 -0
  56. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_connection_tracker.py +0 -0
  57. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_helpers.py +0 -0
  58. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_importer.py +0 -0
  59. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_index.py +0 -0
  60. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_iservice.py +0 -0
  61. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_key.py +0 -0
  62. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_model_base.py +0 -0
  63. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_model_base_interfaces.py +0 -0
  64. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_reindexer.py +0 -0
  65. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_reserved_words.py +0 -0
  66. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/dynamodb_reserved_words.txt +0 -0
  67. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/readme.md +0 -0
  68. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/dynamodb/troubleshooting.md +0 -0
  69. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/ec2/ec2_connection.py +0 -0
  70. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/environment_services/__init__.py +0 -0
  71. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/environment_services/environment_loader.py +0 -0
  72. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/environment_services/environment_variables.py +0 -0
  73. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/errors/custom_exceptions.py +0 -0
  74. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/s3/s3_connection.py +0 -0
  75. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/datetime_utility.py +0 -0
  76. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/file_operations.py +0 -0
  77. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/http_utility.py +0 -0
  78. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/logging_utility.py +0 -0
  79. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/serialization_utility.py +0 -0
  80. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/src/boto3_assist/utilities/string_utility.py +0 -0
  81. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/__init__.py +0 -0
  82. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/__top/__init__.py +0 -0
  83. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/__init__.py +0 -0
  84. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/dynamodb_model_base_test.py +0 -0
  85. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/dynamodb_model_projections_test.py +0 -0
  86. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/dynamodb_model_serializtion_test.py +0 -0
  87. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/dynamodb_moto_sorting_test.py +0 -0
  88. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/dynamodb_reindex_test.py +0 -0
  89. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/cms/base.py +0 -0
  90. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/cms/content_block.py +0 -0
  91. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/cms/page.py +0 -0
  92. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/cms/template.py +0 -0
  93. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/simple_model.py +0 -0
  94. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/dynamodb/models/user_model.py +0 -0
  95. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/examples_test/__init__.py +0 -0
  96. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/examples_test/user_service_test.py +0 -0
  97. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/utilities/__init__.py +0 -0
  98. {boto3_assist-0.2.2 → boto3_assist-0.2.3}/tests/utilities/serialization_utility_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: boto3_assist
3
- Version: 0.2.2
3
+ Version: 0.2.3
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
  Classifier: License :: Other/Proprietary License
@@ -7,7 +7,7 @@ packages = ["src/boto3_assist"]
7
7
 
8
8
  [project]
9
9
  name = "boto3_assist"
10
- version = "0.2.2"
10
+ version = "0.2.3"
11
11
  authors = [
12
12
  { name="Eric Wilson", email="boto3-assist@geekcafe.com" }
13
13
  ]
@@ -139,7 +139,7 @@ class S3(S3Connection):
139
139
 
140
140
  return response
141
141
 
142
- def upload_file_obj(self, bucket: str, key: str, file_obj: bytes) -> str:
142
+ def upload_file_obj(self, bucket: str, key: str, file_obj: bytes | str) -> str:
143
143
  """
144
144
  Uploads a file object to s3. Returns the full s3 path s3://<bucket>/<key>
145
145
  """
@@ -156,6 +156,10 @@ class S3(S3Connection):
156
156
  }
157
157
  )
158
158
  try:
159
+ # convert if necessary
160
+ file_obj: bytes = (
161
+ file_obj.encode("utf-8") if isinstance(file_obj, str) else file_obj
162
+ )
159
163
  self.client.upload_fileobj(Fileobj=file_obj, Bucket=bucket, Key=key)
160
164
 
161
165
  except ClientError as ce:
@@ -503,3 +507,19 @@ class S3(S3Connection):
503
507
  else:
504
508
  # Not in AWS Lambda, use the system's default temp directory
505
509
  return tempfile.gettempdir()
510
+
511
+ def encode(
512
+ self, text: str, encoding: str = "utf-8", errors: str = "strict"
513
+ ) -> bytes:
514
+ """
515
+ Encodes a string for s3
516
+ """
517
+ return text.encode(encoding=encoding, errors=errors)
518
+
519
+ def decode(
520
+ self, file_obj: bytes, encoding: str = "utf-8", errors: str = "strict"
521
+ ) -> str:
522
+ """
523
+ Decodes bytes to a string
524
+ """
525
+ return file_obj.decode(encoding=encoding, errors=errors)
@@ -0,0 +1 @@
1
+ __version__ = '0.2.3'
@@ -1 +0,0 @@
1
- __version__ = '0.2.2'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes