prefect-client 2.20.8__tar.gz → 2.20.10__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 (331) hide show
  1. {prefect-client-2.20.8/src/prefect_client.egg-info → prefect_client-2.20.10}/PKG-INFO +40 -2
  2. {prefect-client-2.20.8 → prefect_client-2.20.10}/requirements-client.txt +1 -1
  3. {prefect-client-2.20.8 → prefect_client-2.20.10}/requirements.txt +1 -1
  4. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/v2_schema.py +26 -0
  5. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/notifications.py +21 -0
  6. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/orchestration.py +16 -0
  7. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/clients.py +5 -5
  8. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/flows.py +44 -8
  9. prefect_client-2.20.10/src/prefect/py.typed +0 -0
  10. prefect_client-2.20.10/src/prefect/utilities/__init__.py +0 -0
  11. {prefect-client-2.20.8 → prefect_client-2.20.10/src/prefect_client.egg-info}/PKG-INFO +40 -2
  12. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect_client.egg-info/SOURCES.txt +29 -1
  13. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect_client.egg-info/requires.txt +1 -1
  14. prefect_client-2.20.10/tests/test_artifacts.py +484 -0
  15. prefect_client-2.20.10/tests/test_automations.py +186 -0
  16. prefect_client-2.20.10/tests/test_background_tasks.py +401 -0
  17. prefect_client-2.20.10/tests/test_context.py +396 -0
  18. prefect_client-2.20.10/tests/test_deployments.py +1632 -0
  19. prefect_client-2.20.10/tests/test_engine.py +3417 -0
  20. prefect_client-2.20.10/tests/test_exceptions.py +139 -0
  21. prefect_client-2.20.10/tests/test_filesystems.py +782 -0
  22. prefect_client-2.20.10/tests/test_flow_runs.py +40 -0
  23. prefect_client-2.20.10/tests/test_flows.py +4497 -0
  24. prefect_client-2.20.10/tests/test_flows_compat.py +30 -0
  25. prefect_client-2.20.10/tests/test_futures.py +215 -0
  26. prefect_client-2.20.10/tests/test_highlighters.py +69 -0
  27. prefect_client-2.20.10/tests/test_import_interceptor.py +7 -0
  28. prefect_client-2.20.10/tests/test_log_prints.py +240 -0
  29. prefect_client-2.20.10/tests/test_logging.py +1586 -0
  30. prefect_client-2.20.10/tests/test_new_flow_engine.py +866 -0
  31. prefect_client-2.20.10/tests/test_new_task_engine.py +868 -0
  32. prefect_client-2.20.10/tests/test_plugins.py +259 -0
  33. prefect_client-2.20.10/tests/test_serializers.py +368 -0
  34. prefect_client-2.20.10/tests/test_settings.py +1062 -0
  35. prefect_client-2.20.10/tests/test_states.py +374 -0
  36. prefect_client-2.20.10/tests/test_task_runners.py +34 -0
  37. prefect_client-2.20.10/tests/test_task_server.py +551 -0
  38. prefect_client-2.20.10/tests/test_tasks.py +4404 -0
  39. prefect_client-2.20.10/tests/test_variables.py +94 -0
  40. {prefect-client-2.20.8 → prefect_client-2.20.10}/LICENSE +0 -0
  41. {prefect-client-2.20.8 → prefect_client-2.20.10}/MANIFEST.in +0 -0
  42. {prefect-client-2.20.8 → prefect_client-2.20.10}/README.md +0 -0
  43. {prefect-client-2.20.8 → prefect_client-2.20.10}/requirements-dev.txt +0 -0
  44. {prefect-client-2.20.8 → prefect_client-2.20.10}/setup.cfg +0 -0
  45. {prefect-client-2.20.8 → prefect_client-2.20.10}/setup.py +0 -0
  46. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/.prefectignore +0 -0
  47. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/__init__.py +0 -0
  48. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/__init__.py +0 -0
  49. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/_logging.py +0 -0
  50. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/compatibility/__init__.py +0 -0
  51. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  52. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/compatibility/experimental.py +0 -0
  53. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/__init__.py +0 -0
  54. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/api.py +0 -0
  55. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/calls.py +0 -0
  56. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  57. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  58. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/inspection.py +0 -0
  59. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/primitives.py +0 -0
  60. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/services.py +0 -0
  61. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/threads.py +0 -0
  62. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/concurrency/waiters.py +0 -0
  63. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/integrations.py +0 -0
  64. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/__init__.py +0 -0
  65. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/_base_model.py +0 -0
  66. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/_compat.py +0 -0
  67. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/_flags.py +0 -0
  68. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/_types.py +0 -0
  69. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  70. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  71. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/schemas.py +0 -0
  72. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/__init__.py +0 -0
  73. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/config_dict.py +0 -0
  74. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/field_validator.py +0 -0
  75. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_construct.py +0 -0
  76. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_copy.py +0 -0
  77. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_dump.py +0 -0
  78. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_dump_json.py +0 -0
  79. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_fields.py +0 -0
  80. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_fields_set.py +0 -0
  81. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_json_schema.py +0 -0
  82. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_rebuild.py +0 -0
  83. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_validate.py +0 -0
  84. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_validate_json.py +0 -0
  85. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/model_validator.py +0 -0
  86. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/utilities/type_adapter.py +0 -0
  87. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  88. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  89. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/pytz.py +0 -0
  90. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/schemas/__init__.py +0 -0
  91. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/schemas/bases.py +0 -0
  92. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/schemas/fields.py +0 -0
  93. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/schemas/serializers.py +0 -0
  94. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_internal/schemas/validators.py +0 -0
  95. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/__init__.py +0 -0
  96. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/__init__.py +0 -0
  97. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/applications.py +0 -0
  98. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/background.py +0 -0
  99. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/concurrency.py +0 -0
  100. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/datastructures.py +0 -0
  101. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/dependencies/__init__.py +0 -0
  102. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/dependencies/models.py +0 -0
  103. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/dependencies/utils.py +0 -0
  104. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/encoders.py +0 -0
  105. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/exception_handlers.py +0 -0
  106. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/exceptions.py +0 -0
  107. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/logger.py +0 -0
  108. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/__init__.py +0 -0
  109. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/asyncexitstack.py +0 -0
  110. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/cors.py +0 -0
  111. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/gzip.py +0 -0
  112. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/httpsredirect.py +0 -0
  113. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/trustedhost.py +0 -0
  114. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/middleware/wsgi.py +0 -0
  115. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/openapi/__init__.py +0 -0
  116. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/openapi/constants.py +0 -0
  117. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/openapi/docs.py +0 -0
  118. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/openapi/models.py +0 -0
  119. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/openapi/utils.py +0 -0
  120. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/param_functions.py +0 -0
  121. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/params.py +0 -0
  122. {prefect-client-2.20.8/src/prefect → prefect_client-2.20.10/src/prefect/_vendor/fastapi}/py.typed +0 -0
  123. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/requests.py +0 -0
  124. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/responses.py +0 -0
  125. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/routing.py +0 -0
  126. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/__init__.py +0 -0
  127. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/api_key.py +0 -0
  128. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/base.py +0 -0
  129. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/http.py +0 -0
  130. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/oauth2.py +0 -0
  131. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/open_id_connect_url.py +0 -0
  132. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/security/utils.py +0 -0
  133. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/staticfiles.py +0 -0
  134. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/templating.py +0 -0
  135. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/testclient.py +0 -0
  136. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/types.py +0 -0
  137. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/utils.py +0 -0
  138. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/fastapi/websockets.py +0 -0
  139. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/__init__.py +0 -0
  140. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/_compat.py +0 -0
  141. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/_exception_handler.py +0 -0
  142. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/_utils.py +0 -0
  143. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/applications.py +0 -0
  144. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/authentication.py +0 -0
  145. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/background.py +0 -0
  146. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/concurrency.py +0 -0
  147. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/config.py +0 -0
  148. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/convertors.py +0 -0
  149. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/datastructures.py +0 -0
  150. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/endpoints.py +0 -0
  151. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/exceptions.py +0 -0
  152. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/formparsers.py +0 -0
  153. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/__init__.py +0 -0
  154. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/authentication.py +0 -0
  155. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/base.py +0 -0
  156. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/cors.py +0 -0
  157. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/errors.py +0 -0
  158. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/exceptions.py +0 -0
  159. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/gzip.py +0 -0
  160. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/httpsredirect.py +0 -0
  161. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/sessions.py +0 -0
  162. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/trustedhost.py +0 -0
  163. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/middleware/wsgi.py +0 -0
  164. /prefect-client-2.20.8/src/prefect/concurrency/__init__.py → /prefect_client-2.20.10/src/prefect/_vendor/starlette/py.typed +0 -0
  165. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/requests.py +0 -0
  166. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/responses.py +0 -0
  167. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/routing.py +0 -0
  168. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/schemas.py +0 -0
  169. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/staticfiles.py +0 -0
  170. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/status.py +0 -0
  171. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/templating.py +0 -0
  172. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/testclient.py +0 -0
  173. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/types.py +0 -0
  174. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_vendor/starlette/websockets.py +0 -0
  175. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/_version.py +0 -0
  176. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/agent.py +0 -0
  177. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/artifacts.py +0 -0
  178. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/automations.py +0 -0
  179. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/__init__.py +0 -0
  180. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/abstract.py +0 -0
  181. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/core.py +0 -0
  182. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/fields.py +0 -0
  183. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/kubernetes.py +0 -0
  184. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/system.py +0 -0
  185. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/blocks/webhook.py +0 -0
  186. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/__init__.py +0 -0
  187. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/base.py +0 -0
  188. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/cloud.py +0 -0
  189. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/collections.py +0 -0
  190. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/constants.py +0 -0
  191. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/__init__.py +0 -0
  192. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/actions.py +0 -0
  193. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/filters.py +0 -0
  194. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/objects.py +0 -0
  195. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/responses.py +0 -0
  196. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/schedules.py +0 -0
  197. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/schemas/sorting.py +0 -0
  198. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/subscriptions.py +0 -0
  199. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/client/utilities.py +0 -0
  200. {prefect-client-2.20.8/src/prefect/deprecated → prefect_client-2.20.10/src/prefect/concurrency}/__init__.py +0 -0
  201. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/concurrency/asyncio.py +0 -0
  202. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/concurrency/events.py +0 -0
  203. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/concurrency/services.py +0 -0
  204. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/concurrency/sync.py +0 -0
  205. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/context.py +0 -0
  206. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/__init__.py +0 -0
  207. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/base.py +0 -0
  208. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/deployments.py +0 -0
  209. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/runner.py +0 -0
  210. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/schedules.py +0 -0
  211. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/steps/__init__.py +0 -0
  212. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/steps/core.py +0 -0
  213. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/steps/pull.py +0 -0
  214. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deployments/steps/utility.py +0 -0
  215. {prefect-client-2.20.8/src/prefect/events/cli → prefect_client-2.20.10/src/prefect/deprecated}/__init__.py +0 -0
  216. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/data_documents.py +0 -0
  217. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/__init__.py +0 -0
  218. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/base.py +0 -0
  219. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/docker.py +0 -0
  220. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/file.py +0 -0
  221. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/orion.py +0 -0
  222. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/deprecated/packaging/serializers.py +0 -0
  223. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/engine.py +0 -0
  224. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/__init__.py +0 -0
  225. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/actions.py +0 -0
  226. {prefect-client-2.20.8/src/prefect/utilities → prefect_client-2.20.10/src/prefect/events/cli}/__init__.py +0 -0
  227. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/cli/automations.py +0 -0
  228. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/filters.py +0 -0
  229. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/instrument.py +0 -0
  230. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/related.py +0 -0
  231. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/schemas/__init__.py +0 -0
  232. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/schemas/automations.py +0 -0
  233. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  234. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/schemas/events.py +0 -0
  235. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/schemas/labelling.py +0 -0
  236. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/utilities.py +0 -0
  237. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/events/worker.py +0 -0
  238. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/exceptions.py +0 -0
  239. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/filesystems.py +0 -0
  240. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/flow_runs.py +0 -0
  241. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/futures.py +0 -0
  242. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/__init__.py +0 -0
  243. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/base.py +0 -0
  244. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/container.py +0 -0
  245. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/kubernetes.py +0 -0
  246. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/process.py +0 -0
  247. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  248. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  249. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  250. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  251. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  252. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/input/__init__.py +0 -0
  253. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/input/actions.py +0 -0
  254. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/input/run_input.py +0 -0
  255. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/__init__.py +0 -0
  256. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/configuration.py +0 -0
  257. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/filters.py +0 -0
  258. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/formatters.py +0 -0
  259. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/handlers.py +0 -0
  260. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/highlighters.py +0 -0
  261. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/loggers.py +0 -0
  262. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/logging/logging.yml +0 -0
  263. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/manifests.py +0 -0
  264. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/new_flow_engine.py +0 -0
  265. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/new_task_engine.py +0 -0
  266. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/plugins.py +0 -0
  267. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/profiles.toml +0 -0
  268. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/pydantic/__init__.py +0 -0
  269. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/pydantic/main.py +0 -0
  270. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/results.py +0 -0
  271. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/__init__.py +0 -0
  272. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/runner.py +0 -0
  273. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/server.py +0 -0
  274. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/storage.py +0 -0
  275. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/submit.py +0 -0
  276. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runner/utils.py +0 -0
  277. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runtime/__init__.py +0 -0
  278. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runtime/deployment.py +0 -0
  279. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runtime/flow_run.py +0 -0
  280. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/runtime/task_run.py +0 -0
  281. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/serializers.py +0 -0
  282. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  283. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  284. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/settings.py +0 -0
  285. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/software/__init__.py +0 -0
  286. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/software/base.py +0 -0
  287. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/software/conda.py +0 -0
  288. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/software/pip.py +0 -0
  289. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/software/python.py +0 -0
  290. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/states.py +0 -0
  291. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/task_engine.py +0 -0
  292. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/task_runners.py +0 -0
  293. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/task_server.py +0 -0
  294. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/tasks.py +0 -0
  295. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/types/__init__.py +0 -0
  296. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/annotations.py +0 -0
  297. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/asyncutils.py +0 -0
  298. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/callables.py +0 -0
  299. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/collections.py +0 -0
  300. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/compat.py +0 -0
  301. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/context.py +0 -0
  302. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/dispatch.py +0 -0
  303. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/dockerutils.py +0 -0
  304. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/engine.py +0 -0
  305. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/filesystem.py +0 -0
  306. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/hashing.py +0 -0
  307. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/importtools.py +0 -0
  308. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/math.py +0 -0
  309. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/names.py +0 -0
  310. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/processutils.py +0 -0
  311. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/pydantic.py +0 -0
  312. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/render_swagger.py +0 -0
  313. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  314. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  315. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/schema_tools/validation.py +0 -0
  316. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/services.py +0 -0
  317. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/slugify.py +0 -0
  318. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/templating.py +0 -0
  319. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/text.py +0 -0
  320. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/timeout.py +0 -0
  321. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/utilities/visualization.py +0 -0
  322. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/variables.py +0 -0
  323. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/__init__.py +0 -0
  324. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/base.py +0 -0
  325. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/block.py +0 -0
  326. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/process.py +0 -0
  327. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/server.py +0 -0
  328. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect/workers/utilities.py +0 -0
  329. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect_client.egg-info/dependency_links.txt +0 -0
  330. {prefect-client-2.20.8 → prefect_client-2.20.10}/src/prefect_client.egg-info/top_level.txt +0 -0
  331. {prefect-client-2.20.8 → prefect_client-2.20.10}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 2.20.8
