azure-functions-durable 1.3.2__tar.gz → 1.3.3__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 (302) hide show
  1. {azure-functions-durable-1.3.2/azure_functions_durable.egg-info → azure-functions-durable-1.3.3}/PKG-INFO +1 -1
  2. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationContext.py +24 -0
  3. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3/azure_functions_durable.egg-info}/PKG-INFO +1 -1
  4. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/SOURCES.txt +6 -0
  5. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/requires.txt +1 -1
  6. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/requirements.txt +1 -1
  7. azure-functions-durable-1.3.3/samples/simple_sub_orchestration/.funcignore +5 -0
  8. azure-functions-durable-1.3.3/samples/simple_sub_orchestration/.gitignore +130 -0
  9. azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/README.md +44 -0
  10. azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/function_app.py +46 -0
  11. azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/host.json +16 -0
  12. azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/requirements.txt +7 -0
  13. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/setup.py +1 -1
  14. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationContext.py +8 -0
  15. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.devcontainer/devcontainer.json +0 -0
  16. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.devcontainer/setup.sh +0 -0
  17. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.flake8 +0 -0
  18. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/ISSUE_TEMPLATE/----feature-request.md +0 -0
  19. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/ISSUE_TEMPLATE/---bug-report.md +0 -0
  20. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/policies/resourceManagement.yml +0 -0
  21. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/workflows/codeQL.yml +0 -0
  22. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/workflows/durable_python_action.yml +0 -0
  23. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/workflows/submodule-sync.yml +0 -0
  24. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.github/workflows/validate.yml +0 -0
  25. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/.gitignore +0 -0
  26. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/CHANGELOG.md +0 -0
  27. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/CODEOWNERS +0 -0
  28. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/CONTRIBUTING.md +0 -0
  29. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/LICENSE +0 -0
  30. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/MANIFEST.in +0 -0
  31. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/README.md +0 -0
  32. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/SECURITY.md +0 -0
  33. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/__init__.py +0 -0
  34. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/__init__.py +0 -0
  35. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/constants.py +0 -0
  36. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/__init__.py +0 -0
  37. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/durable_app.py +0 -0
  38. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/metadata.py +0 -0
  39. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/entity.py +0 -0
  40. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableEntityContext.py +0 -0
  41. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableHttpRequest.py +0 -0
  42. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationBindings.py +0 -0
  43. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationClient.py +0 -0
  44. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationStatus.py +0 -0
  45. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/EntityStateResponse.py +0 -0
  46. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/FunctionContext.py +0 -0
  47. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/OrchestrationRuntimeStatus.py +0 -0
  48. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/OrchestratorState.py +0 -0
  49. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/PurgeHistoryResult.py +0 -0
  50. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/ReplaySchema.py +0 -0
  51. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/RetryOptions.py +0 -0
  52. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/RpcManagementOptions.py +0 -0
  53. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/Task.py +0 -0
  54. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/TaskOrchestrationExecutor.py +0 -0
  55. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/TokenSource.py +0 -0
  56. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/__init__.py +0 -0
  57. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/Action.py +0 -0
  58. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/ActionType.py +0 -0
  59. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallActivityAction.py +0 -0
  60. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallActivityWithRetryAction.py +0 -0
  61. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallEntityAction.py +0 -0
  62. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallHttpAction.py +0 -0
  63. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallSubOrchestratorAction.py +0 -0
  64. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallSubOrchestratorWithRetryAction.py +0 -0
  65. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CompoundAction.py +0 -0
  66. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/ContinueAsNewAction.py +0 -0
  67. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CreateTimerAction.py +0 -0
  68. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/NoOpAction.py +0 -0
  69. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/SignalEntityAction.py +0 -0
  70. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WaitForExternalEventAction.py +0 -0
  71. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WhenAllAction.py +0 -0
  72. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WhenAnyAction.py +0 -0
  73. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/__init__.py +0 -0
  74. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/EntityState.py +0 -0
  75. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/OperationResult.py +0 -0
  76. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/RequestMessage.py +0 -0
  77. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/ResponseMessage.py +0 -0
  78. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/Signal.py +0 -0
  79. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/__init__.py +0 -0
  80. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/HistoryEvent.py +0 -0
  81. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/HistoryEventType.py +0 -0
  82. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/__init__.py +0 -0
  83. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/__init__.py +0 -0
  84. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/entity_utils.py +0 -0
  85. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/http_utils.py +0 -0
  86. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/json_utils.py +0 -0
  87. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/orchestrator.py +0 -0
  88. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/testing/OrchestratorGeneratorWrapper.py +0 -0
  89. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure/durable_functions/testing/__init__.py +0 -0
  90. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure-pipelines-release.yml +0 -0
  91. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure-pipelines.yml +0 -0
  92. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/dependency_links.txt +0 -0
  93. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/top_level.txt +0 -0
  94. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/eng/ci/code-mirror.yml +0 -0
  95. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/eng/ci/official-build.yml +0 -0
  96. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/eng/templates/build.yml +0 -0
  97. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/host.json +0 -0
  98. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/noxfile.py +0 -0
  99. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.funcignore +0 -0
  100. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.gitignore +0 -0
  101. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_durable_orchestrator/__init__.py +0 -0
  102. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_durable_orchestrator/function.json +0 -0
  103. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_pipeline/__init__.py +0 -0
  104. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_pipeline/function.json +0 -0
  105. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_poll_status/__init__.py +0 -0
  106. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_poll_status/function.json +0 -0
  107. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/extensions.csproj +0 -0
  108. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/host.json +0 -0
  109. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/local.settings.json +0 -0
  110. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/proxies.json +0 -0
  111. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/requirements.txt +0 -0
  112. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/__init__.py +0 -0
  113. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/aml_helper.py +0 -0
  114. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/auth_helper.py +0 -0
  115. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/.funcignore +0 -0
  116. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/.gitignore +0 -0
  117. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/Counter/__init__.py +0 -0
  118. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/Counter/function.json +0 -0
  119. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableOrchestration/__init__.py +0 -0
  120. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableOrchestration/function.json +0 -0
  121. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableTrigger/__init__.py +0 -0
  122. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableTrigger/function.json +0 -0
  123. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/README.md +0 -0
  124. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/RetrieveEntity/__init__.py +0 -0
  125. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/RetrieveEntity/function.json +0 -0
  126. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/host.json +0 -0
  127. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/local.settings.json +0 -0
  128. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/counter_entity/requirements.txt +0 -0
  129. {azure-functions-durable-1.3.2/samples/function_chaining → azure-functions-durable-1.3.3/samples/fan_in_fan_out}/.funcignore +0 -0
  130. {azure-functions-durable-1.3.2/samples/function_chaining → azure-functions-durable-1.3.3/samples/fan_in_fan_out}/.gitignore +0 -0
  131. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_BackupSiteContent/__init__.py +0 -0
  132. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_BackupSiteContent/function.json +0 -0
  133. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_CopyFileToBlob/__init__.py +0 -0
  134. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_CopyFileToBlob/function.json +0 -0
  135. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_GetFileList/__init__.py +0 -0
  136. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_GetFileList/function.json +0 -0
  137. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/HttpStart/__init__.py +0 -0
  138. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/HttpStart/function.json +0 -0
  139. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/README.md +0 -0
  140. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/host.json +0 -0
  141. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/local.settings.json +0 -0
  142. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/proxies.json +0 -0
  143. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/requirements.txt +0 -0
  144. {azure-functions-durable-1.3.2/samples/human_interaction → azure-functions-durable-1.3.3/samples/function_chaining}/.funcignore +0 -0
  145. {azure-functions-durable-1.3.2/samples/human_interaction → azure-functions-durable-1.3.3/samples/function_chaining}/.gitignore +0 -0
  146. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_HelloSequence/__init__.py +0 -0
  147. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_HelloSequence/function.json +0 -0
  148. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_SayHello/__init__.py +0 -0
  149. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_SayHello/function.json +0 -0
  150. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/HttpStart/__init__.py +0 -0
  151. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/HttpStart/function.json +0 -0
  152. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/README.md +0 -0
  153. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/host.json +0 -0
  154. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/local.settings.json +0 -0
  155. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/proxies.json +0 -0
  156. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining/requirements.txt +0 -0
  157. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/.funcignore +0 -0
  158. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/.gitignore +0 -0
  159. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableActivity/__init__.py +0 -0
  160. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableActivity/function.json +0 -0
  161. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableOrchestration/__init__.py +0 -0
  162. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableOrchestration/function.json +0 -0
  163. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableTrigger/__init__.py +0 -0
  164. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableTrigger/function.json +0 -0
  165. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/README.md +0 -0
  166. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/host.json +0 -0
  167. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/local.settings.json +0 -0
  168. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/proxies.json +0 -0
  169. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/requirements.txt +0 -0
  170. {azure-functions-durable-1.3.2/samples/monitor → azure-functions-durable-1.3.3/samples/human_interaction}/.funcignore +0 -0
  171. {azure-functions-durable-1.3.2/samples/monitor → azure-functions-durable-1.3.3/samples/human_interaction}/.gitignore +0 -0
  172. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/E4_SMSPhoneVerification/__init__.py +0 -0
  173. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/E4_SMSPhoneVerification/function.json +0 -0
  174. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/HttpStart/__init__.py +0 -0
  175. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/HttpStart/function.json +0 -0
  176. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/README.md +0 -0
  177. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/SendSMSChallenge/__init__.py +0 -0
  178. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/SendSMSChallenge/function.json +0 -0
  179. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/host.json +0 -0
  180. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/local.settings.json +0 -0
  181. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/proxies.json +0 -0
  182. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/human_interaction/requirements.txt +0 -0
  183. {azure-functions-durable-1.3.2/samples/simple_sub_orchestration → azure-functions-durable-1.3.3/samples/monitor}/.funcignore +0 -0
  184. {azure-functions-durable-1.3.2/samples/simple_sub_orchestration → azure-functions-durable-1.3.3/samples/monitor}/.gitignore +0 -0
  185. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_Monitor/__init__.py +0 -0
  186. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_Monitor/function.json +0 -0
  187. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_SendAlert/__init__.py +0 -0
  188. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_SendAlert/function.json +0 -0
  189. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_TooManyOpenIssues/__init__.py +0 -0
  190. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/E3_TooManyOpenIssues/function.json +0 -0
  191. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/HttpStart/__init__.py +0 -0
  192. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/HttpStart/function.json +0 -0
  193. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/README.md +0 -0
  194. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/host.json +0 -0
  195. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/local.settings.json +0 -0
  196. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/proxies.json +0 -0
  197. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/monitor/requirements.txt +0 -0
  198. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/.gitignore +0 -0
  199. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableActivity/__init__.py +0 -0
  200. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableActivity/function.json +0 -0
  201. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableOrchestration/__init__.py +0 -0
  202. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableOrchestration/function.json +0 -0
  203. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableTrigger/__init__.py +0 -0
  204. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableTrigger/function.json +0 -0
  205. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/README.md +0 -0
  206. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/host.json +0 -0
  207. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/local.settings.json +0 -0
  208. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/requirements.txt +0 -0
  209. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/serialize_arguments/shared_code/MyClasses.py +0 -0
  210. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableFunctionsHttpStart/__init__.py +0 -0
  211. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableFunctionsHttpStart/function.json +0 -0
  212. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableOrchestrator/__init__.py +0 -0
  213. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableOrchestrator/function.json +0 -0
  214. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableSubOrchestrator/__init__.py +0 -0
  215. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableSubOrchestrator/function.json +0 -0
  216. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/Hello/__init__.py +0 -0
  217. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/Hello/function.json +0 -0
  218. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/README.md +0 -0
  219. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/host.json +0 -0
  220. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/local.settings.json +0 -0
  221. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/proxies.json +0 -0
  222. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/requirements.txt +0 -0
  223. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/.funcignore +0 -0
  224. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/.gitignore +0 -0
  225. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/durable_blueprints.py +0 -0
  226. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/function_app.py +0 -0
  227. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/host.json +0 -0
  228. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/requirements.txt +0 -0
  229. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/readme.md +0 -0
  230. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_my_orchestrator.py +0 -0
  231. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_say_hello.py +0 -0
  232. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_start_orchestrator.py +0 -0
  233. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/.funcignore +0 -0
  234. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/.gitignore +0 -0
  235. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/README.md +0 -0
  236. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/function_app.py +0 -0
  237. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/host.json +0 -0
  238. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/proxies.json +0 -0
  239. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/requirements.txt +0 -0
  240. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/readme.md +0 -0
  241. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_BackupSiteContent.py +0 -0
  242. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_CopyFileToBlob.py +0 -0
  243. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_GetFileList.py +0 -0
  244. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_HttpStart.py +0 -0
  245. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/.funcignore +0 -0
  246. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/.gitignore +0 -0
  247. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/README.md +0 -0
  248. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/function_app.py +0 -0
  249. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/host.json +0 -0
  250. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/proxies.json +0 -0
  251. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/requirements.txt +0 -0
  252. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/readme.md +0 -0
  253. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_http_start.py +0 -0
  254. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_my_orchestrator.py +0 -0
  255. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_say_hello.py +0 -0
  256. {azure-functions-durable-1.3.2/samples/fan_in_fan_out → azure-functions-durable-1.3.3/samples-v2/orchestration_versioning}/.funcignore +0 -0
  257. {azure-functions-durable-1.3.2/samples/fan_in_fan_out → azure-functions-durable-1.3.3/samples-v2/orchestration_versioning}/.gitignore +0 -0
  258. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/scripts/sample_deploy.sh +0 -0
  259. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/setup.cfg +0 -0
  260. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/__init__.py +0 -0
  261. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/conftest.py +0 -0
  262. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/__init__.py +0 -0
  263. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_DecoratorMetadata.py +0 -0
  264. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_Decorators.py +0 -0
  265. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationBindings.py +0 -0
  266. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationClient.py +0 -0
  267. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationStatus.py +0 -0
  268. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_OrchestrationState.py +0 -0
  269. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_RpcManagementOptions.py +0 -0
  270. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/models/test_TokenSource.py +0 -0
  271. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/__init__.py +0 -0
  272. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/models/OrchestrationInstance.py +0 -0
  273. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/orchestrator_test_utils.py +0 -0
  274. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/schemas/OrchetrationStateSchema.py +0 -0
  275. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_call_http.py +0 -0
  276. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_continue_as_new.py +0 -0
  277. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_create_timer.py +0 -0
  278. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_entity.py +0 -0
  279. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_external_event.py +0 -0
  280. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_fan_out_fan_in.py +0 -0
  281. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_is_replaying_flag.py +0 -0
  282. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_retries.py +0 -0
  283. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator.py +0 -0
  284. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator_custom_status.py +0 -0
  285. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator_with_retry.py +0 -0
  286. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_serialization.py +0 -0
  287. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sub_orchestrator.py +0 -0
  288. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sub_orchestrator_with_retry.py +0 -0
  289. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/orchestrator/test_task_any.py +0 -0
  290. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/tasks/__init__.py +0 -0
  291. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/tasks/tasks_test_utils.py +0 -0
  292. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/tasks/test_long_timers.py +0 -0
  293. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/tasks/test_new_uuid.py +0 -0
  294. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_constants.py +0 -0
  295. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/ContextBuilder.py +0 -0
  296. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/EntityContextBuilder.py +0 -0
  297. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/__init__.py +0 -0
  298. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/constants.py +0 -0
  299. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/json_utils.py +0 -0
  300. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/test_utils/testClasses.py +0 -0
  301. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/utils/__init__.py +0 -0
  302. {azure-functions-durable-1.3.2 → azure-functions-durable-1.3.3}/tests/utils/test_entity_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-functions-durable
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Durable Functions For Python
5
5
  Home-page: https://github.com/Azure/azure-functions-durable-python
