capo-lambda-core 0.1.0__tar.gz → 0.2.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 (93) hide show
  1. {capo_lambda_core-0.1.0/src/capo_lambda_core.egg-info → capo_lambda_core-0.2.0}/PKG-INFO +2 -2
  2. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/pyproject.toml +2 -2
  3. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_operations/lambda_core_api_service/create_network_connector.py +7 -3
  4. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_operations/lambda_core_api_service/delete_network_connector.py +7 -3
  5. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_operations/lambda_core_api_service/get_network_connector.py +7 -3
  6. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_operations/lambda_core_api_service/list_network_connectors.py +7 -3
  7. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_operations/lambda_core_api_service/update_network_connector.py +7 -3
  8. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_services/_pipeline.py +17 -0
  9. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0/src/capo_lambda_core.egg-info}/PKG-INFO +2 -2
  10. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/LICENSE +0 -0
  11. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/README.md +0 -0
  12. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/setup.cfg +0 -0
  13. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/__init__.py +0 -0
  14. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_async.py +0 -0
  15. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_auth/_identity.py +0 -0
  16. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_auth/_providers.py +0 -0
  17. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_auth/_signers.py +0 -0
  18. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_auth/_sigv4.py +0 -0
  19. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_auth/_zapros_handler.py +0 -0
  20. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_body.py +0 -0
  21. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_iter.py +0 -0
  22. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_pagination.py +0 -0
  23. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_protocol/__init__.py +0 -0
  24. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_protocol/errors.py +0 -0
  25. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_protocol/eventstream.py +0 -0
  26. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_protocol/serialize.py +0 -0
  27. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_protocol/xml.py +0 -0
  28. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_resources/lambda_core_api_service/network_connector.py +0 -0
  29. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_rule_engine/__init__.py +0 -0
  30. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_rule_engine/_aws_partition.py +0 -0
  31. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_rule_engine/_endpoint_rule_set.py +0 -0
  32. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_rule_engine/_endpoint_runtime.py +0 -0
  33. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_services/_aws_config.py +0 -0
  34. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_services/async_lambda_core.py +0 -0
  35. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/_services/lambda_core.py +0 -0
  36. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/__init__.py +0 -0
  37. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/_base.py +0 -0
  38. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/invalid_parameter_value_exception.py +0 -0
  39. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/network_connector_limit_exceeded_exception.py +0 -0
  40. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/resource_conflict_exception.py +0 -0
  41. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/resource_not_found_exception.py +0 -0
  42. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/service_exception.py +0 -0
  43. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/errors/too_many_requests_exception.py +0 -0
  44. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/py.typed +0 -0
  45. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/_prelude/blob.py +0 -0
  46. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/_prelude/timestamp.py +0 -0
  47. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/associated_compute_resource_types_list.py +0 -0
  48. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/client_token_string.py +0 -0
  49. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/compute_resource_type.py +0 -0
  50. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/core_timestamp.py +0 -0
  51. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/create_network_connector_request.py +0 -0
  52. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/create_network_connector_response.py +0 -0
  53. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/delete_network_connector_request.py +0 -0
  54. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/delete_network_connector_response.py +0 -0
  55. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/get_network_connector_request.py +0 -0
  56. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/get_network_connector_response.py +0 -0
  57. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/list_network_connectors_request.py +0 -0
  58. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/list_network_connectors_response.py +0 -0
  59. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/max_hundred_list_items.py +0 -0
  60. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_arn.py +0 -0
  61. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_configuration.py +0 -0
  62. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_id.py +0 -0
  63. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_identifier.py +0 -0
  64. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_last_update_status.py +0 -0
  65. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_last_update_status_reason.py +0 -0
  66. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_last_update_status_reason_code.py +0 -0
  67. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_name.py +0 -0
  68. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_role_arn.py +0 -0
  69. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_security_group_id.py +0 -0
  70. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_security_group_ids.py +0 -0
  71. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_state.py +0 -0
  72. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_state_reason_code.py +0 -0
  73. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_subnet_id.py +0 -0
  74. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_subnet_ids.py +0 -0
  75. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_summary.py +0 -0
  76. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_tag_key.py +0 -0
  77. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_tag_value.py +0 -0
  78. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_tags.py +0 -0
  79. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_type.py +0 -0
  80. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_version.py +0 -0
  81. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connector_vpc_egress_configuration.py +0 -0
  82. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_connectors_list.py +0 -0
  83. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/network_protocol.py +0 -0
  84. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/string.py +0 -0
  85. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/throttle_reason.py +0 -0
  86. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/update_network_connector_request.py +0 -0
  87. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core/types/update_network_connector_response.py +0 -0
  88. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core.egg-info/SOURCES.txt +0 -0
  89. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core.egg-info/dependency_links.txt +0 -0
  90. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core.egg-info/requires.txt +0 -0
  91. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/src/capo_lambda_core.egg-info/top_level.txt +0 -0
  92. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/tests/test_body.py +0 -0
  93. {capo_lambda_core-0.1.0 → capo_lambda_core-0.2.0}/tests/test_sigv4.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-lambda-core