3
+ Version: 2.20.10
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -21,8 +21,46 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Topic :: Software Development :: Libraries
22
22
  Requires-Python: >=3.8
23
23
  Description-Content-Type: text/markdown
24
- Provides-Extra: notifications
25
24
  License-File: LICENSE
25
+ Requires-Dist: anyio<5.0.0,>=4.4.0
26
+ Requires-Dist: asgi-lifespan<3.0,>=1.0
27
+ Requires-Dist: cachetools<6.0,>=5.3
28
+ Requires-Dist: cloudpickle<4.0,>=2.0
29
+ Requires-Dist: coolname<3.0.0,>=1.0.4
30
+ Requires-Dist: croniter<3.0.0,>=1.0.12
31
+ Requires-Dist: fsspec>=2022.5.0
32
+ Requires-Dist: exceptiongroup>=1.2.1
33
+ Requires-Dist: graphviz>=0.20.1
34
+ Requires-Dist: griffe<2.0.0,>=0.49.0
35
+ Requires-Dist: httpcore<2.0.0,>=1.0.5
36
+ Requires-Dist: httpx[http2]!=0.23.2,>=0.23
37
+ Requires-Dist: importlib_metadata>=4.4; python_version < "3.10"
38
+ Requires-Dist: importlib-resources<6.5.0,>=6.1.3
39
+ Requires-Dist: jsonpatch<2.0,>=1.32
40
+ Requires-Dist: jsonschema<5.0.0,>=4.0.0
41
+ Requires-Dist: orjson<4.0,>=3.7
42
+ Requires-Dist: packaging<24.3,>=21.3
43
+ Requires-Dist: pathspec>=0.8.0
44
+ Requires-Dist: pendulum<3.0; python_version < "3.12"
45
+ Requires-Dist: pendulum<4,>=3.0.0; python_version >= "3.12"
46
+ Requires-Dist: pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.10.0
47
+ Requires-Dist: pydantic_core<3.0.0,>=2.12.0
48
+ Requires-Dist: python_dateutil<3.0.0,>=2.8.2
49
+ Requires-Dist: python-slugify<9.0,>=5.0
50
+ Requires-Dist: pyyaml<7.0.0,>=5.4.1
51
+ Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
52
+ Requires-Dist: rich<14.0,>=11.0
53
+ Requires-Dist: ruamel.yaml>=0.17.0
54
+ Requires-Dist: sniffio<2.0.0,>=1.3.0
55
+ Requires-Dist: toml>=0.10.0
56
+ Requires-Dist: typing_extensions<5.0.0,>=4.5.0
57
+ Requires-Dist: ujson<6.0.0,>=5.8.0
58
+ Requires-Dist: uvicorn!=0.29.0,>=0.14.0
59
+ Requires-Dist: websockets<14.0,>=10.4
60
+ Requires-Dist: itsdangerous
61
+ Requires-Dist: python-multipart>=0.0.7
62
+ Provides-Extra: notifications
63
+ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == "notifications"
26
64
 
