modmex-lambda 0.5.4__tar.gz → 0.5.6__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.
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/PKG-INFO +1 -1
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/dependencies.py +9 -7
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/keys.py +17 -19
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/materialized_views.py +1 -1
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/pyproject.toml +1 -1
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/test_dynamodb_keys.py +28 -18
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/test_dynamodb_materialized_views.py +2 -2
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/.github/workflows/ci.yml +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/.github/workflows/release.yml +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/.gitignore +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/LICENSE +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/README.md +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/cloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/eventbridge.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/icloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/idynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/ieventbridge.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/ilambda.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/is3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/isns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/isqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/lambda_.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/module.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/connectors/sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/api_gateway_authorizer_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/api_gateway_proxy_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/api_gateway_websocket_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/cognito_user_pool_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/common.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/api_gateway.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/constants.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/content_types.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/cors.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/compat.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/dependant.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/dependency_middleware.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/depends.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/params.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/types.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/exception_handler.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/exceptions.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/gateway_response.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/middlewares.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/params.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/request.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/response.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/routing.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/routing_fallbacks.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/types.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_sources.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/exceptions.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/logging.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/params.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/parser.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/expressions.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/stream_fields.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/request.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/resolver.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/response.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/routing.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/shared/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/shared/cookies.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/shared/headers_serializer.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/shared/json_encoder.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/shared/types.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/kinesis.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/events/sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/filters/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/filters/content.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/filters/event_type.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/filters/latch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/filters/skip.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/base_flavor.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/cdc.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/collect.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/correlate.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/evaluate.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/expired.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/iflavor.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/job.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/materialize.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/task.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/flavors/update.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/irules_registry.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/cloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/ioperator.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/lambda_.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/publisher.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/operators/sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/rules_registry.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/runner.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/base.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/kinesis.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/sources/sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/apigateway.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/aws.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/batch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/cloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/concurrency.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/contracts.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/data_classes/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/data_classes/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/decorators.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/eventbridge.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/faults.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/filters.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/json_encoder.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/lambda_.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/operators.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/pluralize.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/print.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/retry.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/split.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/tags.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/time.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/uow.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/tracing.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/validation.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/poetry.lock +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/conftest.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/conftest.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_cloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_lazy_clients.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_simple_connectors.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/connectors/test_sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/data_classes/test_api_gateway_proxy_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/data_classes/test_cognito_user_pool_event.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/data_classes/test_common.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_api_gateway.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_cors.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_dependencies.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_exception_handler.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_gateway_response.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_request.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_response.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/event_handler/test_routing.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/test_dynamodb_expressions.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/test_dynamodb_stream_fields.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/shared/test_cookies_headers.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/shared/test_json_encoder.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/conftest.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/events/test_dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/events/test_kinesis.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/events/test_s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/events/test_sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/events/test_sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/filters/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/filters/test_content.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/filters/test_event_type.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/filters/test_latch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/filters/test_skip.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/source_events.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_base_flavor.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_cdc.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_collect.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_correlate.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_evaluate.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_expired.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_job.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_materialize.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_task.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/flavors/test_update.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/test_dependency_resolver.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/test_rules_registry.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/test_runner.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/test_runner_pipeline.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/test_sources.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/__init__.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/faults.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_apigateway.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_aws.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_batch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_cloudwatch.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_concurrency.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_decorators.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_dynamodb.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_eventbridge.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_filters.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_json_encoder.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_lambda.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_operators.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_pluralize.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_print.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_retry.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_s3.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_sns.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_split.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_sqs.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_tags.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_time.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/stream/utils/test_uow.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_lazy_imports.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_logging.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_parser_event_sources.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_reexports.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_tracing.py +0 -0
- {modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/test_validation.py +0 -0
|
@@ -4,21 +4,23 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import inspect
|
|
6
6
|
from importlib import import_module
|
|
7
|
-
from typing import TYPE_CHECKING, Any, Callable, Protocol
|
|
7
|
+
from typing import TYPE_CHECKING, Any, Callable, Protocol, TypeVar
|
|
8
8
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
10
|
from modmex_lambda.connectors import AwsConnectorsModule
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
T = TypeVar("T")
|
|
14
|
+
|
|
13
15
|
class DependencyResolver(Protocol):
|
|
14
16
|
"""Resolves a dependency token into the value passed to a handler."""
|
|
15
17
|
|
|
16
18
|
def resolve(
|
|
17
19
|
self,
|
|
18
|
-
dependency:
|
|
20
|
+
dependency: type[T],
|
|
19
21
|
*,
|
|
20
22
|
values: dict[str, Any] | None = None,
|
|
21
|
-
) ->
|
|
23
|
+
) -> T:
|
|
22
24
|
...
|
|
23
25
|
|
|
24
26
|
|
|
@@ -27,10 +29,10 @@ class DefaultDependencyResolver:
|
|
|
27
29
|
|
|
28
30
|
def resolve(
|
|
29
31
|
self,
|
|
30
|
-
dependency:
|
|
32
|
+
dependency: type[T],
|
|
31
33
|
*,
|
|
32
34
|
values: dict[str, Any] | None = None,
|
|
33
|
-
) ->
|
|
35
|
+
) -> T:
|
|
34
36
|
return dependency(**(values or {}))
|
|
35
37
|
|
|
36
38
|
|
|
@@ -42,10 +44,10 @@ class InjectorDependencyResolver:
|
|
|
42
44
|
|
|
43
45
|
def resolve(
|
|
44
46
|
self,
|
|
45
|
-
dependency:
|
|
47
|
+
dependency: type[T],
|
|
46
48
|
*,
|
|
47
49
|
values: dict[str, Any] | None = None,
|
|
48
|
-
) ->
|
|
50
|
+
) -> T:
|
|
49
51
|
kwargs = values or {}
|
|
50
52
|
|
|
51
53
|
if hasattr(self.injector, "call_with_injection") and not inspect.isclass(dependency):
|
|
@@ -28,10 +28,11 @@ class SingleEntityKeyStrategy(KeyStrategy):
|
|
|
28
28
|
"""Use the entity id as pk and a fixed discriminator as sk."""
|
|
29
29
|
|
|
30
30
|
discriminator: str
|
|
31
|
+
separator: str = "#"
|
|
31
32
|
|
|
32
33
|
def key_for_id(self, entity_id: Any, **context: Any) -> dict[str, str]:
|
|
33
34
|
return {
|
|
34
|
-
"pk":
|
|
35
|
+
"pk": f"{self.discriminator}{self.separator}{entity_id}",
|
|
35
36
|
"sk": self.discriminator,
|
|
36
37
|
}
|
|
37
38
|
|
|
@@ -41,64 +42,61 @@ class SingleEntityKeyStrategy(KeyStrategy):
|
|
|
41
42
|
|
|
42
43
|
@dataclass(frozen=True)
|
|
43
44
|
class TenantScopedSortKeyStrategy(KeyStrategy):
|
|
44
|
-
"""Use entity id as pk and
|
|
45
|
+
"""Use discriminator + entity id as pk and tenant name + tenant id as sk."""
|
|
45
46
|
|
|
46
47
|
discriminator: str
|
|
47
|
-
|
|
48
|
+
tenant_name: str = "tenant"
|
|
48
49
|
tenant_field: str = "tenant_id"
|
|
50
|
+
separator: str = "#"
|
|
49
51
|
|
|
50
52
|
def key_for_id(self, entity_id: Any, **context: Any) -> dict[str, str]:
|
|
51
53
|
tenant_id = _context_value(context, self.tenant_field)
|
|
52
54
|
return {
|
|
53
|
-
"pk":
|
|
54
|
-
"sk": self.
|
|
55
|
+
"pk": f"{self.discriminator}{self.separator}{entity_id}",
|
|
56
|
+
"sk": f"{self.tenant_name}{self.separator}{tenant_id}",
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
def key_for_entity(self, entity: Any, **context: Any) -> dict[str, str]:
|
|
58
60
|
tenant_id = _context_or_entity_value(context, entity, self.tenant_field)
|
|
59
61
|
return self.key_for_id(_entity_attr(entity, "id"), **{self.tenant_field: tenant_id})
|
|
60
62
|
|
|
61
|
-
def _sort_key(self, tenant_id: Any) -> str:
|
|
62
|
-
return f"{self.discriminator}{self.separator}{tenant_id}"
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
@dataclass(frozen=True)
|
|
66
66
|
class TenantPartitionKeyStrategy(KeyStrategy):
|
|
67
|
-
"""Use tenant id as pk and discriminator
|
|
67
|
+
"""Use tenant name + tenant id as pk and discriminator + entity id as sk."""
|
|
68
68
|
|
|
69
69
|
discriminator: str
|
|
70
|
-
|
|
70
|
+
tenant_name: str = "tenant"
|
|
71
71
|
tenant_field: str = "tenant_id"
|
|
72
|
+
separator: str = "#"
|
|
72
73
|
|
|
73
74
|
def key_for_id(self, entity_id: Any, **context: Any) -> dict[str, str]:
|
|
74
75
|
tenant_id = _context_value(context, self.tenant_field)
|
|
75
76
|
return {
|
|
76
|
-
"pk":
|
|
77
|
-
"sk": self.
|
|
77
|
+
"pk": f"{self.tenant_name}{self.separator}{tenant_id}",
|
|
78
|
+
"sk": f"{self.discriminator}{self.separator}{entity_id}",
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
def key_for_entity(self, entity: Any, **context: Any) -> dict[str, str]:
|
|
81
82
|
tenant_id = _context_or_entity_value(context, entity, self.tenant_field)
|
|
82
83
|
return self.key_for_id(_entity_attr(entity, "id"), **{self.tenant_field: tenant_id})
|
|
83
84
|
|
|
84
|
-
def _sort_key(self, entity_id: Any) -> str:
|
|
85
|
-
return f"{self.discriminator}{self.separator}{entity_id}"
|
|
86
|
-
|
|
87
|
-
|
|
88
85
|
@dataclass(frozen=True)
|
|
89
86
|
class AggregateKeyStrategy(KeyStrategy):
|
|
90
|
-
"""Use aggregate id as pk and
|
|
87
|
+
"""Use aggregate name + aggregate id as pk and discriminator + entity id as sk."""
|
|
91
88
|
|
|
89
|
+
discriminator: str
|
|
92
90
|
aggregate_name: str
|
|
93
|
-
|
|
91
|
+
aggregate_field: str
|
|
94
92
|
separator: str = "#"
|
|
95
|
-
|
|
93
|
+
|
|
96
94
|
|
|
97
95
|
def key_for_id(self, entity_id: Any, **context: Any) -> dict[str, str]:
|
|
98
96
|
aggregate_id = _context_value(context, self.aggregate_field)
|
|
99
97
|
return {
|
|
100
98
|
"pk": f"{self.aggregate_name}{self.separator}{aggregate_id}",
|
|
101
|
-
"sk": f"{self.
|
|
99
|
+
"sk": f"{self.discriminator}{self.separator}{entity_id}",
|
|
102
100
|
}
|
|
103
101
|
|
|
104
102
|
def key_for_entity(self, entity: Any, **context: Any) -> dict[str, str]:
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/materialized_views.py
RENAMED
|
@@ -55,7 +55,7 @@ class MaterializedViewMixin(DynamoDBUpdateRequestMixin):
|
|
|
55
55
|
|
|
56
56
|
def materialized_key(self, uow: dict[str, Any], entity: dict[str, Any]) -> dict[str, Any]:
|
|
57
57
|
return {
|
|
58
|
-
"pk": entity
|
|
58
|
+
"pk": entity.get('pk') or entity.get('id'),
|
|
59
59
|
"sk": entity.get("sk", self.discriminator),
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "modmex-lambda"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.6"
|
|
8
8
|
description = "Ultra-lightweight AWS Lambda utilities for API Gateway routing and event handling."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10,<4.0"
|
|
@@ -30,34 +30,39 @@ def test_key_strategy_is_abstract() -> None:
|
|
|
30
30
|
def test_single_entity_key_strategy_uses_id_as_pk_and_discriminator_as_sk() -> None:
|
|
31
31
|
strategy = SingleEntityKeyStrategy("thing")
|
|
32
32
|
|
|
33
|
-
assert strategy.key_for_id("thing-1") == {"pk": "thing-1", "sk": "thing"}
|
|
34
|
-
assert strategy.key_for_entity(Thing(id="thing-2")) == {"pk": "thing-2", "sk": "thing"}
|
|
35
|
-
assert strategy.key_for_entity({"id": "thing-3"}) == {"pk": "thing-3", "sk": "thing"}
|
|
33
|
+
assert strategy.key_for_id("thing-1") == {"pk": "thing#thing-1", "sk": "thing"}
|
|
34
|
+
assert strategy.key_for_entity(Thing(id="thing-2")) == {"pk": "thing#thing-2", "sk": "thing"}
|
|
35
|
+
assert strategy.key_for_entity({"id": "thing-3"}) == {"pk": "thing#thing-3", "sk": "thing"}
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def test_tenant_scoped_sort_key_strategy_uses_entity_id_and_tenant_scoped_sk() -> None:
|
|
39
39
|
strategy = TenantScopedSortKeyStrategy("thing")
|
|
40
40
|
|
|
41
41
|
assert strategy.key_for_id("thing-1", tenant_id="acme") == {
|
|
42
|
-
"pk": "thing-1",
|
|
43
|
-
"sk": "
|
|
42
|
+
"pk": "thing#thing-1",
|
|
43
|
+
"sk": "tenant#acme",
|
|
44
44
|
}
|
|
45
45
|
assert strategy.key_for_entity(Thing(id="thing-2", tenant_id="modmex")) == {
|
|
46
|
-
"pk": "thing-2",
|
|
47
|
-
"sk": "
|
|
46
|
+
"pk": "thing#thing-2",
|
|
47
|
+
"sk": "tenant#modmex",
|
|
48
48
|
}
|
|
49
49
|
assert strategy.key_for_entity(Thing(id="thing-3", tenant_id="ignored"), tenant_id="acme") == {
|
|
50
|
-
"pk": "thing-3",
|
|
51
|
-
"sk": "
|
|
50
|
+
"pk": "thing#thing-3",
|
|
51
|
+
"sk": "tenant#acme",
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def test_tenant_scoped_sort_key_strategy_supports_custom_field_and_separator() -> None:
|
|
56
|
-
strategy = TenantScopedSortKeyStrategy(
|
|
56
|
+
strategy = TenantScopedSortKeyStrategy(
|
|
57
|
+
"thing",
|
|
58
|
+
tenant_name="account",
|
|
59
|
+
separator=":",
|
|
60
|
+
tenant_field="account_id",
|
|
61
|
+
)
|
|
57
62
|
|
|
58
63
|
assert strategy.key_for_entity(Thing(id="thing-1", account_id="acct-1")) == {
|
|
59
|
-
"pk": "thing-1",
|
|
60
|
-
"sk": "
|
|
64
|
+
"pk": "thing:thing-1",
|
|
65
|
+
"sk": "account:acct-1",
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
|
|
@@ -65,26 +70,31 @@ def test_tenant_partition_key_strategy_uses_tenant_as_pk_and_entity_scoped_sk()
|
|
|
65
70
|
strategy = TenantPartitionKeyStrategy("thing")
|
|
66
71
|
|
|
67
72
|
assert strategy.key_for_id("thing-1", tenant_id="acme") == {
|
|
68
|
-
"pk": "acme",
|
|
73
|
+
"pk": "tenant#acme",
|
|
69
74
|
"sk": "thing#thing-1",
|
|
70
75
|
}
|
|
71
76
|
assert strategy.key_for_entity(Thing(id="thing-2", tenant_id="modmex")) == {
|
|
72
|
-
"pk": "modmex",
|
|
77
|
+
"pk": "tenant#modmex",
|
|
73
78
|
"sk": "thing#thing-2",
|
|
74
79
|
}
|
|
75
80
|
|
|
76
81
|
|
|
77
82
|
def test_tenant_partition_key_strategy_supports_custom_field_and_separator() -> None:
|
|
78
|
-
strategy = TenantPartitionKeyStrategy(
|
|
83
|
+
strategy = TenantPartitionKeyStrategy(
|
|
84
|
+
"thing",
|
|
85
|
+
tenant_name="account",
|
|
86
|
+
separator=":",
|
|
87
|
+
tenant_field="account_id",
|
|
88
|
+
)
|
|
79
89
|
|
|
80
90
|
assert strategy.key_for_entity(Thing(id="thing-1", account_id="acct-1")) == {
|
|
81
|
-
"pk": "acct-1",
|
|
91
|
+
"pk": "account:acct-1",
|
|
82
92
|
"sk": "thing:thing-1",
|
|
83
93
|
}
|
|
84
94
|
|
|
85
95
|
|
|
86
96
|
def test_aggregate_key_strategy_uses_aggregate_pk_and_entity_sk() -> None:
|
|
87
|
-
strategy = AggregateKeyStrategy("order", "
|
|
97
|
+
strategy = AggregateKeyStrategy("item", "order", "aggregate_id")
|
|
88
98
|
|
|
89
99
|
assert strategy.key_for_id("item-1", aggregate_id="order-1") == {
|
|
90
100
|
"pk": "order#order-1",
|
|
@@ -97,7 +107,7 @@ def test_aggregate_key_strategy_uses_aggregate_pk_and_entity_sk() -> None:
|
|
|
97
107
|
|
|
98
108
|
|
|
99
109
|
def test_aggregate_key_strategy_supports_custom_field_and_separator() -> None:
|
|
100
|
-
strategy = AggregateKeyStrategy("
|
|
110
|
+
strategy = AggregateKeyStrategy("item", "order", separator=":", aggregate_field="order_id")
|
|
101
111
|
|
|
102
112
|
assert strategy.key_for_entity(Thing(id="item-1", order_id="order-1")) == {
|
|
103
113
|
"pk": "order:order-1",
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/tests/persistence/test_dynamodb_materialized_views.py
RENAMED
|
@@ -56,7 +56,7 @@ def test_materialized_view_mixin_replicates_event_entity_with_stream_fields(monk
|
|
|
56
56
|
"timestamp": 1548967022000,
|
|
57
57
|
"thing": {
|
|
58
58
|
"id": "thing-1",
|
|
59
|
-
"pk": "
|
|
59
|
+
"pk": "thing#thing-1",
|
|
60
60
|
"sk": "thing",
|
|
61
61
|
"name": "Desk",
|
|
62
62
|
},
|
|
@@ -65,7 +65,7 @@ def test_materialized_view_mixin_replicates_event_entity_with_stream_fields(monk
|
|
|
65
65
|
|
|
66
66
|
request = ThingMaterializer().to_materialized_update_request(uow)
|
|
67
67
|
|
|
68
|
-
assert request["Key"] == {"pk": "thing-1", "sk": "thing"}
|
|
68
|
+
assert request["Key"] == {"pk": "thing#thing-1", "sk": "thing"}
|
|
69
69
|
assert request["ExpressionAttributeValues"][":id"] == "thing-1"
|
|
70
70
|
assert request["ExpressionAttributeValues"][":name"] == "Desk"
|
|
71
71
|
assert request["ExpressionAttributeValues"][":discriminator"] == "thing"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/api_gateway_proxy_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/data_classes/cognito_user_pool_event.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/__init__.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/compat.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/dependant.py
RENAMED
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/depends.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/params.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/dependencies/types.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/exception_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/event_handler/routing_fallbacks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/expressions.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/persistence/dynamodb/stream_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/data_classes/__init__.py
RENAMED
|
File without changes
|
{modmex_lambda-0.5.4 → modmex_lambda-0.5.6}/modmex_lambda/stream/utils/data_classes/dynamodb.py
RENAMED
|
File without changes
|
|
File without changes
|