3
- Version: 0.1.0
4
- Summary: Python SDK for Lambda Core.
3
+ Version: 0.2.0
4
+ Summary: Python SDK for AWS Lambda Core.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
7
7
  Classifier: License :: OSI Approved :: MIT License
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "capo-lambda-core"
3
- version = "0.1.0"
4
- description = "Python SDK for Lambda Core."
3
+ version = "0.2.0"
4
+ description = "Python SDK for AWS Lambda Core."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  classifiers = [
@@ -23,7 +23,11 @@ import capo_lambda_core.types.network_connector_state
23
23
  import capo_lambda_core.types.network_connector_tags
24
24
  from capo_lambda_core._protocol.errors import parse_error_metadata_json
25
25
  from capo_lambda_core._rule_engine._endpoint_rule_set import EndpointParams, resolve
26
- from capo_lambda_core._services._pipeline import AsyncOperationOptions, OperationOptions
26
+ from capo_lambda_core._services._pipeline import (
27
+ AsyncOperationOptions,
28
+ OperationOptions,
29
+ raise_error,
30
+ )
27
31
  from capo_lambda_core.errors import UnknownServiceError
28
32
 
29
33
 
@@ -141,7 +145,7 @@ def create_network_connector(
141
145
  try:
142
146
  if response.status >= 300:
143
147
  response.read()
144
- handle_error(response)
148
+ raise_error(response, handle_error)
145
149
  return handle_response(response), response
146
150
  except BaseException:
147
151
  response.close()
@@ -159,7 +163,7 @@ async def async_create_network_connector(
159
163
  try:
160
164
  if response.status >= 300:
161
165
  await response.aread()
162
- handle_error(response)
166
+ raise_error(response, handle_error)
163
167
  return await async_handle_response(response), response
164
168
  except BaseException:
165
169
  await response.aclose()
@@ -23,7 +23,11 @@ import capo_lambda_core.types.network_connector_configuration
23
23
  import capo_lambda_core.types.network_connector_state
24
24
  from capo_lambda_core._protocol.errors import parse_error_metadata_json
25
25
  from capo_lambda_core._rule_engine._endpoint_rule_set import EndpointParams, resolve
26
- from capo_lambda_core._services._pipeline import AsyncOperationOptions, OperationOptions
26
+ from capo_lambda_core._services._pipeline import (
27
+ AsyncOperationOptions,
28
+ OperationOptions,
29
+ raise_error,
30
+ )
27
31
  from capo_lambda_core.errors import UnknownServiceError
28
32
 
29
33
 
@@ -138,7 +142,7 @@ def delete_network_connector(
138
142
  try:
139
143
  if response.status >= 300:
140
144
  response.read()
141
- handle_error(response)
145
+ raise_error(response, handle_error)
142
146
  return handle_response(response), response
143
147
  except BaseException:
144
148
  response.close()
@@ -156,7 +160,7 @@ async def async_delete_network_connector(
156
160
  try:
157
161
  if response.status >= 300:
158
162
  await response.aread()
159
- handle_error(response)
163
+ raise_error(response, handle_error)
160
164
  return await async_handle_response(response), response
161
165
  except BaseException:
162
166
  await response.aclose()
@@ -26,7 +26,11 @@ import capo_lambda_core.types.network_connector_state
26
26
  import capo_lambda_core.types.network_connector_state_reason_code
27
27
  from capo_lambda_core._protocol.errors import parse_error_metadata_json
28
28
  from capo_lambda_core._rule_engine._endpoint_rule_set import EndpointParams, resolve
29
- from capo_lambda_core._services._pipeline import AsyncOperationOptions, OperationOptions
29
+ from capo_lambda_core._services._pipeline import (
30
+ AsyncOperationOptions,
31
+ OperationOptions,
32
+ raise_error,
33
+ )
30
34
  from capo_lambda_core.errors import UnknownServiceError
31
35
 
32
36
 
@@ -137,7 +141,7 @@ def get_network_connector(
137
141
  try:
138
142
  if response.status >= 300:
139
143
  response.read()
140
- handle_error(response)
144
+ raise_error(response, handle_error)
141
145
  return handle_response(response), response
142
146
  except BaseException:
143
147
  response.close()
@@ -155,7 +159,7 @@ async def async_get_network_connector(
155
159
  try:
156
160
  if response.status >= 300:
157
161
  await response.aread()
158
- handle_error(response)
162
+ raise_error(response, handle_error)
159
163
  return await async_handle_response(response), response
160
164
  except BaseException:
161
165
  await response.aclose()
@@ -20,7 +20,11 @@ import capo_lambda_core.types.network_connector_state
20
20
  import capo_lambda_core.types.network_connectors_list
21
21
  from capo_lambda_core._protocol.errors import parse_error_metadata_json
22
22
  from capo_lambda_core._rule_engine._endpoint_rule_set import EndpointParams, resolve
23
- from capo_lambda_core._services._pipeline import AsyncOperationOptions, OperationOptions
23
+ from capo_lambda_core._services._pipeline import (
24
+ AsyncOperationOptions,
25
+ OperationOptions,
26
+ raise_error,
27
+ )
24
28
  from capo_lambda_core.errors import UnknownServiceError
25
29
 
26
30
 
@@ -141,7 +145,7 @@ def list_network_connectors(
141
145
  try:
142
146
  if response.status >= 300:
143
147
  response.read()
144
- handle_error(response)
148
+ raise_error(response, handle_error)
145
149
  return handle_response(response), response
146
150
  except BaseException:
147
151
  response.close()
@@ -159,7 +163,7 @@ async def async_list_network_connectors(
159
163
  try:
160
164
  if response.status >= 300:
161
165
  await response.aread()
162
- handle_error(response)
166
+ raise_error(response, handle_error)
163
167
  return await async_handle_response(response), response
164
168
  except BaseException:
165
169
  await response.aclose()
@@ -25,7 +25,11 @@ import capo_lambda_core.types.update_network_connector_request
25
25
  import capo_lambda_core.types.update_network_connector_response
26
26
  from capo_lambda_core._protocol.errors import parse_error_metadata_json
27
27
  from capo_lambda_core._rule_engine._endpoint_rule_set import EndpointParams, resolve
28
- from capo_lambda_core._services._pipeline import AsyncOperationOptions, OperationOptions
28
+ from capo_lambda_core._services._pipeline import (
29
+ AsyncOperationOptions,
30
+ OperationOptions,
31
+ raise_error,
32
+ )
29
33
  from capo_lambda_core.errors import UnknownServiceError
30
34
 
31
35
 
@@ -144,7 +148,7 @@ def update_network_connector(
144
148
  try:
145
149
  if response.status >= 300:
146
150
  response.read()
147
- handle_error(response)
151
+ raise_error(response, handle_error)
148
152
  return handle_response(response), response
149
153
  except BaseException:
150
154
  response.close()
@@ -162,7 +166,7 @@ async def async_update_network_connector(
162
166
  try:
163
167
  if response.status >= 300:
164
168
  await response.aread()
165
- handle_error(response)
169
+ raise_error(response, handle_error)
166
170
  return await async_handle_response(response), response
167
171
  except BaseException:
168
172
  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,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-lambda-core
3
- Version: 0.1.0
4
- Summary: Python SDK for Lambda Core.
3
+ Version: 0.2.0
4
+ Summary: Python SDK for AWS Lambda Core.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
7
7
  Classifier: License :: OSI Approved :: MIT License