azure-functions-durable 1.2.9__py3-none-any.whl → 1.2.10__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 (101) hide show
  1. azure/durable_functions/__init__.py +81 -81
  2. azure/durable_functions/constants.py +9 -9
  3. azure/durable_functions/decorators/__init__.py +3 -3
  4. azure/durable_functions/decorators/durable_app.py +249 -249
  5. azure/durable_functions/decorators/metadata.py +109 -109
  6. azure/durable_functions/entity.py +125 -125
  7. azure/durable_functions/models/DurableEntityContext.py +201 -201
  8. azure/durable_functions/models/DurableHttpRequest.py +58 -58
  9. azure/durable_functions/models/DurableOrchestrationBindings.py +66 -66
  10. azure/durable_functions/models/DurableOrchestrationClient.py +781 -781
  11. azure/durable_functions/models/DurableOrchestrationContext.py +722 -707
  12. azure/durable_functions/models/DurableOrchestrationStatus.py +156 -156
  13. azure/durable_functions/models/EntityStateResponse.py +23 -23
  14. azure/durable_functions/models/FunctionContext.py +7 -7
  15. azure/durable_functions/models/OrchestrationRuntimeStatus.py +32 -32
  16. azure/durable_functions/models/OrchestratorState.py +117 -116
  17. azure/durable_functions/models/PurgeHistoryResult.py +33 -33
  18. azure/durable_functions/models/ReplaySchema.py +8 -8
  19. azure/durable_functions/models/RetryOptions.py +69 -69
  20. azure/durable_functions/models/RpcManagementOptions.py +86 -86
  21. azure/durable_functions/models/Task.py +426 -426
  22. azure/durable_functions/models/TaskOrchestrationExecutor.py +346 -336
  23. azure/durable_functions/models/TokenSource.py +56 -56
  24. azure/durable_functions/models/__init__.py +24 -24
  25. azure/durable_functions/models/actions/Action.py +23 -23
  26. azure/durable_functions/models/actions/ActionType.py +18 -18
  27. azure/durable_functions/models/actions/CallActivityAction.py +41 -41
  28. azure/durable_functions/models/actions/CallActivityWithRetryAction.py +45 -45
  29. azure/durable_functions/models/actions/CallEntityAction.py +46 -46
  30. azure/durable_functions/models/actions/CallHttpAction.py +35 -35
  31. azure/durable_functions/models/actions/CallSubOrchestratorAction.py +40 -40
  32. azure/durable_functions/models/actions/CallSubOrchestratorWithRetryAction.py +44 -44
  33. azure/durable_functions/models/actions/CompoundAction.py +35 -35
  34. azure/durable_functions/models/actions/ContinueAsNewAction.py +36 -36
  35. azure/durable_functions/models/actions/CreateTimerAction.py +48 -48
  36. azure/durable_functions/models/actions/NoOpAction.py +35 -35
  37. azure/durable_functions/models/actions/SignalEntityAction.py +47 -47
  38. azure/durable_functions/models/actions/WaitForExternalEventAction.py +63 -63
  39. azure/durable_functions/models/actions/WhenAllAction.py +14 -14
  40. azure/durable_functions/models/actions/WhenAnyAction.py +14 -14
  41. azure/durable_functions/models/actions/__init__.py +24 -24
  42. azure/durable_functions/models/entities/EntityState.py +74 -74
  43. azure/durable_functions/models/entities/OperationResult.py +76 -76
  44. azure/durable_functions/models/entities/RequestMessage.py +53 -53
  45. azure/durable_functions/models/entities/ResponseMessage.py +48 -48
  46. azure/durable_functions/models/entities/Signal.py +62 -62
  47. azure/durable_functions/models/entities/__init__.py +17 -17
  48. azure/durable_functions/models/history/HistoryEvent.py +92 -92
  49. azure/durable_functions/models/history/HistoryEventType.py +27 -27
  50. azure/durable_functions/models/history/__init__.py +8 -8
  51. azure/durable_functions/models/utils/__init__.py +7 -7
  52. azure/durable_functions/models/utils/entity_utils.py +103 -91
  53. azure/durable_functions/models/utils/http_utils.py +69 -69
  54. azure/durable_functions/models/utils/json_utils.py +56 -56
  55. azure/durable_functions/orchestrator.py +71 -71
  56. {azure_functions_durable-1.2.9.dist-info → azure_functions_durable-1.2.10.dist-info}/LICENSE +21 -21
  57. {azure_functions_durable-1.2.9.dist-info → azure_functions_durable-1.2.10.dist-info}/METADATA +58 -58
  58. azure_functions_durable-1.2.10.dist-info/RECORD +100 -0
  59. tests/models/test_DecoratorMetadata.py +135 -135
  60. tests/models/test_Decorators.py +107 -107
  61. tests/models/test_DurableOrchestrationBindings.py +68 -68
  62. tests/models/test_DurableOrchestrationClient.py +730 -730
  63. tests/models/test_DurableOrchestrationContext.py +102 -102
  64. tests/models/test_DurableOrchestrationStatus.py +59 -59
  65. tests/models/test_OrchestrationState.py +28 -28
  66. tests/models/test_RpcManagementOptions.py +79 -79
  67. tests/models/test_TokenSource.py +10 -10
  68. tests/orchestrator/models/OrchestrationInstance.py +18 -18
  69. tests/orchestrator/orchestrator_test_utils.py +130 -130
  70. tests/orchestrator/schemas/OrchetrationStateSchema.py +66 -66
  71. tests/orchestrator/test_call_http.py +235 -176
  72. tests/orchestrator/test_continue_as_new.py +67 -67
  73. tests/orchestrator/test_create_timer.py +126 -126
  74. tests/orchestrator/test_entity.py +395 -395
  75. tests/orchestrator/test_external_event.py +53 -53
  76. tests/orchestrator/test_fan_out_fan_in.py +175 -175
  77. tests/orchestrator/test_is_replaying_flag.py +101 -101
  78. tests/orchestrator/test_retries.py +308 -308
  79. tests/orchestrator/test_sequential_orchestrator.py +841 -841
  80. tests/orchestrator/test_sequential_orchestrator_custom_status.py +119 -119
  81. tests/orchestrator/test_sequential_orchestrator_with_retry.py +465 -465
  82. tests/orchestrator/test_serialization.py +30 -30
  83. tests/orchestrator/test_sub_orchestrator.py +95 -95
  84. tests/orchestrator/test_sub_orchestrator_with_retry.py +129 -129
  85. tests/orchestrator/test_task_any.py +60 -60
  86. tests/tasks/tasks_test_utils.py +17 -17
  87. tests/tasks/test_new_uuid.py +34 -34
  88. tests/test_utils/ContextBuilder.py +174 -174
  89. tests/test_utils/EntityContextBuilder.py +56 -56
  90. tests/test_utils/constants.py +1 -1
  91. tests/test_utils/json_utils.py +30 -30
  92. tests/test_utils/testClasses.py +56 -56
  93. tests/utils/__init__.py +1 -0
  94. tests/utils/test_entity_utils.py +24 -0
  95. azure_functions_durable-1.2.9.data/data/_manifest/bsi.json +0 -1
  96. azure_functions_durable-1.2.9.data/data/_manifest/manifest.cat +0 -0
  97. azure_functions_durable-1.2.9.data/data/_manifest/manifest.spdx.json +0 -11985
  98. azure_functions_durable-1.2.9.data/data/_manifest/manifest.spdx.json.sha256 +0 -1
  99. azure_functions_durable-1.2.9.dist-info/RECORD +0 -102
  100. {azure_functions_durable-1.2.9.dist-info → azure_functions_durable-1.2.10.dist-info}/WHEEL +0 -0
  101. {azure_functions_durable-1.2.9.dist-info → azure_functions_durable-1.2.10.dist-info}/top_level.txt +0 -0