6
6
  Author: Azure Functions team at Microsoft Corp.
@@ -100,6 +100,8 @@ class DurableOrchestrationContext:
100
100
  self.open_tasks = defaultdict(list)
101
101
  self.deferred_tasks: Dict[Union[int, str], Tuple[HistoryEvent, bool, str]] = {}
102
102
 
103
+ self._version: str = self._extract_version_from_history(self._histories)
104
+
103
105
  @classmethod
104
106
  def from_json(cls, json_string: str):
105
107
  """Convert the value passed into a new instance of the class.
@@ -752,3 +754,25 @@ class DurableOrchestrationContext:
752
754
  "https://github.com/Azure/azure-functions-durable-python.\n"\
753
755
  "Error trace: " + e.message
754
756
  raise e
757
+
758
+ @property
759
+ def version(self) -> Optional[str]:
760
+ """Get the version assigned to the orchestration instance on creation.
761
+
762
+ Returns
763
+ -------
764
+ Optional[str]
765
+ The version assigned to the orchestration instance on creation, or None if not found.
766
+ """
767
+ return self._version
768
+
769
+ @staticmethod
770
+ def _extract_version_from_history(history_events: List[HistoryEvent]) -> Optional[str]:
771
+ """Extract the version from the execution started event in history.
772
+
773
+ Returns None if not found.
774
+ """
775
+ for event in history_events:
776
+ if event.event_type == HistoryEventType.EXECUTION_STARTED:
777
+ return event.Version
778
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-functions-durable
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Durable Functions For Python
5
5
  Home-page: https://github.com/Azure/azure-functions-durable-python
6
6
  Author: Azure Functions team at Microsoft Corp.
@@ -121,6 +121,12 @@ samples-v2/function_chaining/tests/readme.md
121
121
  samples-v2/function_chaining/tests/test_http_start.py
122
122
  samples-v2/function_chaining/tests/test_my_orchestrator.py
123
123
  samples-v2/function_chaining/tests/test_say_hello.py
124
+ samples-v2/orchestration_versioning/.funcignore
125
+ samples-v2/orchestration_versioning/.gitignore
126
+ samples-v2/orchestration_versioning/README.md
127
+ samples-v2/orchestration_versioning/function_app.py
128
+ samples-v2/orchestration_versioning/host.json
129
+ samples-v2/orchestration_versioning/requirements.txt
124
130
  samples/aml_monitoring/.funcignore
125
131
  samples/aml_monitoring/.gitignore
126
132
  samples/aml_monitoring/extensions.csproj
@@ -1,5 +1,5 @@
1
1
  azure-functions>=1.12.0
2
- aiohttp>=3.12.9
2
+ aiohttp>=3.12.14
3
3
  requests==2.*
4
4
  python-dateutil>=2.8.0
5
5
  furl>=2.1.0
@@ -4,7 +4,7 @@ pytest==7.1.2
4
4
  python-dateutil==2.8.0
5
5
  requests==2.32.4
6
6
  jsonschema==3.2.0
7
- aiohttp==3.12.9
7
+ aiohttp==3.12.14
8
8
  azure-functions>=1.11.3b3
9
9
  nox==2019.11.9
10
10
  furl==2.1.0
@@ -0,0 +1,5 @@
1
+ .git*
2
+ .vscode
3
+ local.settings.json
4
+ test
5
+ .venv
@@ -0,0 +1,130 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+
53
+ # Translations
54
+ *.mo
55
+ *.pot
56
+
57
+ # Django stuff:
58
+ *.log
59
+ local_settings.py
60
+ db.sqlite3
61
+
62
+ # Flask stuff:
63
+ instance/
64
+ .webassets-cache
65
+
66
+ # Scrapy stuff:
67
+ .scrapy
68
+
69
+ # Sphinx documentation
70
+ docs/_build/
71
+
72
+ # PyBuilder
73
+ target/
74
+
75
+ # Jupyter Notebook
76
+ .ipynb_checkpoints
77
+
78
+ # IPython
79
+ profile_default/
80
+ ipython_config.py
81
+
82
+ # pyenv
83
+ .python-version
84
+
85
+ # pipenv
86
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
87
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
88
+ # having no cross-platform support, pipenv may install dependencies that don’t work, or not
89
+ # install all needed dependencies.
90
+ #Pipfile.lock
91
+
92
+ # celery beat schedule file
93
+ celerybeat-schedule
94
+
95
+ # SageMath parsed files
96
+ *.sage.py
97
+
98
+ # Environments
99
+ .env
100
+ .venv
101
+ env/
102
+ venv/
103
+ ENV/
104
+ env.bak/
105
+ venv.bak/
106
+
107
+ # Spyder project settings
108
+ .spyderproject
109
+ .spyproject
110
+
111
+ # Rope project settings
112
+ .ropeproject
113
+
114
+ # mkdocs documentation
115
+ /site
116
+
117
+ # mypy
118
+ .mypy_cache/
119
+ .dmypy.json
120
+ dmypy.json
121
+
122
+ # Pyre type checker
123
+ .pyre/
124
+
125
+ # Azure Functions artifacts
126
+ bin
127
+ obj
128
+ appsettings.json
129
+ local.settings.json
130
+ .python_packages
@@ -0,0 +1,44 @@
1
+ # Versioning
2
+
3
+ This directory contains a Function app that demonstrates how to make changes to an orchestrator function without breaking existing orchestration instances.
4
+
5
+ The orchestrator function has two code paths:
6
+
7
+ 1. The old path invoking `activity_a`.
8
+ 2. The new path invoking `activity_b` instead.
9
+
10
+ While `defaultVersion` in `host.json` is set to `1.0`, the orchestrator will always follow the first path, producing the following output:
11
+
12
+ ```
13
+ Orchestration version: 1.0
14
+ Suborchestration version: 1.0
15
+ Hello from A!
16
+ ```
17
+
18
+ When `defaultVersion` in `host.json` is updated (for example, to `2.0`), *new orchestration instances* will follow the new path, producing the following output:
19
+
20
+ ```
21
+ Orchestration version: 2.0
22
+ Suborchestration version: 2.0
23
+ Hello from B!
24
+ ```
25
+
26
+ What happens to *existing orchestration instances* that were started *before* the `defaultVersion` change? Waiting for an external event in the middle of the orchestrator provides a convenient opportunity to emulate a deployment while orchestration instances are still running:
27
+
28
+ 1. Create a new orchestration by invoking the HTTP trigger (`http_start`).
29
+ 2. Wait for the orchestration to reach the point where it is waiting for an external event.
30
+ 3. Stop the app.
31
+ 4. Change `defaultVersion` in `host.json` to `2.0`.
32
+ 5. Deploy and start the updated app.
33
+ 6. Trigger the external event.
34
+ 7. Observe that the orchestration output.
35
+
36
+ ```
37
+ Orchestration version: 1.0
38
+ Suborchestration version: 2.0
39
+ Hello from A!
40
+ ```
41
+
42
+ Note that the value returned by `context.version` is permanently associated with the orchestrator instance and is not impacted by the `defaultVersion` change. As a result, the orchestrator follows the old execution path to guarantee deterministic replay behavior.
43
+
44
+ However, the suborchestration version is `2.0` because this suborchestration was created *after* the `defaultVersion` change.
@@ -0,0 +1,46 @@
1
+ import logging
2
+ import azure.functions as func
3
+ import azure.durable_functions as df
4
+
5
+ myApp = df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)
6
+
7
+ @myApp.route(route="orchestrators/{functionName}")
8
+ @myApp.durable_client_input(client_name="client")
9
+ async def http_start(req: func.HttpRequest, client):
10
+ function_name = req.route_params.get('functionName')
11
+ instance_id = await client.start_new(function_name)
12
+
13
+ logging.info(f"Started orchestration with ID = '{instance_id}'.")
14
+ return client.create_check_status_response(req, instance_id)
15
+
16
+ @myApp.orchestration_trigger(context_name="context")
17
+ def my_orchestrator(context: df.DurableOrchestrationContext):
18
+ # context.version contains the value of defaultVersion in host.json
19
+ # at the moment when the orchestration was created.
20
+ if (context.version == "1.0"):
21
+ # Legacy code path
22
+ activity_result = yield context.call_activity('activity_a')
23
+ else:
24
+ # New code path
25
+ activity_result = yield context.call_activity('activity_b')
26
+
27
+ # Provide an opportunity to update and restart the app
28
+ context.set_custom_status("Waiting for Continue event...")
29
+ yield context.wait_for_external_event("Continue")
30
+ context.set_custom_status("Continue event received")
31
+
32
+ # New sub-orchestrations will use the current defaultVersion specified in host.json
33
+ sub_result = yield context.call_sub_orchestrator('my_sub_orchestrator')
34
+ return [f'Orchestration version: {context.version}', f'Suborchestration version: {sub_result}', activity_result]
35
+
36
+ @myApp.orchestration_trigger(context_name="context")
37
+ def my_sub_orchestrator(context: df.DurableOrchestrationContext):
38
+ return context.version
39
+
40
+ @myApp.activity_trigger()
41
+ def activity_a() -> str:
42
+ return f"Hello from A!"
43
+
44
+ @myApp.activity_trigger()
45
+ def activity_b() -> str:
46
+ return f"Hello from B!"
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "2.0",
3
+ "logging": {
4
+ "applicationInsights": {
5
+ "samplingSettings": {
6
+ "isEnabled": true,
7
+ "excludedTypes": "Request"
8
+ }
9
+ }
10
+ },
11
+ "extensions": {
12
+ "durableTask": {
13
+ "defaultVersion": "1.0"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ # DO NOT include azure-functions-worker in this file
2
+ # The Python Worker is managed by Azure Functions platform
3
+ # Manually managing azure-functions-worker may cause unexpected issues
4
+
5
+ azure-functions
6
+ azure-functions-durable
7
+ pytest
@@ -55,7 +55,7 @@ setup(
55
55
  python_requires='>=3.9,<4',
56
56
  install_requires=[
57
57
  'azure-functions>=1.12.0',
58
- 'aiohttp>=3.12.9',
58
+ 'aiohttp>=3.12.14',
59
59
  'requests==2.*',
60
60
  'python-dateutil>=2.8.0',
61
61
  'furl>=2.1.0',
@@ -100,3 +100,11 @@ def test_get_input_json_str():
100
100
  result = context.get_input()
101
101
 
102
102
  assert 'Seattle' == result['city']
103
+
104
+ def test_version_equals_version_from_execution_started_event():
105
+ builder = ContextBuilder('test_function_context')
106
+ builder.history_events = []
107
+ builder.add_orchestrator_started_event()
108
+ builder.add_execution_started_event(name="TestOrchestrator", version="1.0")
109
+ context = DurableOrchestrationContext.from_json(builder.to_json_string())
110
+ assert context.version == "1.0"