prefect-client 3.4.7.dev9__tar.gz → 3.4.8.dev1__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 (338) hide show
  1. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/PKG-INFO +1 -1
  2. prefect_client-3.4.8.dev1/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/assets/core.py +2 -2
  4. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/server.py +2 -0
  5. prefect_client-3.4.8.dev1/src/prefect/settings/models/_defaults.py +152 -0
  6. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/logging.py +6 -4
  7. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/results.py +7 -3
  8. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/root.py +19 -100
  9. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/root.py +7 -4
  10. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/tasks.py +74 -26
  11. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/types/__init__.py +2 -0
  12. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/types/names.py +50 -0
  13. prefect_client-3.4.7.dev9/src/prefect/_build_info.py +0 -5
  14. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/.gitignore +0 -0
  15. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/LICENSE +0 -0
  16. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/README.md +0 -0
  17. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/pyproject.toml +0 -0
  18. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/.prefectignore +0 -0
  19. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/AGENTS.md +0 -0
  20. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/__init__.py +0 -0
  21. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/__main__.py +0 -0
  22. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/__init__.py +0 -0
  23. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
  24. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
  25. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/lineage.py +0 -0
  26. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
  27. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/sla/client.py +0 -0
  28. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
  29. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/__init__.py +0 -0
  30. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/_logging.py +0 -0
  31. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
  32. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  33. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
  34. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  35. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
  36. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
  37. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
  38. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
  39. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  40. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  41. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
  42. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
  43. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
  44. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
  45. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
  46. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/integrations.py +0 -0
  47. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
  48. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
  49. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  50. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  51. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  52. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/pytz.py +0 -0
  53. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/retries.py +0 -0
  54. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
  55. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
  56. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
  57. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
  58. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
  59. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/uuid7.py +0 -0
  60. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_internal/websockets.py +0 -0
  61. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_result_records.py +0 -0
  62. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
  63. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
  64. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_versioning.py +0 -0
  65. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/_waiters.py +0 -0
  66. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/agent.py +0 -0
  67. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/artifacts.py +0 -0
  68. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/assets/__init__.py +0 -0
  69. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/assets/materialize.py +0 -0
  70. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/automations.py +0 -0
  71. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/__init__.py +0 -0
  72. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/abstract.py +0 -0
  73. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/core.py +0 -0
  74. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/fields.py +0 -0
  75. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/notifications.py +0 -0
  76. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/redis.py +0 -0
  77. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/system.py +0 -0
  78. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/blocks/webhook.py +0 -0
  79. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/cache_policies.py +0 -0
  80. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/__init__.py +0 -0
  81. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/base.py +0 -0
  82. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/cloud.py +0 -0
  83. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/collections.py +0 -0
  84. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/constants.py +0 -0
  85. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
  86. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  87. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  88. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  89. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
  90. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  91. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  92. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  93. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  94. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  95. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  96. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  97. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  98. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  99. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  100. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  101. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  102. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  103. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
  104. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  105. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
  106. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  107. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
  108. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  109. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  110. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/base.py +0 -0
  111. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/orchestration/routes.py +0 -0
  112. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/__init__.py +0 -0
  113. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/actions.py +0 -0
  114. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/filters.py +0 -0
  115. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/objects.py +0 -0
  116. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/responses.py +0 -0
  117. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/schedules.py +0 -0
  118. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/schemas/sorting.py +0 -0
  119. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/subscriptions.py +0 -0
  120. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/types/__init__.py +0 -0
  121. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  122. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/client/utilities.py +0 -0
  123. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/__init__.py +0 -0
  124. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
  125. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/_events.py +0 -0
  126. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/asyncio.py +0 -0
  127. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/context.py +0 -0
  128. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/services.py +0 -0
  129. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/sync.py +0 -0
  130. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
  131. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  132. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
  133. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
  134. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/context.py +0 -0
  135. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/services.py +0 -0
  136. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
  137. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/context.py +0 -0
  138. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/__init__.py +0 -0
  139. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/base.py +0 -0
  140. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/deployments.py +0 -0
  141. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/flow_runs.py +0 -0
  142. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/runner.py +0 -0
  143. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/schedules.py +0 -0
  144. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
  145. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/steps/core.py +0 -0
  146. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/steps/pull.py +0 -0
  147. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/deployments/steps/utility.py +0 -0
  148. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/docker/__init__.py +0 -0
  149. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/docker/docker_image.py +0 -0
  150. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/engine.py +0 -0
  151. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/__init__.py +0 -0
  152. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/actions.py +0 -0
  153. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/cli/__init__.py +0 -0
  154. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/cli/automations.py +0 -0
  155. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/clients.py +0 -0
  156. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/filters.py +0 -0
  157. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/related.py +0 -0
  158. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/schemas/__init__.py +0 -0
  159. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/schemas/automations.py +0 -0
  160. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  161. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/schemas/events.py +0 -0
  162. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/schemas/labelling.py +0 -0
  163. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/utilities.py +0 -0
  164. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/events/worker.py +0 -0
  165. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/exceptions.py +0 -0
  166. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/filesystems.py +0 -0
  167. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/flow_engine.py +0 -0
  168. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/flow_runs.py +0 -0
  169. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/flows.py +0 -0
  170. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/futures.py +0 -0
  171. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/__init__.py +0 -0
  172. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/base.py +0 -0
  173. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  174. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  175. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  176. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  177. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  178. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  179. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/input/__init__.py +0 -0
  180. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/input/actions.py +0 -0
  181. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/input/run_input.py +0 -0
  182. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/locking/__init__.py +0 -0
  183. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/locking/filesystem.py +0 -0
  184. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/locking/memory.py +0 -0
  185. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/locking/protocol.py +0 -0
  186. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/__init__.py +0 -0
  187. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/clients.py +0 -0
  188. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/configuration.py +0 -0
  189. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/filters.py +0 -0
  190. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/formatters.py +0 -0
  191. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/handlers.py +0 -0
  192. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/highlighters.py +0 -0
  193. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/loggers.py +0 -0
  194. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/logging/logging.yml +0 -0
  195. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/main.py +0 -0
  196. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/plugins.py +0 -0
  197. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/py.typed +0 -0
  198. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/results.py +0 -0
  199. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/__init__.py +0 -0
  200. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/_observers.py +0 -0
  201. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/runner.py +0 -0
  202. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/server.py +0 -0
  203. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/storage.py +0 -0
  204. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/submit.py +0 -0
  205. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runner/utils.py +0 -0
  206. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runtime/__init__.py +0 -0
  207. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runtime/deployment.py +0 -0
  208. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runtime/flow_run.py +0 -0
  209. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/runtime/task_run.py +0 -0
  210. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/schedules.py +0 -0
  211. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/serializers.py +0 -0
  212. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/__init__.py +0 -0
  213. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/admin.py +0 -0
  214. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/artifacts.py +0 -0
  215. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/automations.py +0 -0
  216. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
  217. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/block_documents.py +0 -0
  218. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/block_schemas.py +0 -0
  219. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/block_types.py +0 -0
  220. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/clients.py +0 -0
  221. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/collections.py +0 -0
  222. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  223. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
  224. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  225. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/csrf_token.py +0 -0
  226. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/dependencies.py +0 -0
  227. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/deployments.py +0 -0
  228. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/events.py +0 -0
  229. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
  230. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/flow_runs.py +0 -0
  231. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/flows.py +0 -0
  232. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/logs.py +0 -0
  233. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/middleware.py +0 -0
  234. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/root.py +0 -0
  235. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/run_history.py +0 -0
  236. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/saved_searches.py +0 -0
  237. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  238. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/task_run_states.py +0 -0
  239. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/task_runs.py +0 -0
  240. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/task_workers.py +0 -0
  241. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/templates.py +0 -0
  242. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
  243. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
  244. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/ui/flows.py +0 -0
  245. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
  246. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
  247. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/validation.py +0 -0
  248. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/variables.py +0 -0
  249. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/work_queues.py +0 -0
  250. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/server/api/workers.py +0 -0
  251. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/__init__.py +0 -0
  252. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/base.py +0 -0
  253. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/constants.py +0 -0
  254. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/context.py +0 -0
  255. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/legacy.py +0 -0
  256. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/__init__.py +0 -0
  257. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/api.py +0 -0
  258. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/cli.py +0 -0
  259. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/client.py +0 -0
  260. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/cloud.py +0 -0
  261. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/deployments.py +0 -0
  262. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/experiments.py +0 -0
  263. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/flows.py +0 -0
  264. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/internal.py +0 -0
  265. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/runner.py +0 -0
  266. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
  267. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/api.py +0 -0
  268. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/database.py +0 -0
  269. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
  270. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
  271. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/events.py +0 -0
  272. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  273. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/logs.py +0 -0
  274. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/services.py +0 -0
  275. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
  276. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/server/ui.py +0 -0
  277. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/tasks.py +0 -0
  278. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/testing.py +0 -0
  279. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/models/worker.py +0 -0
  280. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/profiles.py +0 -0
  281. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/profiles.toml +0 -0
  282. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/settings/sources.py +0 -0
  283. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/states.py +0 -0
  284. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/task_engine.py +0 -0
  285. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/task_runners.py +0 -0
  286. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/task_runs.py +0 -0
  287. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/task_worker.py +0 -0
  288. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/__init__.py +0 -0
  289. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/bootstrap.py +0 -0
  290. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/instrumentation.py +0 -0
  291. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/logging.py +0 -0
  292. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/processors.py +0 -0
  293. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
  294. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/telemetry/services.py +0 -0
  295. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/transactions.py +0 -0
  296. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/types/_datetime.py +0 -0
  297. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/types/entrypoint.py +0 -0
  298. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/__init__.py +0 -0
  299. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/_ast.py +0 -0
  300. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/_deprecated.py +0 -0
  301. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/_engine.py +0 -0
  302. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/_git.py +0 -0
  303. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/annotations.py +0 -0
  304. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/asyncutils.py +0 -0
  305. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/callables.py +0 -0
  306. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/collections.py +0 -0
  307. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/compat.py +0 -0
  308. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/context.py +0 -0
  309. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/dispatch.py +0 -0
  310. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/dockerutils.py +0 -0
  311. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/engine.py +0 -0
  312. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/filesystem.py +0 -0
  313. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/generics.py +0 -0
  314. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/hashing.py +0 -0
  315. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/importtools.py +0 -0
  316. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/math.py +0 -0
  317. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/names.py +0 -0
  318. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/processutils.py +0 -0
  319. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/pydantic.py +0 -0
  320. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/render_swagger.py +0 -0
  321. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  322. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  323. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
  324. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/services.py +0 -0
  325. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/slugify.py +0 -0
  326. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/templating.py +0 -0
  327. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/text.py +0 -0
  328. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/timeout.py +0 -0
  329. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/urls.py +0 -0
  330. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/utilities/visualization.py +0 -0
  331. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/variables.py +0 -0
  332. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/__init__.py +0 -0
  333. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/base.py +0 -0
  334. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/block.py +0 -0
  335. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/cloud.py +0 -0
  336. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/process.py +0 -0
  337. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/server.py +0 -0
  338. {prefect_client-3.4.7.dev9 → prefect_client-3.4.8.dev1}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.4.7.dev9