@@ -1,81 +1,81 @@
1
- """Base module for the Python Durable functions.
2
-
3
- Exposes the different API components intended for public consumption
4
- """
5
- from .orchestrator import Orchestrator
6
- from .entity import Entity
7
- from .models.utils.entity_utils import EntityId
8
- from .models.DurableOrchestrationClient import DurableOrchestrationClient
9
- from .models.OrchestrationRuntimeStatus import OrchestrationRuntimeStatus
10
- from .models.DurableOrchestrationContext import DurableOrchestrationContext
11
- from .models.DurableEntityContext import DurableEntityContext
12
- from .models.RetryOptions import RetryOptions
13
- from .models.TokenSource import ManagedIdentityTokenSource
14
- import json
15
- from pathlib import Path
16
- import sys
17
- import warnings
18
-
19
-
20
- def validate_extension_bundles():
21
- """Raise a warning if host.json contains bundle-range V1.
22
-
23
- Effects
24
- ------
25
- Warning: Warning prompting the user to update to bundles V2
26
- """
27
- # No need to validate if we're running tests
28
- if "pytest" in sys.modules:
29
- return
30
-
31
- host_path = "host.json"
32
- bundles_key = "extensionBundle"
33
- version_key = "version"
34
- host_file = Path(host_path)
35
-
36
- if not host_file.exists():
37
- # If it doesn't exist, we ignore it
38
- return
39
-
40
- with open(host_path) as f:
41
- host_settings = json.loads(f.read())
42
- try:
43
- version_range = host_settings[bundles_key][version_key]
44
- except Exception:
45
- # If bundle info is not available, we ignore it.
46
- # For example: it's possible the user is using a manual extension install
47
- return
48
- # We do a best-effort attempt to detect bundles V1
49
- # This is the string hard-coded into the bundles V1 template in VSCode
50
- if version_range == "[1.*, 2.0.0)":
51
- message = "Your application is currently configured to use Extension Bundles V1."\
52
- " Durable Functions for Python works best with Bundles V2,"\
53
- " which provides additional features like Durable Entities, better performance,"\
54
- " and is actively being developed."\
55
- " Please update to Bundles V2 in your `host.json`."\
56
- " You can set extensionBundles version to be: [2.*, 3.0.0)"
57
- warnings.warn(message)
58
-
59
-
60
- # Validate that users are not in extension bundles V1
61
- validate_extension_bundles()
62
-
63
- __all__ = [
64
- 'Orchestrator',
65
- 'Entity',
66
- 'EntityId',
67
- 'DurableOrchestrationClient',
68
- 'DurableEntityContext',
69
- 'DurableOrchestrationContext',
70
- 'ManagedIdentityTokenSource',
71
- 'OrchestrationRuntimeStatus',
72
- 'RetryOptions'
73
- ]
74
-
75
- try:
76
- # disabling linter on this line because it fails to recognize the conditional export
77
- from .decorators.durable_app import (DFApp, Blueprint) # noqa
78
- __all__.append('DFApp')
79
- __all__.append('Blueprint')
80
- except ModuleNotFoundError:
81
- pass
1
+ """Base module for the Python Durable functions.
2
+
3
+ Exposes the different API components intended for public consumption
4
+ """
5
+ from .orchestrator import Orchestrator
6
+ from .entity import Entity
7
+ from .models.utils.entity_utils import EntityId
8
+ from .models.DurableOrchestrationClient import DurableOrchestrationClient
9
+ from .models.OrchestrationRuntimeStatus import OrchestrationRuntimeStatus
10
+ from .models.DurableOrchestrationContext import DurableOrchestrationContext
11
+ from .models.DurableEntityContext import DurableEntityContext
12
+ from .models.RetryOptions import RetryOptions
13
+ from .models.TokenSource import ManagedIdentityTokenSource
14
+ import json
15
+ from pathlib import Path
16
+ import sys
17
+ import warnings
18
+
19
+
20
+ def validate_extension_bundles():
21
+ """Raise a warning if host.json contains bundle-range V1.
22
+
23
+ Effects
24
+ ------
25
+ Warning: Warning prompting the user to update to bundles V2
26
+ """
27
+ # No need to validate if we're running tests
28
+ if "pytest" in sys.modules:
29
+ return
30
+
31
+ host_path = "host.json"
32
+ bundles_key = "extensionBundle"
33
+ version_key = "version"
34
+ host_file = Path(host_path)
35
+
36
+ if not host_file.exists():
37
+ # If it doesn't exist, we ignore it
38
+ return
39
+
40
+ with open(host_path) as f:
41
+ host_settings = json.loads(f.read())
42
+ try:
43
+ version_range = host_settings[bundles_key][version_key]
44
+ except Exception:
45
+ # If bundle info is not available, we ignore it.
46
+ # For example: it's possible the user is using a manual extension install
47
+ return
48
+ # We do a best-effort attempt to detect bundles V1
49
+ # This is the string hard-coded into the bundles V1 template in VSCode
50
+ if version_range == "[1.*, 2.0.0)":
51
+ message = "Your application is currently configured to use Extension Bundles V1."\
52
+ " Durable Functions for Python works best with Bundles V2,"\
53
+ " which provides additional features like Durable Entities, better performance,"\
54
+ " and is actively being developed."\
55
+ " Please update to Bundles V2 in your `host.json`."\
56
+ " You can set extensionBundles version to be: [2.*, 3.0.0)"
57
+ warnings.warn(message)
58
+
59
+
60
+ # Validate that users are not in extension bundles V1
61
+ validate_extension_bundles()
62
+
63
+ __all__ = [
64
+ 'Orchestrator',
65
+ 'Entity',
66
+ 'EntityId',
67
+ 'DurableOrchestrationClient',
68
+ 'DurableEntityContext',
69
+ 'DurableOrchestrationContext',
70
+ 'ManagedIdentityTokenSource',
71
+ 'OrchestrationRuntimeStatus',
72
+ 'RetryOptions'
73
+ ]
74
+
75
+ try:
76
+ # disabling linter on this line because it fails to recognize the conditional export
77
+ from .decorators.durable_app import (DFApp, Blueprint) # noqa
78
+ __all__.append('DFApp')
79
+ __all__.append('Blueprint')
80
+ except ModuleNotFoundError:
81
+ pass
@@ -1,9 +1,9 @@
1
- """Constants used to determine the local running context."""
2
- DEFAULT_LOCAL_HOST: str = 'localhost:7071'
3
- DEFAULT_LOCAL_ORIGIN: str = f'http://{DEFAULT_LOCAL_HOST}'
4
- DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'
5
- HTTP_ACTION_NAME = 'BuiltIn::HttpActivity'
6
- ORCHESTRATION_TRIGGER = "orchestrationTrigger"
7
- ACTIVITY_TRIGGER = "activityTrigger"
8
- ENTITY_TRIGGER = "entityTrigger"
9
- DURABLE_CLIENT = "durableClient"
1
+ """Constants used to determine the local running context."""
2
+ DEFAULT_LOCAL_HOST: str = 'localhost:7071'
3
+ DEFAULT_LOCAL_ORIGIN: str = f'http://{DEFAULT_LOCAL_HOST}'
4
+ DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'
5
+ HTTP_ACTION_NAME = 'BuiltIn::HttpActivity'
6
+ ORCHESTRATION_TRIGGER = "orchestrationTrigger"
7
+ ACTIVITY_TRIGGER = "activityTrigger"
8
+ ENTITY_TRIGGER = "entityTrigger"
9
+ DURABLE_CLIENT = "durableClient"
@@ -1,3 +1,3 @@
1
- # Copyright (c) Microsoft Corporation. All rights reserved.
2
- # Licensed under the MIT License.
3
- """Decorator definitions for Durable Functions."""
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License.
3
+ """Decorator definitions for Durable Functions."""