boto3-assist 0.1.14__py3-none-any.whl → 0.2.1__py3-none-any.whl

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 (30) hide show
  1. boto3_assist/boto3session.py +3 -2
  2. boto3_assist/cloudwatch/cloudwatch_connection.py +84 -0
  3. boto3_assist/cloudwatch/cloudwatch_connection_tracker.py +17 -0
  4. boto3_assist/cloudwatch/cloudwatch_log_connection.py +62 -0
  5. boto3_assist/cloudwatch/cloudwatch_logs.py +39 -0
  6. boto3_assist/cloudwatch/cloudwatch_query.py +191 -0
  7. boto3_assist/connection.py +101 -0
  8. boto3_assist/connection_tracker.py +8 -8
  9. boto3_assist/dynamodb/dynamodb.py +30 -19
  10. boto3_assist/dynamodb/dynamodb_connection.py +31 -2
  11. boto3_assist/dynamodb/dynamodb_index.py +27 -0
  12. boto3_assist/dynamodb/dynamodb_iservice.py +4 -0
  13. boto3_assist/dynamodb/dynamodb_model_base.py +6 -7
  14. boto3_assist/dynamodb/dynamodb_reserved_words.py +6 -3
  15. boto3_assist/dynamodb/dynamodb_reserved_words.txt +0 -1
  16. boto3_assist/ec2/ec2_connection.py +3 -0
  17. boto3_assist/environment_services/environment_loader.py +67 -3
  18. boto3_assist/environment_services/environment_variables.py +4 -0
  19. boto3_assist/errors/custom_exceptions.py +34 -0
  20. boto3_assist/s3/s3.py +476 -0
  21. boto3_assist/s3/s3_connection.py +120 -0
  22. boto3_assist/utilities/file_operations.py +105 -0
  23. boto3_assist/utilities/http_utility.py +42 -0
  24. boto3_assist/version.py +1 -1
  25. {boto3_assist-0.1.14.dist-info → boto3_assist-0.2.1.dist-info}/METADATA +1 -3
  26. boto3_assist-0.2.1.dist-info/RECORD +43 -0
  27. {boto3_assist-0.1.14.dist-info → boto3_assist-0.2.1.dist-info}/WHEEL +1 -1
  28. boto3_assist-0.1.14.dist-info/RECORD +0 -32
  29. {boto3_assist-0.1.14.dist-info → boto3_assist-0.2.1.dist-info}/licenses/LICENSE-EXPLAINED.txt +0 -0
  30. {boto3_assist-0.1.14.dist-info → boto3_assist-0.2.1.dist-info}/licenses/LICENSE.txt +0 -0
@@ -0,0 +1,42 @@
1
+ from urllib.parse import unquote
2
+ from typing import Dict, Any
3
+
4
+
5
+ class HttpUtility:
6
+ """HTTP Utilities"""
7
+
8
+ @staticmethod
9
+ def get_query_params(query_string: str) -> Dict[str, Any]:
10
+ """
11
+ Get the query parameters from a query string
12
+ returns a dictionary of key value pairs
13
+ """
14
+ if not query_string:
15
+ return {}
16
+
17
+ params = {}
18
+ if query_string:
19
+ for param in query_string.split("&"):
20
+ key, value = param.split("=")
21
+ params[key] = unquote(value)
22
+ return params
23
+
24
+ @staticmethod
25
+ def get_query_param(query_string: str | None, key: str) -> str | None:
26
+ """Get a query parameter from a query string"""
27
+
28
+ if not query_string:
29
+ return None
30
+ params = HttpUtility.get_query_params(query_string)
31
+ if key in params:
32
+ return params[key]
33
+ return None
34
+
35
+ @staticmethod
36
+ def decode_url(url: str):
37
+ """Decodes a URL"""
38
+
39
+ # sometimes a paylaod will have a + added instead of the space
40
+ # or the space encoded value of %2B
41
+ url = url.replace("+", " ")
42
+ return unquote(url)
boto3_assist/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.1.14'
1
+ __version__ = '0.2.1'
@@ -1,10 +1,8 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: boto3_assist
3
- Version: 0.1.14
3
+ Version: 0.2.1
4
4
  Summary: Additional boto3 wrappers to make your life a little easier
5
5
  Author-email: Eric Wilson <boto3-assist@geekcafe.com>