27
65
  <p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p>
28
66
 
@@ -21,7 +21,7 @@ pathspec >= 0.8.0
21
21
  pendulum < 3.0; python_version < '3.12'
22
22
  pendulum >= 3.0.0, <4; python_version >= '3.12'
23
23
  # the version constraints for pydantic are merged with those from fastapi 0.103.2
24
- pydantic[email]>=1.10.0,!=2.0.0,!=2.0.1,!=2.1.0,<2.9.0
24
+ pydantic[email]>=1.10.0,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0
25
25
  pydantic_core >= 2.12.0, < 3.0.0
26
26
  python_dateutil >= 2.8.2, < 3.0.0
27
27
  python-slugify >= 5.0, < 9.0
@@ -12,7 +12,7 @@ graphviz >= 0.20.1
12
12
  jinja2 >= 3.0.0, < 4.0.0
13
13
  jinja2-humanize-extension >= 0.4.0
14
14
  humanize >= 4.9.0, < 5.0.0
15
- kubernetes >= 24.2.0, < 30.0.0
15
+ kubernetes >= 24.2.0, < 32.0.0
16
16
  pytz >= 2021.1, < 2025
17
17
  readchar >= 4.0.0, < 5.0.0
18
18
  sqlalchemy[asyncio] >= 1.4.22, != 1.4.33, < 3.0.0