3
+ Version: 3.4.8.dev1
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.4.8.dev1"
3
+ __build_date__ = "2025-06-28 08:08:07.921914+00:00"
4
+ __git_commit__ = "ad8588bf008accaf375ce8744ca3cc3b0f3b134e"
5
+ __dirty__ = False
@@ -5,7 +5,7 @@ from typing import Any, ClassVar, Optional
5
5
  from pydantic import ConfigDict, Field
6
6
 
7
7
  from prefect._internal.schemas.bases import PrefectBaseModel
8
- from prefect.types import URILike
8
+ from prefect.types import ValidAssetKey
9
9
 
10
10
 
11
11
  class AssetProperties(PrefectBaseModel):
@@ -37,7 +37,7 @@ class Asset(PrefectBaseModel):
37
37
 
38
38
  model_config: ClassVar[ConfigDict] = ConfigDict(frozen=True)
39
39
 
40
- key: URILike
40
+ key: ValidAssetKey
41
41
  properties: Optional[AssetProperties] = Field(
42
42
  default=None,
43
43
  description="Properties of the asset. "
@@ -922,6 +922,8 @@ class SubprocessASGIServer:
922
922
  self.server_process.wait(timeout=5)
923
923
  except subprocess.TimeoutExpired:
924
924
  self.server_process.kill()
925
+ # Ensure the process is reaped to avoid ResourceWarning
926
+ self.server_process.wait()
925
927
  finally:
926
928
  self.server_process = None
927
929
  if self.port in self._instances:
@@ -0,0 +1,152 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+ from typing import TYPE_CHECKING, Any
5
+
6
+ from pydantic import SecretStr, ValidationInfo
7
+
8
+ if TYPE_CHECKING:
9
+ from prefect.settings.models.root import Settings
10
+
11
+
12
+ def default_profiles_path(values: dict[str, Any]) -> Path:
13
+ """Default profiles_path based on home directory."""
14
+ home = values.get("home", Path("~/.prefect").expanduser())
15
+ if not isinstance(home, Path):
16
+ home = Path("~/.prefect").expanduser()
17
+ return home / "profiles.toml"
18
+
19
+
20
+ def substitute_home_template(v: Any, info: ValidationInfo) -> Any:
21
+ """Validator that substitutes $PREFECT_HOME in a path string if present."""
22
+ home_path = info.data.get("home")
23
+
24
+ path_str: str | None = None
25
+ if isinstance(v, Path):
26
+ return v
27
+ elif isinstance(v, str):
28
+ path_str = v
29
+ elif v is None:
30
+ return None
31
+ else:
32
+ return v
33
+
34
+ if path_str and "$PREFECT_HOME" in path_str:
35
+ if home_path and isinstance(home_path, Path):
36
+ resolved_str = path_str.replace("$PREFECT_HOME", str(home_path))
37
+ try:
38
+ return Path(resolved_str)
39
+ except Exception as e:
40
+ raise ValueError(
41
+ f"Error creating path after substituting $PREFECT_HOME: {e}"
42
+ ) from e
43
+ else:
44
+ raise ValueError(
45
+ f'Cannot resolve $PREFECT_HOME in "{path_str}" because '
46
+ f"PREFECT_HOME setting ({home_path!r}) is not a valid resolved path."
47
+ )
48
+
49
+ return path_str
50
+
51
+
52
+ def default_local_storage_path(values: dict[str, Any]) -> Path:
53
+ """Default local_storage_path based on home directory."""
54
+ home = values.get("home")
55
+ if not isinstance(home, Path):
56
+ home = Path("~/.prefect").expanduser()
57
+ return home / "storage"
58
+
59
+
60
+ def default_memo_store_path(values: dict[str, Any]) -> Path:
61
+ """Default memo_store_path based on home directory."""
62
+ home = values.get("home")
63
+ if not isinstance(home, Path):
64
+ home = Path("~/.prefect").expanduser()
65
+ return home / "memo_store.toml"
66
+
67
+
68
+ def default_logging_config_path(values: dict[str, Any]) -> Path:
69
+ """Default logging_config_path based on home directory."""
70
+ home = values.get("home")
71
+ if not isinstance(home, Path):
72
+ home = Path("~/.prefect").expanduser()
73
+ return home / "logging.yml"
74
+
75
+
76
+ def default_database_connection_url(settings: "Settings") -> SecretStr:
77
+ value: str = f"sqlite+aiosqlite:///{settings.home}/prefect.db"
78
+ if settings.server.database.driver == "postgresql+asyncpg":
79
+ required = [
80
+ "host",
81
+ "user",
82
+ "name",
83
+ "password",
84
+ ]
85
+ missing = [
86
+ attr for attr in required if getattr(settings.server.database, attr) is None
87
+ ]
88
+ if missing:
89
+ raise ValueError(
90
+ f"Missing required database connection settings: {', '.join(missing)}"
91
+ )
92
+
93
+ from sqlalchemy import URL
94
+
95
+ value = URL(
96
+ drivername=settings.server.database.driver,
97
+ host=settings.server.database.host,
98
+ port=settings.server.database.port or 5432,
99
+ username=settings.server.database.user,
100
+ password=(
101
+ settings.server.database.password.get_secret_value()
102
+ if settings.server.database.password
103
+ else None
104
+ ),
105
+ database=settings.server.database.name,
106
+ query=[], # type: ignore
107
+ ).render_as_string(hide_password=False)
108
+
109
+ elif settings.server.database.driver == "sqlite+aiosqlite":
110
+ if settings.server.database.name:
111
+ value = (
112
+ f"{settings.server.database.driver}:///{settings.server.database.name}"
113
+ )
114
+ else:
115
+ value = f"sqlite+aiosqlite:///{settings.home}/prefect.db"
116
+
117
+ elif settings.server.database.driver:
118
+ raise ValueError(
119
+ f"Unsupported database driver: {settings.server.database.driver}"
120
+ )
121
+ return SecretStr(value)
122
+
123
+
124
+ def default_ui_url(settings: "Settings") -> str | None:
125
+ value = settings.ui_url
126
+ if value is not None:
127
+ return value
128
+
129
+ # Otherwise, infer a value from the API URL
130
+ ui_url = api_url = settings.api.url
131
+
132
+ if not api_url:
133
+ return None
134
+ assert ui_url is not None
135
+
136
+ cloud_url = settings.cloud.api_url
137
+ cloud_ui_url = settings.cloud.ui_url
138
+ if api_url.startswith(cloud_url) and cloud_ui_url:
139
+ ui_url = ui_url.replace(cloud_url, cloud_ui_url)
140
+
141
+ if ui_url.endswith("/api"):
142
+ # Handles open-source APIs
143
+ ui_url = ui_url[:-4]
144
+
145
+ # Handles Cloud APIs with content after `/api`
146
+ ui_url = ui_url.replace("/api/", "/")
147
+
148
+ # Update routing
149
+ ui_url = ui_url.replace("/accounts/", "/account/")
150
+ ui_url = ui_url.replace("/workspaces/", "/workspace/")
151
+
152
+ return ui_url
@@ -1,6 +1,6 @@
1
1
  from functools import partial
2
2
  from pathlib import Path
3
- from typing import Annotated, Any, ClassVar, Literal, Optional, Union
3
+ from typing import Annotated, Any, ClassVar, Literal, Union
4
4
 
5
5
  from pydantic import (
6
6
  AliasChoices,
@@ -15,6 +15,8 @@ from typing_extensions import Self
15
15
  from prefect.settings.base import PrefectBaseSettings, build_settings_config
16
16
  from prefect.types import LogLevel, validate_set_T_from_delim_string
17
17
 
18
+ from ._defaults import default_logging_config_path
19
+
18
20
 
19
21
  def max_log_size_smaller_than_batch_size(values: dict[str, Any]) -> dict[str, Any]:
20
22
  """
@@ -95,9 +97,9 @@ class LoggingSettings(PrefectBaseSettings):
95
97
  description="The default logging level for Prefect loggers.",
96
98
  )
97
99
 
98
- config_path: Optional[Path] = Field(
99
- default=None,
100
- description="The path to a custom YAML logging configuration file.",
100
+ config_path: Path = Field(
101
+ default_factory=default_logging_config_path,
102
+ description="A path to a logging configuration file. Defaults to $PREFECT_HOME/logging.yml",
101
103
  validation_alias=AliasChoices(
102
104
  AliasPath("config_path"),
103
105
  "prefect_logging_config_path",
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from pathlib import Path
2
4
  from typing import ClassVar, Optional
3
5
 
@@ -6,6 +8,8 @@ from pydantic_settings import SettingsConfigDict
6
8
 
7
9
  from prefect.settings.base import PrefectBaseSettings, build_settings_config
8
10
 
11
+ from ._defaults import default_local_storage_path
12
+
9
13
 
10
14
  class ResultsSettings(PrefectBaseSettings):
11
15
  """
@@ -34,9 +38,9 @@ class ResultsSettings(PrefectBaseSettings):
34
38
  ),
35
39
  )