6
- License-File: LICENSE-EXPLAINED.txt
7
- License-File: LICENSE.txt
8
6
  Classifier: License :: Other/Proprietary License
9
7
  Classifier: Operating System :: OS Independent
10
8
  Classifier: Programming Language :: Python :: 3
@@ -0,0 +1,43 @@
1
+ boto3_assist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ boto3_assist/boto3session.py,sha256=NWhWtYR3143thEbTpoklkwdz77-fTMs-QsoQdqfRm6E,6430
3
+ boto3_assist/connection.py,sha256=EJlGueLIYqMSKs7aQlThK1S0Zkb8dOYBWch1iRZdgUI,3233
4
+ boto3_assist/connection_tracker.py,sha256=_s1t7h2DOi3CCIHIr_HIKyGjku65WR-HJ_v8vJHDvO0,2977
5
+ boto3_assist/version.py,sha256=PmcQ2PI2oP8irnLtJLJby2YfW6sBvLAmL-VpABzTqwc,22
6
+ boto3_assist/cloudwatch/cloudwatch_connection.py,sha256=mnGWaLSQpHh5EeY7Ek_2o9JKHJxOELIYtQVMX1IaHn4,2480
7
+ boto3_assist/cloudwatch/cloudwatch_connection_tracker.py,sha256=mzRtO1uHrcfJNh1XrGEiXdTqxwEP8d1RqJkraMNkgK0,410
8
+ boto3_assist/cloudwatch/cloudwatch_log_connection.py,sha256=qQMZHjUJ6gA8wU9utjQhOURXNSPH2RjxSoAy83bvoCs,1737
9
+ boto3_assist/cloudwatch/cloudwatch_logs.py,sha256=VtI0OnFjX1l4RYVvA8tvveGkPwAogtrplnflZ4dQSNM,1204
10
+ boto3_assist/cloudwatch/cloudwatch_query.py,sha256=uNhSb1Gfp99v8BaHmCnCKs63j4MMU4WveqBavCJyhGY,6409
11
+ boto3_assist/dynamodb/dynamodb.py,sha256=oYmTTPRMCjWuIJnHW6z9diBfblzDCLxy_BOvWfprDM8,15147
12
+ boto3_assist/dynamodb/dynamodb_connection.py,sha256=hr4IGbbEE73fh375tj3_XtYAwwDV0s7z1-6JK_1Tc30,5263
13
+ boto3_assist/dynamodb/dynamodb_connection_tracker.py,sha256=0BWHRfi5_vjkJLuCSX6sYwvA6wc7BSYCQnGrzbhfyKA,404
14
+ boto3_assist/dynamodb/dynamodb_helpers.py,sha256=ajpTJ5bJOm9PDgE2Zx9p2zkTRFV4xswqJRS81SOTn1s,12198
15
+ boto3_assist/dynamodb/dynamodb_importer.py,sha256=nCKsyRQeMqDSf0Q5mQ_X_oVIg4PRnu0hcUzZnBli610,3471
16
+ boto3_assist/dynamodb/dynamodb_index.py,sha256=7xa2bN3o8P7XIN9CcJiU7_i1MVjZPl6ZPVZqbZr8pS4,7747
17
+ boto3_assist/dynamodb/dynamodb_iservice.py,sha256=O9Aj0PFEvcuk2vhARifWTFnUwcQW5EXzwZS478Hm-N0,796
18
+ boto3_assist/dynamodb/dynamodb_key.py,sha256=YD7o1EUlwVBQ55p9YCTKqAUU_np4nqtLIHnmp-BeolM,1803
19
+ boto3_assist/dynamodb/dynamodb_model_base.py,sha256=9zRSu6XDghy5DvEXignZL0HbjfzbU47TIjZFgLZgtuY,14280
20
+ boto3_assist/dynamodb/dynamodb_model_base_interfaces.py,sha256=yT4zDRI8vP15WVOHnCvY3FsEy_QSIta5-bnUby70Xow,747
21
+ boto3_assist/dynamodb/dynamodb_reindexer.py,sha256=bCj6KIU0fQOgjkkiq9yF51PFZZr4Y9Lu3-hPlmsPG0Y,6164
22
+ boto3_assist/dynamodb/dynamodb_reserved_words.py,sha256=p0irNBSqGe4rd2FwWQqbRJWrNr4svdbWiyIXmz9lj4c,1937
23
+ boto3_assist/dynamodb/dynamodb_reserved_words.txt,sha256=rvctS63Cv3i9SHmPq2Unmj6RZyQ-OMqxUXsNhtbg1is,4136
24
+ boto3_assist/dynamodb/readme.md,sha256=wNMzdRwk0qRV0kE88UUYnJos3pEK0HNjEIVkq2PATf8,1490
25
+ boto3_assist/dynamodb/troubleshooting.md,sha256=uGpBaBUt_MyzjzwFOLOe0udTgcvaOpiTFxfj7ilLNkM,136
26
+ boto3_assist/ec2/ec2_connection.py,sha256=VT_hnu_behs9mf1Prggo5U9c9KAwbnLBTSZkmu4gp30,3277
27
+ boto3_assist/environment_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ boto3_assist/environment_services/environment_loader.py,sha256=jvG1xwMtgkZqu70NbjG1b1IefKiWgaidjZZoqsSfULk,3370
29
+ boto3_assist/environment_services/environment_variables.py,sha256=4ccBKdPt6O7hcRT3zBHd8vqu8yQU8udmoD5RLAT3iMs,6801
30
+ boto3_assist/errors/custom_exceptions.py,sha256=zC2V2Y4PUtKj3uLPn8mB-JessksKWJWvKM9kp1dmvt8,760
31
+ boto3_assist/s3/s3.py,sha256=jNT32_dfJMCka5vBRz40l4W4Labh5JJTMMjOGyn0l7Q,15266
32
+ boto3_assist/s3/s3_connection.py,sha256=fMD1FxQazJ9gSFDrRmrv7YJE5QnCesGoWC1b5Dba_Jo,3774
33
+ boto3_assist/utilities/datetime_utility.py,sha256=TbqGQkJDTahqvaZAIV550nhYnW1Bsq0Hdu3Go6P4RRs,10282
34
+ boto3_assist/utilities/file_operations.py,sha256=HWQR6o3R5JaISixJS8CpUMsiNgW3Qp5yVZ9KA-jhPmA,3133
35
+ boto3_assist/utilities/http_utility.py,sha256=koFv7Va-8ng-47Nt1K2Sh7Ti95e62IYs9VMLlGh9Kt4,1173
36
+ boto3_assist/utilities/logging_utility.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ boto3_assist/utilities/serialization_utility.py,sha256=s_QQRIhtwIE7xN5nU13mNk2wtWyErBX_Sg7n0gbHj-M,4308
38
+ boto3_assist/utilities/string_utility.py,sha256=w8l063UT3GE48tuJopETyZrjG4CgAzWkyDWMAYMg5Og,7432
39
+ boto3_assist-0.2.1.dist-info/METADATA,sha256=_FNgfvN_pjBTPvcqUKouGpaNYtU1tbh6_W6ljkSdPAg,1742
40
+ boto3_assist-0.2.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
41
+ boto3_assist-0.2.1.dist-info/licenses/LICENSE-EXPLAINED.txt,sha256=WFREvTpfTjPjDHpOLADxJpCKpIla3Ht87RUUGii4ODU,606
42
+ boto3_assist-0.2.1.dist-info/licenses/LICENSE.txt,sha256=PXDhFWS5L5aOTkVhNvoitHKbAkgxqMI2uUPQyrnXGiI,1105
43
+ boto3_assist-0.2.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.26.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,32 +0,0 @@
1
- boto3_assist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- boto3_assist/boto3session.py,sha256=J20E2lkqJOaey4Ohi-xRe2xABj7QsA8DrggzK29-5es,6415
3
- boto3_assist/connection_tracker.py,sha256=ggCp2gQ7Y-2fHSGFk8QCHJz-Rq1yVNO4aRYgrYTP178,2987
4
- boto3_assist/version.py,sha256=jS25etd3hy2cHfgFEhE4FguVWmkMUkiK9f6J-pRm10o,23
5
- boto3_assist/dynamodb/dynamodb.py,sha256=vV0HvFCESnVK6BcAfcrWsMsNxIIsctvDX_3xdzOVCT0,14623
6
- boto3_assist/dynamodb/dynamodb_connection.py,sha256=JMCmWOsMzy45rikGl3Z2xqlG2vUTEKSYqi6dpsfJ750,4418
7
- boto3_assist/dynamodb/dynamodb_connection_tracker.py,sha256=0BWHRfi5_vjkJLuCSX6sYwvA6wc7BSYCQnGrzbhfyKA,404
8
- boto3_assist/dynamodb/dynamodb_helpers.py,sha256=ajpTJ5bJOm9PDgE2Zx9p2zkTRFV4xswqJRS81SOTn1s,12198
9
- boto3_assist/dynamodb/dynamodb_importer.py,sha256=nCKsyRQeMqDSf0Q5mQ_X_oVIg4PRnu0hcUzZnBli610,3471
10
- boto3_assist/dynamodb/dynamodb_index.py,sha256=LRQgSci222s-pU-JXgnaAoOa71ABX9h3uJPeCVPl1GE,6315
11
- boto3_assist/dynamodb/dynamodb_iservice.py,sha256=2AuaKxt7DUZbB-GpBBtPtPMpAlgZkumkAldm8vy7-sg,701
12
- boto3_assist/dynamodb/dynamodb_key.py,sha256=YD7o1EUlwVBQ55p9YCTKqAUU_np4nqtLIHnmp-BeolM,1803
13
- boto3_assist/dynamodb/dynamodb_model_base.py,sha256=WOEQiwEWEVndWIXiBk7_hTaRWb-KyKWPpT5-2xKCCxI,14260
14
- boto3_assist/dynamodb/dynamodb_model_base_interfaces.py,sha256=yT4zDRI8vP15WVOHnCvY3FsEy_QSIta5-bnUby70Xow,747
15
- boto3_assist/dynamodb/dynamodb_reindexer.py,sha256=bCj6KIU0fQOgjkkiq9yF51PFZZr4Y9Lu3-hPlmsPG0Y,6164
16
- boto3_assist/dynamodb/dynamodb_reserved_words.py,sha256=g89wImXxxOYodCJN7g4NkZPYPdXMCsRUBgA7A2KoFZw,1789
17
- boto3_assist/dynamodb/dynamodb_reserved_words.txt,sha256=CanugFPh7rpgJ_jH9k4t8ANycrZJWTjT09sWiW4LC68,4137
18
- boto3_assist/dynamodb/readme.md,sha256=wNMzdRwk0qRV0kE88UUYnJos3pEK0HNjEIVkq2PATf8,1490
19
- boto3_assist/dynamodb/troubleshooting.md,sha256=uGpBaBUt_MyzjzwFOLOe0udTgcvaOpiTFxfj7ilLNkM,136
20
- boto3_assist/ec2/ec2_connection.py,sha256=KN1AivKY6yYpx_AjmaA3aQUZtUwKIvWk4FO8OPq1aTY,3182
21
- boto3_assist/environment_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- boto3_assist/environment_services/environment_loader.py,sha256=aW-PvlNi8EuavKPXDAi5txLbJFVRkBpkFIgmnR0OWDw,1581
23
- boto3_assist/environment_services/environment_variables.py,sha256=29ujkcFdgVgDgTK_pcVkpcFofEOYTbMXYyRim5vLj-k,6691
24
- boto3_assist/utilities/datetime_utility.py,sha256=TbqGQkJDTahqvaZAIV550nhYnW1Bsq0Hdu3Go6P4RRs,10282
25
- boto3_assist/utilities/logging_utility.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- boto3_assist/utilities/serialization_utility.py,sha256=s_QQRIhtwIE7xN5nU13mNk2wtWyErBX_Sg7n0gbHj-M,4308
27
- boto3_assist/utilities/string_utility.py,sha256=w8l063UT3GE48tuJopETyZrjG4CgAzWkyDWMAYMg5Og,7432
28
- boto3_assist-0.1.14.dist-info/METADATA,sha256=UKvxqMxon3FMzhMXZ0OLPqHQ7aV6IEFiMdc_F7DvjMA,1805
29
- boto3_assist-0.1.14.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
30
- boto3_assist-0.1.14.dist-info/licenses/LICENSE-EXPLAINED.txt,sha256=WFREvTpfTjPjDHpOLADxJpCKpIla3Ht87RUUGii4ODU,606
31
- boto3_assist-0.1.14.dist-info/licenses/LICENSE.txt,sha256=PXDhFWS5L5aOTkVhNvoitHKbAkgxqMI2uUPQyrnXGiI,1105
32
- boto3_assist-0.1.14.dist-info/RECORD,,