@@ -9,6 +9,8 @@ import pydantic
9
9
  from pydantic import BaseModel as V2BaseModel
10
10
  from pydantic import ConfigDict, PydanticUndefinedAnnotation, create_model
11
11
  from pydantic.type_adapter import TypeAdapter
12
+ from pydantic.v1 import BaseModel as V1BaseModel
13
+ from pydantic.v1 import SecretStr as V1SecretStr
12
14
 
13
15
  from prefect._internal.pydantic.annotations.pendulum import (
14
16
  PydanticPendulumDateTimeType,
@@ -30,6 +32,18 @@ def is_v2_model(v) -> bool:
30
32
  return False
31
33
 
32
34
 
35
+ def is_v1_model(v) -> bool:
36
+ if isinstance(v, V1BaseModel):
37
+ return True
38
+ try:
39
+ if inspect.isclass(v) and issubclass(v, V1BaseModel):
40
+ return True
41
+ except TypeError:
42
+ pass
43
+
44
+ return False
45
+
46
+
33
47
  def is_v2_type(v) -> bool:
34
48
  if is_v2_model(v):
35
49
  return True
@@ -40,6 +54,18 @@ def is_v2_type(v) -> bool:
40
54
  return False
41
55
 
42
56
 
57
+ def is_v1_type(v) -> bool:
58
+ if is_v1_model(v):
59
+ return True
60
+
61
+ try:
62
+ return v.__module__.startswith("pydantic.v1.types") or isinstance(
63
+ v, V1SecretStr
64
+ )
65
+ except AttributeError:
66
+ return False
67
+
68
+
43
69
  def has_v2_type_as_param(signature: inspect.Signature) -> bool:
44
70
  parameters = signature.parameters.values()
45
71
  for p in parameters:
@@ -281,6 +281,27 @@ class PagerDutyWebHook(AbstractAppriseNotificationBlock):
281
281
  )
