capo-workmailmessageflow 0.2.0__tar.gz → 0.3.0__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 (58) hide show
  1. {capo_workmailmessageflow-0.2.0/src/capo_workmailmessageflow.egg-info → capo_workmailmessageflow-0.3.0}/PKG-INFO +1 -1
  2. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/pyproject.toml +1 -1
  3. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_operations/giraffe_message_in_transit_service/get_raw_message_content.py +3 -2
  4. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_operations/giraffe_message_in_transit_service/put_raw_message_content.py +3 -2
  5. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_services/_pipeline.py +17 -0
  6. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0/src/capo_workmailmessageflow.egg-info}/PKG-INFO +1 -1
  7. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/LICENSE +0 -0
  8. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/README.md +0 -0
  9. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/setup.cfg +0 -0
  10. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/__init__.py +0 -0
  11. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_async.py +0 -0
  12. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_auth/_identity.py +0 -0
  13. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_auth/_providers.py +0 -0
  14. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_auth/_signers.py +0 -0
  15. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_auth/_sigv4.py +0 -0
  16. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_auth/_zapros_handler.py +0 -0
  17. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_body.py +0 -0
  18. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_iter.py +0 -0
  19. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_pagination.py +0 -0
  20. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_protocol/__init__.py +0 -0
  21. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_protocol/errors.py +0 -0
  22. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_protocol/eventstream.py +0 -0
  23. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_protocol/serialize.py +0 -0
  24. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_protocol/xml.py +0 -0
  25. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_rule_engine/__init__.py +0 -0
  26. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_rule_engine/_aws_partition.py +0 -0
  27. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_rule_engine/_endpoint_rule_set.py +0 -0
  28. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_rule_engine/_endpoint_runtime.py +0 -0
  29. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_services/_aws_config.py +0 -0
  30. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_services/async_work_mail_message_flow.py +0 -0
  31. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/_services/work_mail_message_flow.py +0 -0
  32. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/__init__.py +0 -0
  33. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/_base.py +0 -0
  34. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/invalid_content_location.py +0 -0
  35. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/message_frozen.py +0 -0
  36. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/message_rejected.py +0 -0
  37. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/errors/resource_not_found_exception.py +0 -0
  38. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/py.typed +0 -0
  39. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/_prelude/blob.py +0 -0
  40. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/_prelude/timestamp.py +0 -0
  41. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/error_message.py +0 -0
  42. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/get_raw_message_content_request.py +0 -0
  43. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/get_raw_message_content_response.py +0 -0
  44. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/message_content_blob.py +0 -0
  45. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/message_id_type.py +0 -0
  46. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/put_raw_message_content_request.py +0 -0
  47. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/put_raw_message_content_response.py +0 -0
  48. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/raw_message_content.py +0 -0
  49. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/s3_bucket_id_type.py +0 -0
  50. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/s3_key_id_type.py +0 -0
  51. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/s3_reference.py +0 -0
  52. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow/types/s3_version_type.py +0 -0
  53. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow.egg-info/SOURCES.txt +0 -0
  54. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow.egg-info/dependency_links.txt +0 -0
  55. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow.egg-info/requires.txt +0 -0
  56. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/src/capo_workmailmessageflow.egg-info/top_level.txt +0 -0
  57. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/tests/test_body.py +0 -0
  58. {capo_workmailmessageflow-0.2.0 → capo_workmailmessageflow-0.3.0}/tests/test_sigv4.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-workmailmessageflow
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Python SDK for AWS Workmailmessageflow.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "capo-workmailmessageflow"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "Python SDK for AWS Workmailmessageflow."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -24,6 +24,7 @@ from capo_workmailmessageflow._rule_engine._endpoint_rule_set import (
24
24
  from capo_workmailmessageflow._services._pipeline import (
25
25
  AsyncOperationOptions,
26
26
  OperationOptions,
27
+ raise_error,
27
28
  )
28
29
  from capo_workmailmessageflow.errors import UnknownServiceError
29
30
 
@@ -127,7 +128,7 @@ def get_raw_message_content(
127
128
  try:
128
129
  if response.status >= 300:
129
130
  response.read()
130
- handle_error(response)
131
+ raise_error(response, handle_error)
131
132
  return handle_response(response), response
132
133
  except BaseException:
133
134
  response.close()
@@ -145,7 +146,7 @@ async def async_get_raw_message_content(
145
146
  try:
146
147
  if response.status >= 300:
147
148
  await response.aread()
148
- handle_error(response)
149
+ raise_error(response, handle_error)
149
150
  return await async_handle_response(response), response
150
151
  except BaseException:
151
152
  await response.aclose()
@@ -27,6 +27,7 @@ from capo_workmailmessageflow._rule_engine._endpoint_rule_set import (
27
27
  from capo_workmailmessageflow._services._pipeline import (
28
28
  AsyncOperationOptions,
29
29
  OperationOptions,
30
+ raise_error,
30
31
  )
31
32
  from capo_workmailmessageflow.errors import UnknownServiceError
32
33
 
@@ -142,7 +143,7 @@ def put_raw_message_content(
142
143
  try:
143
144
  if response.status >= 300:
144
145
  response.read()
145
- handle_error(response)
146
+ raise_error(response, handle_error)
146
147
  return handle_response(response), response
147
148
  except BaseException:
148
149
  response.close()
@@ -160,7 +161,7 @@ async def async_put_raw_message_content(
160
161
  try:
161
162
  if response.status >= 300:
162
163
  await response.aread()
163
- handle_error(response)
164
+ raise_error(response, handle_error)
164
165
  return await async_handle_response(response), response
165
166
  except BaseException:
166
167
  await response.aclose()
@@ -6,6 +6,7 @@ from collections.abc import AsyncIterator, Iterator, Sequence
6
6
  from dataclasses import dataclass
7
7
  from typing import TYPE_CHECKING, Awaitable, Callable, Generic, TypeVar, cast
8
8
 
9
+ from typing_extensions import Never
9
10
  from zapros import (
10
11
  AsyncClient,
11
12
  Client,
@@ -135,6 +136,22 @@ async def aexecute_pipeline(
135
136
  return await make_chain(0)(request)
136
137
 
137
138
 
139
+ def raise_error(response: Response, handle_error: Callable[[Response], Never]) -> Never:
140
+ try:
141
+ handle_error(response)
142
+ except ServiceError as exc:
143
+ # The response itself can say a retry is safe, even when the error is
144
+ # not marked @retryable: a 429, a transient 5xx or a Retry-After header.
145
+ if response.status == 429:
146
+ exc.is_throttling_error = True
147
+ if (
148
+ response.status in (429, 500, 502, 503, 504)
149
+ or "retry-after" in response.headers
150
+ ):
151
+ exc.is_retryable = True
152
+ raise
153
+
154
+
138
155
  def _is_retryable(exc: Exception) -> bool:
139
156
  if isinstance(exc, ServiceError):
140
157
  return exc.is_retryable
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-workmailmessageflow
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Python SDK for AWS Workmailmessageflow.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers