aws-durable-execution-sdk-python-testing 1.2.0__tar.gz → 1.2.1__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 (52) hide show
  1. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/PKG-INFO +1 -1
  2. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/__about__.py +1 -1
  3. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/routes.py +14 -6
  4. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/.gitignore +0 -0
  5. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/LICENSE +0 -0
  6. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/NOTICE +0 -0
  7. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/README.md +0 -0
  8. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/__init__.py +0 -0
  9. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/__init__.py +0 -0
  10. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processor.py +0 -0
  11. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/__init__.py +0 -0
  12. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/base.py +0 -0
  13. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/callback.py +0 -0
  14. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/context.py +0 -0
  15. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/execution.py +0 -0
  16. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/step.py +0 -0
  17. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/processors/wait.py +0 -0
  18. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/transformer.py +0 -0
  19. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/__init__.py +0 -0
  20. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/checkpoint.py +0 -0
  21. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/__init__.py +0 -0
  22. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/callback.py +0 -0
  23. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/context.py +0 -0
  24. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/execution.py +0 -0
  25. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/invoke.py +0 -0
  26. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/step.py +0 -0
  27. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/wait.py +0 -0
  28. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/checkpoint/validators/transitions.py +0 -0
  29. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/cli.py +0 -0
  30. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/client.py +0 -0
  31. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/exceptions.py +0 -0
  32. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/execution.py +0 -0
  33. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/executor.py +0 -0
  34. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/invoker.py +0 -0
  35. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/model.py +0 -0
  36. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/observer.py +0 -0
  37. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/py.typed +0 -0
  38. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/runner.py +0 -0
  39. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/scheduler.py +0 -0
  40. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/stores/__init__.py +0 -0
  41. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/stores/base.py +0 -0
  42. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/stores/filesystem.py +0 -0
  43. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/stores/memory.py +0 -0
  44. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/stores/sqlite.py +0 -0
  45. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/token.py +0 -0
  46. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/__init__.py +0 -0
  47. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/errors.py +0 -0
  48. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/handlers.py +0 -0
  49. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/models.py +0 -0
  50. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/serialization.py +0 -0
  51. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/aws_durable_execution_sdk_python_testing/web/server.py +0 -0
  52. {aws_durable_execution_sdk_python_testing-1.2.0 → aws_durable_execution_sdk_python_testing-1.2.1}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-durable-execution-sdk-python-testing
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: AWS Durable Execution Testing SDK for Python
5
5
  Project-URL: Documentation, https://github.com/aws/aws-durable-execution-sdk-python-testing#readme
6
6
  Project-URL: Issues, https://github.com/aws/aws-durable-execution-sdk-python-testing/issues
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2025-present Amazon.com, Inc. or its affiliates.
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
- __version__ = "1.2.0"
4
+ __version__ = "1.2.1"
@@ -39,14 +39,22 @@ class Route:
39
39
  def from_string(cls, path: str) -> Route:
40
40
  """Create a Route from a string.
41
41
 
42
+ Each segment is URL-decoded; ``raw_path`` is preserved as the
43
+ original wire path. Splitting on ``/`` happens before decoding so
44
+ that an encoded ``%2F`` inside a captured value (e.g. an ARN that
45
+ contains ``/``) stays inside its segment instead of being treated
46
+ as a path separator.
47
+
42
48
  Args:
43
49
  path: The raw path string
44
50
 
45
51
  Returns:
46
- Route instance with parsed segments
52
+ Route instance with parsed, URL-decoded segments
47
53
  """
48
- # Remove leading/trailing slashes and split into segments
49
- segments = [s for s in path.strip("/").split("/") if s]
54
+ # Remove leading/trailing slashes, split on '/', then URL-decode each
55
+ # segment. Order matters: split on the literal '/' first so '%2F'-
56
+ # encoded slashes inside values don't act as separators.
57
+ segments = [unquote(s) for s in path.strip("/").split("/") if s]
50
58
  return cls(raw_path=path, segments=segments)
51
59
 
52
60
  def matches_pattern(self, pattern: list[str]) -> bool:
@@ -445,7 +453,7 @@ class CallbackSuccessRoute(BytesPayloadRoute):
445
453
  return cls(
446
454
  raw_path=route.raw_path,
447
455
  segments=route.segments,
448
- callback_id=unquote(route.segments[2]),
456
+ callback_id=route.segments[2],
449
457
  )
450
458
 
451
459
 
@@ -488,7 +496,7 @@ class CallbackFailureRoute(BytesPayloadRoute):
488
496
  return cls(
489
497
  raw_path=route.raw_path,
490
498
  segments=route.segments,
491
- callback_id=unquote(route.segments[2]),
499
+ callback_id=route.segments[2],
492
500
  )
493
501
 
494
502
 
@@ -531,7 +539,7 @@ class CallbackHeartbeatRoute(Route):
531
539
  return cls(
532
540
  raw_path=route.raw_path,
533
541
  segments=route.segments,
534
- callback_id=unquote(route.segments[2]),
542
+ callback_id=route.segments[2],
535
543
  )
536
544
 
537
545