282
282
  self._start_apprise_client(url)
283
283
 
284
+ @sync_compatible
285
+ async def notify(
286
+ self,
287
+ body: str,
288
+ subject: Optional[str] = None,
289
+ ):
290
+ """
291
+ Apprise will combine subject and body by default, so we need to move
292
+ the body into the custom_details field. custom_details is part of the
293
+ webhook url, so we need to update the url and restart the client.
294
+ """
295
+ if subject:
296
+ self.custom_details = self.custom_details or {}
297
+ self.custom_details.update(
298
+ {"Prefect Notification Body": body.replace(" ", "%20")}
299
+ )
300
+ body = " "
301
+ self.block_initialization()
302
+
303
+ await super().notify(body, subject)
304
+
284
305
 
285
306
  class TwilioSMS(AbstractAppriseNotificationBlock):
286
307
  """Enables sending notifications via Twilio SMS.
@@ -8,12 +8,14 @@ from typing import (
8
8
  Dict,
9
9
  Iterable,
10
10
  List,
11
+ Literal,
11
12
  NoReturn,
12
13
  Optional,
13
14
  Set,
14
15
  Tuple,
15
16
  TypeVar,
16
17
  Union,
18
+ overload,
17
19
  )
18
20
  from uuid import UUID, uuid4
19
21
 
@@ -178,6 +180,20 @@ class ServerType(AutoEnum):
178
180
  return PREFECT_EXPERIMENTAL_EVENTS and PREFECT_API_SERVICES_TRIGGERS_ENABLED
179
181
 
180
182
 
183
+ @overload
184
+ def get_client(
185
+ httpx_settings: Optional[Dict[str, Any]] = None, sync_client: Literal[False] = False
186
+ ) -> "PrefectClient":
187
+ ...
188
+
189
+
190
+ @overload
191
+ def get_client(
192
+ httpx_settings: Optional[Dict[str, Any]] = None, sync_client: Literal[True] = True
193
+ ) -> "SyncPrefectClient":
194
+ ...
195
+
196
+
181
197
  def get_client(
182
198
  httpx_settings: Optional[Dict[str, Any]] = None, sync_client: bool = False
183
199
  ) -> Union["PrefectClient", "SyncPrefectClient"]:
@@ -473,11 +473,11 @@ class PrefectEventSubscriber:
473
473
  f"Reason: {e.args[0]}"
474
474
  )
475
475
  except ConnectionClosedError as e:
476
- raise Exception(
477
- "Unable to authenticate to the event stream. Please ensure the "
478
- "provided api_key you are using is valid for this environment. "
479
- f"Reason: {e.reason}"
480
- ) from e
476
+ reason = getattr(e.rcvd, "reason", None)
477
+ msg = "Unable to authenticate to the event stream. Please ensure the "
478
+ msg += "provided api_key you are using is valid for this environment. "
479
+ msg += f"Reason: {reason}" if reason else ""
480
+ raise Exception(msg) from e
481
481
 
482
482
  from prefect.events.filters import EventOccurredFilter
483
483
 
@@ -45,11 +45,15 @@ from prefect._internal.pydantic import HAS_PYDANTIC_V2
45
45
 
46
46
  if HAS_PYDANTIC_V2:
47
47
  import pydantic.v1 as pydantic
48
+ from pydantic import BaseModel as V2BaseModel
48
49
  from pydantic import ValidationError as V2ValidationError
49
50
  from pydantic.v1 import BaseModel as V1BaseModel
50
51
  from pydantic.v1.decorator import ValidatedFunction as V1ValidatedFunction
51
52
 
52
- from ._internal.pydantic.v2_schema import is_v2_type
53
+ from ._internal.pydantic.v2_schema import (
54
+ is_v1_type,
55
+ is_v2_type,
56
+ )
53
57
  from ._internal.pydantic.v2_validated_func import V2ValidatedFunction
54
58
  from ._internal.pydantic.v2_validated_func import (
55
59
  V2ValidatedFunction as ValidatedFunction,
@@ -339,6 +343,16 @@ class Flow(Generic[P, R]):
339
343
  # is not picklable in some environments
340
344
  try:
341
345
  ValidatedFunction(self.fn, config={"arbitrary_types_allowed": True})
346
+ except TypeError as exc:
347
+ if (
348
+ HAS_PYDANTIC_V2
349
+ and "`__modify_schema__` method is not supported" in str(exc)
350
+ ):
351
+ V1ValidatedFunction(
352
+ self.fn, config={"arbitrary_types_allowed": True}
353
+ )
354
+ else:
355
+ raise
342
356
  except pydantic.ConfigError as exc:
343
357
  raise ValueError(
344
358
  "Flow function is not compatible with `validate_parameters`. "
@@ -510,19 +524,33 @@ class Flow(Generic[P, R]):
510
524
  args, kwargs = parameters_to_args_kwargs(self.fn, parameters)
511
525
 
512
526
  if HAS_PYDANTIC_V2:
513
- has_v1_models = any(isinstance(o, V1BaseModel) for o in args) or any(
514
- isinstance(o, V1BaseModel) for o in kwargs.values()
527
+ sig = inspect.signature(self.fn)
528
+
529
+ has_v1_types = any(
530
+ is_v1_type(param.annotation) for param in sig.parameters.values()
531
+ )
532
+ has_v1_models = any(
533
+ issubclass(param.annotation, V1BaseModel)
534
+ if isinstance(param.annotation, type)
535
+ else False
536
+ for param in sig.parameters.values()
515
537
  )
516
- has_v2_types = any(is_v2_type(o) for o in args) or any(
517
- is_v2_type(o) for o in kwargs.values()
538
+ has_v2_types = any(
539
+ is_v2_type(param.annotation) for param in sig.parameters.values()
540
+ )
541
+ has_v2_models = any(
542
+ issubclass(param.annotation, V2BaseModel)
543
+ if isinstance(param.annotation, type)
544
+ else False
545
+ for param in sig.parameters.values()
518
546
  )
519
547
 
520
- if has_v1_models and has_v2_types:
548
+ if (has_v1_types and has_v2_types) or (has_v1_models and has_v2_models):
521
549
  raise ParameterTypeError(
522
550
  "Cannot mix Pydantic v1 and v2 types as arguments to a flow."
523
551
  )
524
552
 
525
- if has_v1_models:
553
+ if has_v1_models or has_v1_types:
526
554
  validated_fn = V1ValidatedFunction(
527
555
  self.fn, config={"arbitrary_types_allowed": True}
528
556
  )
@@ -530,7 +558,6 @@ class Flow(Generic[P, R]):
530
558
  validated_fn = V2ValidatedFunction(
531
559
  self.fn, config={"arbitrary_types_allowed": True}
532
560
  )
533
-
534
561
  else:
535
562
  validated_fn = ValidatedFunction(
536
563
  self.fn, config={"arbitrary_types_allowed": True}
@@ -1148,6 +1175,15 @@ class Flow(Generic[P, R]):
1148
1175
  ) -> T:
1149
1176
  ...
1150
1177
 
1178
+ @overload
1179
+ def __call__(
1180
+ self: "Flow[P, Coroutine[Any, Any, T]]",
1181
+ *args: P.args,
1182
+ return_state: Literal[True],
1183
+ **kwargs: P.kwargs,
1184
+ ) -> Awaitable[State[T]]:
1185
+ ...
1186
+
1151
1187
  @overload
1152
1188
  def __call__(
1153
1189
  self: "Flow[P, T]",
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 2.20.8
3
+ Version: 2.20.10
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -21,8 +21,46 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Topic :: Software Development :: Libraries
22
22
  Requires-Python: >=3.8
23
23
  Description-Content-Type: text/markdown
24
- Provides-Extra: notifications
25
24
  License-File: LICENSE
25
+ Requires-Dist: anyio<5.0.0,>=4.4.0
26
+ Requires-Dist: asgi-lifespan<3.0,>=1.0
27
+ Requires-Dist: cachetools<6.0,>=5.3
28
+ Requires-Dist: cloudpickle<4.0,>=2.0
29
+ Requires-Dist: coolname<3.0.0,>=1.0.4
30
+ Requires-Dist: croniter<3.0.0,>=1.0.12
31
+ Requires-Dist: fsspec>=2022.5.0
32
+ Requires-Dist: exceptiongroup>=1.2.1
33
+ Requires-Dist: graphviz>=0.20.1
34
+ Requires-Dist: griffe<2.0.0,>=0.49.0
35
+ Requires-Dist: httpcore<2.0.0,>=1.0.5
36
+ Requires-Dist: httpx[http2]!=0.23.2,>=0.23
37
+ Requires-Dist: importlib_metadata>=4.4; python_version < "3.10"
38
+ Requires-Dist: importlib-resources<6.5.0,>=6.1.3
39
+ Requires-Dist: jsonpatch<2.0,>=1.32
40
+ Requires-Dist: jsonschema<5.0.0,>=4.0.0
41
+ Requires-Dist: orjson<4.0,>=3.7
42
+ Requires-Dist: packaging<24.3,>=21.3
43
+ Requires-Dist: pathspec>=0.8.0
44
+ Requires-Dist: pendulum<3.0; python_version < "3.12"
45
+ Requires-Dist: pendulum<4,>=3.0.0; python_version >= "3.12"
46
+ Requires-Dist: pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.10.0
47
+ Requires-Dist: pydantic_core<3.0.0,>=2.12.0
48
+ Requires-Dist: python_dateutil<3.0.0,>=2.8.2
49
+ Requires-Dist: python-slugify<9.0,>=5.0
50
+ Requires-Dist: pyyaml<7.0.0,>=5.4.1
51
+ Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
52
+ Requires-Dist: rich<14.0,>=11.0
53
+ Requires-Dist: ruamel.yaml>=0.17.0
54
+ Requires-Dist: sniffio<2.0.0,>=1.3.0
55
+ Requires-Dist: toml>=0.10.0
56
+ Requires-Dist: typing_extensions<5.0.0,>=4.5.0
57
+ Requires-Dist: ujson<6.0.0,>=5.8.0
58
+ Requires-Dist: uvicorn!=0.29.0,>=0.14.0
59
+ Requires-Dist: websockets<14.0,>=10.4
60
+ Requires-Dist: itsdangerous
61
+ Requires-Dist: python-multipart>=0.0.7
62
+ Provides-Extra: notifications
63
+ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == "notifications"
26
64
 
27
65
  <p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p>
28
66
 
@@ -95,6 +95,7 @@ src/prefect/_vendor/fastapi/exceptions.py
95
95
  src/prefect/_vendor/fastapi/logger.py
96
96
  src/prefect/_vendor/fastapi/param_functions.py
97
97
  src/prefect/_vendor/fastapi/params.py
98
+ src/prefect/_vendor/fastapi/py.typed
98
99
  src/prefect/_vendor/fastapi/requests.py
99
100
  src/prefect/_vendor/fastapi/responses.py
100
101
  src/prefect/_vendor/fastapi/routing.py
@@ -140,6 +141,7 @@ src/prefect/_vendor/starlette/datastructures.py
140
141
  src/prefect/_vendor/starlette/endpoints.py
141
142
  src/prefect/_vendor/starlette/exceptions.py
142
143
  src/prefect/_vendor/starlette/formparsers.py
144
+ src/prefect/_vendor/starlette/py.typed
143
145
  src/prefect/_vendor/starlette/requests.py
144
146
  src/prefect/_vendor/starlette/responses.py
145
147
  src/prefect/_vendor/starlette/routing.py
@@ -299,4 +301,30 @@ src/prefect_client.egg-info/PKG-INFO
299
301
  src/prefect_client.egg-info/SOURCES.txt
300
302
  src/prefect_client.egg-info/dependency_links.txt
301
303
  src/prefect_client.egg-info/requires.txt
302
- src/prefect_client.egg-info/top_level.txt
304
+ src/prefect_client.egg-info/top_level.txt
305
+ tests/test_artifacts.py
306
+ tests/test_automations.py
307
+ tests/test_background_tasks.py
308
+ tests/test_context.py
309
+ tests/test_deployments.py
310
+ tests/test_engine.py
311
+ tests/test_exceptions.py
312
+ tests/test_filesystems.py
313
+ tests/test_flow_runs.py
314
+ tests/test_flows.py
315
+ tests/test_flows_compat.py
316
+ tests/test_futures.py
317
+ tests/test_highlighters.py
318
+ tests/test_import_interceptor.py
319
+ tests/test_log_prints.py
320
+ tests/test_logging.py
321
+ tests/test_new_flow_engine.py
322
+ tests/test_new_task_engine.py
323
+ tests/test_plugins.py
324
+ tests/test_serializers.py
325
+ tests/test_settings.py
326
+ tests/test_states.py
327
+ tests/test_task_runners.py
328
+ tests/test_task_server.py
329
+ tests/test_tasks.py
330
+ tests/test_variables.py
@@ -16,7 +16,7 @@ jsonschema<5.0.0,>=4.0.0
16
16
  orjson<4.0,>=3.7
17
17
  packaging<24.3,>=21.3
18
18
  pathspec>=0.8.0
19
- pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<2.9.0,>=1.10.0
19
+ pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.10.0
20
20
  pydantic_core<3.0.0,>=2.12.0
21
21
  python_dateutil<3.0.0,>=2.8.2
22
22
  python-slugify<9.0,>=5.0