36
40
 
37
- local_storage_path: Optional[Path] = Field(
38
- default=None,
39
- description="The path to a directory to store results in.",
41
+ local_storage_path: Path = Field(
42
+ default_factory=default_local_storage_path,
43
+ description="The default location for locally persisted results. Defaults to $PREFECT_HOME/storage.",
40
44
  validation_alias=AliasChoices(
41
45
  AliasPath("local_storage_path"),
42
46
  "prefect_results_local_storage_path",
@@ -21,6 +21,12 @@ from prefect.settings.models.testing import TestingSettings
21
21
  from prefect.settings.models.worker import WorkerSettings
22
22
  from prefect.utilities.collections import deep_merge_dicts, set_in_dict
23
23
 
24
+ from ._defaults import (
25
+ default_database_connection_url,
26
+ default_profiles_path,
27
+ default_ui_url,
28
+ substitute_home_template,
29
+ )
24
30
  from .api import APISettings
25
31
  from .cli import CLISettings
26
32
  from .client import ClientSettings
@@ -52,9 +58,12 @@ class Settings(PrefectBaseSettings):
52
58
  description="The path to the Prefect home directory. Defaults to ~/.prefect",
53
59
  )
54
60
 
55
- profiles_path: Optional[Path] = Field(
56
- default=None,
57
- description="The path to a profiles configuration file.",
61
+ profiles_path: Annotated[Path, BeforeValidator(substitute_home_template)] = Field(
62
+ default_factory=default_profiles_path,
63
+ description=(
64
+ "The path to a profiles configuration file. Supports $PREFECT_HOME templating."
65
+ " Defaults to $PREFECT_HOME/profiles.toml."
66
+ ),
58
67
  )
59
68
 
60
69
  debug_mode: bool = Field(
@@ -175,14 +184,14 @@ class Settings(PrefectBaseSettings):
175
184
 
176
185
  @model_validator(mode="after")
177
186
  def post_hoc_settings(self) -> Self:
178
- """refactor on resolution of https://github.com/pydantic/pydantic/issues/9789
187
+ """Handle remaining complex default assignments that aren't yet migrated to dependent settings.
179
188
 
180
- we should not be modifying __pydantic_fields_set__ directly, but until we can
181
- define dependencies between defaults in a first-class way, we need clean up
182
- post-hoc default assignments to keep set/unset fields correct after instantiation.
189
+ With Pydantic 2.10's dependent settings feature, we've migrated simple path-based defaults
190
+ to use default_factory. The remaining items here require access to the full Settings instance
191
+ or have complex interdependencies that will be migrated in future PRs.
183
192
  """
184
193
  if self.ui_url is None:
185
- self.ui_url = _default_ui_url(self)
194
+ self.ui_url = default_ui_url(self)
186
195
  self.__pydantic_fields_set__.remove("ui_url")
187
196
  if self.server.ui.api_url is None:
188
197
  if self.api.url:
@@ -193,27 +202,15 @@ class Settings(PrefectBaseSettings):
193
202
  f"http://{self.server.api.host}:{self.server.api.port}/api"
194
203
  )
195
204
  self.server.ui.__pydantic_fields_set__.remove("api_url")
196
- if self.profiles_path is None or "PREFECT_HOME" in str(self.profiles_path):
197
- self.profiles_path = Path(f"{self.home}/profiles.toml")
198
- self.__pydantic_fields_set__.remove("profiles_path")
199
- if self.results.local_storage_path is None:
200
- self.results.local_storage_path = Path(f"{self.home}/storage")
201
- self.results.__pydantic_fields_set__.remove("local_storage_path")
202
- if self.server.memo_store_path is None:
203
- self.server.memo_store_path = Path(f"{self.home}/memo_store.toml")
204
- self.server.__pydantic_fields_set__.remove("memo_store_path")
205
205
  if self.debug_mode or self.testing.test_mode:
206
206
  self.logging.level = "DEBUG"
207
207
  self.internal.logging_level = "DEBUG"
208
208
  self.logging.__pydantic_fields_set__.remove("level")
209
209
  self.internal.__pydantic_fields_set__.remove("logging_level")
210
210
 
211
- if self.logging.config_path is None:
212
- self.logging.config_path = Path(f"{self.home}/logging.yml")
213
- self.logging.__pydantic_fields_set__.remove("config_path")
214
211
  # Set default database connection URL if not provided
215
212
  if self.server.database.connection_url is None:
216
- self.server.database.connection_url = _default_database_connection_url(self)
213
+ self.server.database.connection_url = default_database_connection_url(self)
217
214
  self.server.database.__pydantic_fields_set__.remove("connection_url")
218
215
  db_url = self.server.database.connection_url.get_secret_value()
219
216
  if (
@@ -238,6 +235,7 @@ class Settings(PrefectBaseSettings):
238
235
  )
239
236
  self.server.database.connection_url = SecretStr(db_url)
240
237
  self.server.database.__pydantic_fields_set__.remove("connection_url")
238
+
241
239
  return self
242
240
 
243
241
  @model_validator(mode="after")
@@ -330,37 +328,6 @@ class Settings(PrefectBaseSettings):
330
328
  return str(hash(tuple((key, value) for key, value in env_variables.items())))
331
329
 
332
330
 
333
- def _default_ui_url(settings: "Settings") -> Optional[str]:
334
- value = settings.ui_url
335
- if value is not None:
336
- return value
337
-
338
- # Otherwise, infer a value from the API URL
339
- ui_url = api_url = settings.api.url
340
-
341
- if not api_url:
342
- return None
343
- assert ui_url is not None
344
-
345
- cloud_url = settings.cloud.api_url
346
- cloud_ui_url = settings.cloud.ui_url
347
- if api_url.startswith(cloud_url) and cloud_ui_url:
348
- ui_url = ui_url.replace(cloud_url, cloud_ui_url)
349
-
350
- if ui_url.endswith("/api"):
351
- # Handles open-source APIs
352
- ui_url = ui_url[:-4]
353
-
354
- # Handles Cloud APIs with content after `/api`
355
- ui_url = ui_url.replace("/api/", "/")
356
-
357
- # Update routing
358
- ui_url = ui_url.replace("/accounts/", "/account/")
359
- ui_url = ui_url.replace("/workspaces/", "/workspace/")
360
-
361
- return ui_url
362
-
363
-
364
331
  def _warn_on_misconfigured_api_url(settings: "Settings"):
365
332
  """
366
333
  Validator for settings warning if the API URL is misconfigured.
@@ -404,53 +371,5 @@ def _warn_on_misconfigured_api_url(settings: "Settings"):
404
371
  return settings
405
372
 
406
373
 
407
- def _default_database_connection_url(settings: "Settings") -> SecretStr:
408
- value: str = f"sqlite+aiosqlite:///{settings.home}/prefect.db"
409
- if settings.server.database.driver == "postgresql+asyncpg":
410
- required = [
411
- "host",
412
- "user",
413
- "name",
414
- "password",
415
- ]
416
- missing = [
417
- attr for attr in required if getattr(settings.server.database, attr) is None
418
- ]
419
- if missing:
420
- raise ValueError(
421
- f"Missing required database connection settings: {', '.join(missing)}"
422
- )
423
-
424
- from sqlalchemy import URL
425
-
426
- value = URL(
427
- drivername=settings.server.database.driver,
428
- host=settings.server.database.host,
429
- port=settings.server.database.port or 5432,
430
- username=settings.server.database.user,
431
- password=(
432
- settings.server.database.password.get_secret_value()
433
- if settings.server.database.password
434
- else None
435
- ),
436
- database=settings.server.database.name,
437
- query=[], # type: ignore
438
- ).render_as_string(hide_password=False)
439
-
440
- elif settings.server.database.driver == "sqlite+aiosqlite":
441
- if settings.server.database.name:
442
- value = (
443
- f"{settings.server.database.driver}:///{settings.server.database.name}"
444
- )
445
- else:
446
- value = f"sqlite+aiosqlite:///{settings.home}/prefect.db"
447
-
448
- elif settings.server.database.driver:
449
- raise ValueError(
450
- f"Unsupported database driver: {settings.server.database.driver}"
451
- )
452
- return SecretStr(value)
453
-
454
-
455
374
  def canonical_environment_prefix(settings: "Settings") -> str:
456
375
  return settings.model_config.get("env_prefix") or ""
@@ -1,5 +1,7 @@
1
+ from __future__ import annotations
2
+
1
3
  from pathlib import Path
2
- from typing import ClassVar, Optional
4
+ from typing import ClassVar
3
5
 
4
6
  from pydantic import AliasChoices, AliasPath, Field
5
7
  from pydantic_settings import SettingsConfigDict
@@ -7,6 +9,7 @@ from pydantic_settings import SettingsConfigDict
7
9
  from prefect.settings.base import PrefectBaseSettings, build_settings_config
8
10
  from prefect.types import LogLevel
9
11
 
12
+ from .._defaults import default_memo_store_path
10
13
  from .api import ServerAPISettings
11
14
  from .database import ServerDatabaseSettings
12
15
  from .deployments import ServerDeploymentsSettings
@@ -84,9 +87,9 @@ class ServerSettings(PrefectBaseSettings):
84
87
  ),
85
88
  )
86
89
 
87
- memo_store_path: Optional[Path] = Field(
88
- default=None,
89
- description="The path to the memo store file.",
90
+ memo_store_path: Path = Field(
91
+ default_factory=default_memo_store_path,
92
+ description="Path to the memo store file. Defaults to $PREFECT_HOME/memo_store.toml",
90
93
  validation_alias=AliasChoices(
91
94
  AliasPath("memo_store_path"),
92
95
  "prefect_server_memo_store_path",
@@ -723,37 +723,44 @@ class Task(Generic[P, R]):
723
723
 
724
724
  Examples:
725
725
 
726
- Create a new task from an existing task and update the name
726
+ Create a new task from an existing task and update the name:
727
727
 
728
- >>> @task(name="My task")
729
- >>> def my_task():
730
- >>> return 1
731
- >>>
732
- >>> new_task = my_task.with_options(name="My new task")
728
+ ```python
729
+ @task(name="My task")
730
+ def my_task():
731
+ return 1
733
732
 
734
- Create a new task from an existing task and update the retry settings
733
+ new_task = my_task.with_options(name="My new task")
734
+ ```
735
735
 
736
- >>> from random import randint
737
- >>>
738
- >>> @task(retries=1, retry_delay_seconds=5)
739
- >>> def my_task():
740
- >>> x = randint(0, 5)
741
- >>> if x >= 3: # Make a task that fails sometimes
742
- >>> raise ValueError("Retry me please!")
743
- >>> return x
744
- >>>
745
- >>> new_task = my_task.with_options(retries=5, retry_delay_seconds=2)
736
+ Create a new task from an existing task and update the retry settings:
746
737
 
747
- Use a task with updated options within a flow
738
+ ```python
739
+ from random import randint
740
+
741
+ @task(retries=1, retry_delay_seconds=5)
742
+ def my_task():
743
+ x = randint(0, 5)
744
+ if x >= 3: # Make a task that fails sometimes
745
+ raise ValueError("Retry me please!")
746
+ return x
747
+
748
+ new_task = my_task.with_options(retries=5, retry_delay_seconds=2)
749
+ ```
750
+
751
+ Use a task with updated options within a flow:
752
+
753
+ ```python
754
+ @task(name="My task")
755
+ def my_task():
756
+ return 1
757
+
758
+ @flow
759
+ my_flow():
760
+ new_task = my_task.with_options(name="My new task")
761
+ new_task()
762
+ ```
748
763
 
749
- >>> @task(name="My task")
750
- >>> def my_task():
751
- >>> return 1
752
- >>>
753
- >>> @flow
754
- >>> my_flow():
755
- >>> new_task = my_task.with_options(name="My new task")
756
- >>> new_task()
757
764
  """
758
765
  return Task(
759
766
  fn=self.fn,
@@ -2035,3 +2042,44 @@ class MaterializingTask(Task[P, R]):
2035
2042
  Asset(key=a) if isinstance(a, str) else a for a in assets
2036
2043
  ]
2037
2044
  self.materialized_by = materialized_by
2045
+
2046
+ def with_options(
2047
+ self,
2048
+ assets: Optional[Sequence[Union[str, Asset]]] = None,
2049
+ **task_kwargs: Unpack[TaskOptions],
2050
+ ) -> "MaterializingTask[P, R]":
2051
+ import inspect
2052
+
2053
+ sig = inspect.signature(Task.__init__)
2054
+
2055
+ # Map parameter names to attribute names where they differ
2056
+ # from parameter to attribute.
2057
+ param_to_attr = {
2058
+ "on_completion": "on_completion_hooks",
2059
+ "on_failure": "on_failure_hooks",
2060
+ "on_rollback": "on_rollback_hooks",
2061
+ "on_commit": "on_commit_hooks",
2062
+ }
2063
+
2064
+ # Build kwargs for Task constructor
2065
+ init_kwargs = {}
2066
+ for param_name in sig.parameters:
2067
+ if param_name in ("self", "fn", "assets", "materialized_by"):
2068
+ continue
2069
+
2070
+ attr_name = param_to_attr.get(param_name, param_name)
2071
+ init_kwargs[param_name] = task_kwargs.get(
2072
+ param_name, getattr(self, attr_name)
2073
+ )
2074
+
2075
+ return MaterializingTask(
2076
+ fn=self.fn,
2077
+ assets=(
2078
+ [Asset(key=a) if isinstance(a, str) else a for a in assets]
2079
+ if assets is not None
2080
+ else self.assets
2081
+ ),
2082
+ materialized_by=self.materialized_by,
2083
+ # Now, the rest
2084
+ **init_kwargs,
2085
+ )
@@ -15,6 +15,7 @@ from .names import (
15
15
  WITHOUT_BANNED_CHARACTERS,
16
16
  MAX_VARIABLE_NAME_LENGTH,
17
17
  URILike,
18
+ ValidAssetKey,
18
19
  )
19
20
  from pydantic import (
20
21
  BeforeValidator,
@@ -216,6 +217,7 @@ __all__ = [
216
217
  "Name",
217
218
  "NameOrEmpty",
218
219
  "NonEmptyishName",
220
+ "ValidAssetKey",
219
221
  "SecretDict",
220
222
  "StatusCode",
221
223
  "StrictVariableValue",
@@ -160,3 +160,53 @@ URILike = Annotated[
160
160
  examples=["s3://bucket/folder/data.csv", "postgres://dbtable"],
161
161
  ),
162
162
  ]
163
+
164
+
165
+ MAX_ASSET_KEY_LENGTH = 512
166
+
167
+ RESTRICTED_ASSET_CHARACTERS = [
168
+ "\n",
169
+ "\r",
170
+ "\t",
171
+ "\0",
172
+ " ",
173
+ "#",
174
+ "?",
175
+ "&",
176
+ "%",
177
+ '"',
178
+ "'",
179
+ "<",
180
+ ">",
181
+ "[",
182
+ "]",
183
+ "{",
184
+ "}",
185
+ "|",
186
+ "\\",
187
+ "^",
188
+ "`",
189
+ ]
190
+
191
+
192
+ def validate_valid_asset_key(value: str) -> str:
193
+ """Validate asset key with character restrictions and length limit."""
194
+ for char in RESTRICTED_ASSET_CHARACTERS:
195
+ if char in value:
196
+ raise ValueError(f"Asset key cannot contain '{char}'")
197
+
198
+ if len(value) > MAX_ASSET_KEY_LENGTH:
199
+ raise ValueError(f"Asset key cannot exceed {MAX_ASSET_KEY_LENGTH} characters")
200
+
201
+ return validate_uri(value)
202
+
203
+
204
+ ValidAssetKey = Annotated[
205
+ str,
206
+ AfterValidator(validate_valid_asset_key),
207
+ Field(
208
+ max_length=MAX_ASSET_KEY_LENGTH,
209
+ description=f"A URI-like string with a lowercase protocol, restricted characters, and max {MAX_ASSET_KEY_LENGTH} characters",
210
+ examples=["s3://bucket/folder/data.csv", "postgres://dbtable"],
211
+ ),
212
+ ]
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.4.7.dev9"
3
- __build_date__ = "2025-06-26 08:09:22.695909+00:00"
4
- __git_commit__ = "6128bf88e0089a6ef517493eafb157d523ed0afd"
5
- __dirty__ = False