prefect-client 3.7.9.dev5__tar.gz → 3.7.9.dev7__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.
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/PKG-INFO +3 -3
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/pyproject.toml +2 -2
- prefect_client-3.7.9.dev7/src/prefect/_build_info.py +5 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_file_collector.py +2 -2
- prefect_client-3.7.9.dev7/src/prefect/logging/filters.py +105 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_workspace_starter.py +18 -10
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/deployments.py +1 -1
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/flow_runs.py +1 -1
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/flows.py +1 -1
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/task_runs.py +1 -1
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/sources.py +12 -4
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/task_runners.py +48 -9
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/filesystem/__init__.py +1 -1
- prefect_client-3.7.9.dev5/src/prefect/_build_info.py +0 -5
- prefect_client-3.7.9.dev5/src/prefect/logging/filters.py +0 -41
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/.gitignore +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/LICENSE +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/README.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/hatch_build.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/__main__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/_registry.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/agent.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/automations.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/context.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/engine.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/related.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/flows.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/futures.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/main.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/plugins.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/py.typed +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/results.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_scheduled_run_poller.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/schedules.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/serializers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/_ui_static.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/_types.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/server/worker_channel.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/states.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/tasks.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/transactions.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/types/names.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/templating/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/variables.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/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.7.9.
|
|
3
|
+
Version: 3.7.9.dev7
|
|
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
|
|
@@ -22,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
22
22
|
Classifier: Topic :: Software Development :: Libraries
|
|
23
23
|
Requires-Python: <3.15,>=3.10
|
|
24
24
|
Requires-Dist: amplitude-analytics<2.0.0,>=1.2.1
|
|
25
|
-
Requires-Dist: anyio
|
|
25
|
+
Requires-Dist: anyio!=4.14.2,<5.0.0,>=4.4.0
|
|
26
26
|
Requires-Dist: asgi-lifespan<3.0,>=1.0
|
|
27
27
|
Requires-Dist: cachetools<8.0,>=5.3
|
|
28
28
|
Requires-Dist: cloudpickle<4.0,>=2.0
|
|
@@ -41,7 +41,7 @@ Requires-Dist: jsonschema<5.0.0,>=4.18.0
|
|
|
41
41
|
Requires-Dist: opentelemetry-api<2.0.0,>=1.27.0
|
|
42
42
|
Requires-Dist: orjson<4.0,>=3.7
|
|
43
43
|
Requires-Dist: packaging<26.3,>=21.3
|
|
44
|
-
Requires-Dist: pathspec>=0.
|
|
44
|
+
Requires-Dist: pathspec>=0.10.1
|
|
45
45
|
Requires-Dist: pendulum<4,>=3.1.0; python_version < '3.13'
|
|
46
46
|
Requires-Dist: prometheus-client>=0.20.0
|
|
47
47
|
Requires-Dist: pydantic!=2.11.0,!=2.11.1,!=2.11.2,!=2.11.3,!=2.11.4,<3.0.0,>=2.10.1
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
dependencies = [
|
|
27
27
|
# Client dependencies
|
|
28
28
|
"amplitude-analytics>=1.2.1,<2.0.0",
|
|
29
|
-
"anyio>=4.4.0,<5.0.0",
|
|
29
|
+
"anyio>=4.4.0,<5.0.0,!=4.14.2",
|
|
30
30
|
"asgi-lifespan>=1.0,<3.0",
|
|
31
31
|
"cachetools>=5.3,<8.0",
|
|
32
32
|
"cloudpickle>=2.0,<4.0",
|
|
@@ -45,7 +45,7 @@ dependencies = [
|
|
|
45
45
|
"opentelemetry-api>=1.27.0,<2.0.0",
|
|
46
46
|
"orjson>=3.7,<4.0",
|
|
47
47
|
"packaging>=21.3,<26.3",
|
|
48
|
-
"pathspec>=0.
|
|
48
|
+
"pathspec>=0.10.1",
|
|
49
49
|
"pendulum>=3.1.0,<4; python_version<'3.13'",
|
|
50
50
|
"prometheus-client>=0.20.0",
|
|
51
51
|
"pydantic>=2.10.1,<3.0.0,!=2.11.0,!=2.11.1,!=2.11.2,!=2.11.3,!=2.11.4",
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/bundles/_file_collector.py
RENAMED
|
@@ -232,7 +232,7 @@ class FileCollector:
|
|
|
232
232
|
inner_pattern = pattern[1:]
|
|
233
233
|
|
|
234
234
|
# Compile the pattern using gitignore-style matching
|
|
235
|
-
spec = pathspec.
|
|
235
|
+
spec = pathspec.GitIgnoreSpec.from_lines([inner_pattern])
|
|
236
236
|
|
|
237
237
|
# Find files in current collection that match the negation
|
|
238
238
|
excluded: list[Path] = []
|
|
@@ -342,7 +342,7 @@ class FileCollector:
|
|
|
342
342
|
List of collected file paths matching the pattern.
|
|
343
343
|
"""
|
|
344
344
|
# Compile the pattern using gitignore-style matching
|
|
345
|
-
spec = pathspec.
|
|
345
|
+
spec = pathspec.GitIgnoreSpec.from_lines([pattern])
|
|
346
346
|
|
|
347
347
|
collected: list[Path] = []
|
|
348
348
|
try:
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from prefect.utilities.names import obfuscate
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class _RedactedString(str):
|
|
9
|
+
"""
|
|
10
|
+
A `str` subclass that stores a separate `repr` value.
|
|
11
|
+
|
|
12
|
+
This allows logging's `%r` and `%a` conversions to use a redacted
|
|
13
|
+
representation while `%s` and JSON serialization use the redacted
|
|
14
|
+
`str` value.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
__slots__ = ("_repr",)
|
|
18
|
+
|
|
19
|
+
def __new__(cls, str_value: str, repr_value: str) -> "_RedactedString":
|
|
20
|
+
instance = super().__new__(cls, str_value)
|
|
21
|
+
instance._repr = repr_value
|
|
22
|
+
return instance
|
|
23
|
+
|
|
24
|
+
def __repr__(self) -> str:
|
|
25
|
+
return self._repr
|
|
26
|
+
|
|
27
|
+
def __reduce__(self) -> tuple[type, tuple[str, str]]:
|
|
28
|
+
return (type(self), (str(self), self._repr))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def redact_substr(obj: Any, substr: str) -> Any:
|
|
32
|
+
"""
|
|
33
|
+
Redact a string from a potentially nested object.
|
|
34
|
+
|
|
35
|
+
Standard collections (list, tuple, set, dict, and other `Mapping`
|
|
36
|
+
instances) are traversed recursively and have their string values redacted
|
|
37
|
+
while preserving shape. Non-container objects are redacted by replacing
|
|
38
|
+
their `str` and `repr` values with obfuscated versions, avoiding the
|
|
39
|
+
need to reconstruct arbitrary user objects (e.g. dataclasses with
|
|
40
|
+
`init=False` fields or Pydantic models).
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
obj: The object to redact the string from
|
|
44
|
+
substr: The string to redact.
|
|
45
|
+
|
|
46
|
+
Returns:
|
|
47
|
+
Any: The object with the API key redacted.
|
|
48
|
+
"""
|
|
49
|
+
if isinstance(obj, str):
|
|
50
|
+
return obj.replace(substr, obfuscate(substr))
|
|
51
|
+
|
|
52
|
+
if isinstance(obj, (list, tuple, set)):
|
|
53
|
+
seq = obj
|
|
54
|
+
items = [redact_substr(item, substr) for item in seq]
|
|
55
|
+
if all(item is orig for item, orig in zip(items, seq)):
|
|
56
|
+
return obj
|
|
57
|
+
# Preserve namedtuple types.
|
|
58
|
+
if hasattr(type(seq), "_make"):
|
|
59
|
+
return type(seq)._make(items)
|
|
60
|
+
return type(seq)(items)
|
|
61
|
+
|
|
62
|
+
if isinstance(obj, Mapping):
|
|
63
|
+
mapping = obj
|
|
64
|
+
items = [
|
|
65
|
+
(redact_substr(key, substr), redact_substr(value, substr))
|
|
66
|
+
for key, value in mapping.items()
|
|
67
|
+
]
|
|
68
|
+
if all(
|
|
69
|
+
k1 is k2 and v1 is v2 for (k1, v1), (k2, v2) in zip(items, mapping.items())
|
|
70
|
+
):
|
|
71
|
+
return obj
|
|
72
|
+
# Return a plain dict so that arbitrary Mapping types (e.g. ChainMap)
|
|
73
|
+
# can still be formatted by logging's `%` operator and serialized as
|
|
74
|
+
# JSON without reconstructing the original mapping type.
|
|
75
|
+
return dict(items)
|
|
76
|
+
|
|
77
|
+
# For opaque objects, redact their rendered string representations. This
|
|
78
|
+
# handles exceptions, dataclasses, Pydantic models, and other lazy logging
|
|
79
|
+
# arguments whose `__str__` or `__repr__` may contain the secret.
|
|
80
|
+
str_value = str(obj)
|
|
81
|
+
repr_value = repr(obj)
|
|
82
|
+
redacted_str = str_value.replace(substr, obfuscate(substr))
|
|
83
|
+
redacted_repr = repr_value.replace(substr, obfuscate(substr))
|
|
84
|
+
if redacted_str is not str_value or redacted_repr is not repr_value:
|
|
85
|
+
return _RedactedString(redacted_str, redacted_repr)
|
|
86
|
+
|
|
87
|
+
return obj
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class ObfuscateApiKeyFilter(logging.Filter):
|
|
91
|
+
"""
|
|
92
|
+
A logging filter that obfuscates any string that matches the obfuscate_string function.
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
def filter(self, record: logging.LogRecord) -> bool:
|
|
96
|
+
# Need to import here to avoid circular imports
|
|
97
|
+
from prefect.settings import PREFECT_API_KEY
|
|
98
|
+
|
|
99
|
+
api_key = PREFECT_API_KEY.value()
|
|
100
|
+
if api_key:
|
|
101
|
+
record.msg = redact_substr(record.msg, api_key)
|
|
102
|
+
if record.args is not None:
|
|
103
|
+
record.args = redact_substr(record.args, api_key)
|
|
104
|
+
|
|
105
|
+
return True
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/runner/_workspace_starter.py
RENAMED
|
@@ -126,7 +126,7 @@ def _stdlib_prefixes() -> tuple[str, ...]:
|
|
|
126
126
|
|
|
127
127
|
@functools.lru_cache(maxsize=1)
|
|
128
128
|
def _site_packages_dirs() -> tuple[str, ...]:
|
|
129
|
-
"""Resolved site-packages directories that should
|
|
129
|
+
"""Resolved site-packages directories that should not be promoted to PYTHONPATH."""
|
|
130
130
|
dirs: set[str] = set()
|
|
131
131
|
paths = sysconfig.get_paths()
|
|
132
132
|
for key in ("purelib", "platlib"):
|
|
@@ -147,12 +147,14 @@ def _site_packages_dirs() -> tuple[str, ...]:
|
|
|
147
147
|
return tuple(sorted(dirs))
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
def
|
|
151
|
-
"""True when *entry* is
|
|
150
|
+
def _is_interpreter_path(entry: str) -> bool:
|
|
151
|
+
"""True when *entry* is managed by the interpreter rather than the workspace.
|
|
152
152
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
The interpreter already adds stdlib, lib-dynload, and site-packages directories
|
|
154
|
+
in the correct order. Adding any of them to PYTHONPATH changes that ordering and
|
|
155
|
+
can let a site-packages backport shadow a standard-library module. Only
|
|
156
|
+
interpreter stdlib zip archives next to stdlib directories are filtered; user
|
|
157
|
+
archives like `/app/python_deps.zip` are preserved.
|
|
156
158
|
"""
|
|
157
159
|
if not entry:
|
|
158
160
|
return False
|
|
@@ -160,9 +162,11 @@ def _is_stdlib_path(entry: str) -> bool:
|
|
|
160
162
|
resolved_path = Path(entry).resolve()
|
|
161
163
|
resolved = str(resolved_path)
|
|
162
164
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
165
|
+
site_packages_dirs = _site_packages_dirs()
|
|
166
|
+
if resolved in site_packages_dirs:
|
|
167
|
+
return True
|
|
168
|
+
if any(resolved.startswith(sp + os.sep) for sp in site_packages_dirs):
|
|
169
|
+
return False
|
|
166
170
|
|
|
167
171
|
for root in _stdlib_prefixes():
|
|
168
172
|
if resolved == root or resolved.startswith(root + os.sep):
|
|
@@ -187,7 +191,11 @@ def workspace_environment(workspace: PreparedWorkspace) -> dict[str, str]:
|
|
|
187
191
|
candidate_entries.extend(existing_pythonpath.split(os.pathsep))
|
|
188
192
|
|
|
189
193
|
for entry in candidate_entries:
|
|
190
|
-
if
|
|
194
|
+
if (
|
|
195
|
+
entry
|
|
196
|
+
and entry not in pythonpath_entries
|
|
197
|
+
and not _is_interpreter_path(entry)
|
|
198
|
+
):
|
|
191
199
|
pythonpath_entries.append(entry)
|
|
192
200
|
|
|
193
201
|
environment["PYTHONPATH"] = os.pathsep.join(pythonpath_entries)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import sys
|
|
3
|
+
import threading
|
|
3
4
|
import warnings
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple, Type, get_origin
|
|
@@ -26,16 +27,23 @@ from prefect.settings.constants import DEFAULT_PREFECT_HOME, DEFAULT_PROFILES_PA
|
|
|
26
27
|
from prefect.utilities.collections import get_from_dict
|
|
27
28
|
|
|
28
29
|
_file_cache: TTLCache[str, dict[str, Any]] = TTLCache(maxsize=100, ttl=60)
|
|
30
|
+
_file_cache_lock = threading.Lock()
|
|
29
31
|
|
|
30
32
|
|
|
31
33
|
def _read_toml_file(path: Path) -> dict[str, Any]:
|
|
32
|
-
"""use ttl cache to cache toml files
|
|
34
|
+
"""use ttl cache to cache toml files
|
|
35
|
+
|
|
36
|
+
`TTLCache` is not thread-safe, so all access is guarded by a lock to avoid
|
|
37
|
+
corrupting its internal state under concurrent settings loads.
|
|
38
|
+
"""
|
|
33
39
|
modified_time = path.stat().st_mtime
|
|
34
40
|
cache_key = f"toml_file:{path}:{modified_time}"
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
with _file_cache_lock:
|
|
42
|
+
if value := _file_cache.get(cache_key):
|
|
43
|
+
return value
|
|
37
44
|
data = tomllib.loads(path.read_text(encoding="utf-8")) # type: ignore
|
|
38
|
-
|
|
45
|
+
with _file_cache_lock:
|
|
46
|
+
_file_cache[cache_key] = data
|
|
39
47
|
return data
|
|
40
48
|
|
|
41
49
|
|
|
@@ -572,22 +572,31 @@ def _enqueue_process_pool_log(message_queue: Any, log_payload: dict[str, Any]) -
|
|
|
572
572
|
message_queue.put((_PROCESS_POOL_MESSAGE_TYPE_LOG, log_payload))
|
|
573
573
|
|
|
574
574
|
|
|
575
|
-
def _initialize_process_pool_worker(
|
|
575
|
+
def _initialize_process_pool_worker(
|
|
576
|
+
message_queue: Any | None = None,
|
|
577
|
+
initializer: Callable[..., None] | None = None,
|
|
578
|
+
initargs: tuple[Any, ...] = (),
|
|
579
|
+
) -> None:
|
|
576
580
|
"""
|
|
577
581
|
Configure process-pool workers to forward emitted events and API logs back to
|
|
578
582
|
the parent process.
|
|
583
|
+
|
|
584
|
+
If a user `initializer` is provided, it runs after Prefect's own setup so that
|
|
585
|
+
it can rely on event/log forwarding already being in place.
|
|
579
586
|
"""
|
|
580
587
|
if message_queue is None:
|
|
581
588
|
EventsWorker.set_client_override(None)
|
|
582
589
|
set_api_log_sink(None)
|
|
583
|
-
|
|
590
|
+
else:
|
|
591
|
+
EventsWorker.set_client_override(
|
|
592
|
+
ProcessPoolForwardingEventsClient,
|
|
593
|
+
event_queue=message_queue,
|
|
594
|
+
item_type=_PROCESS_POOL_MESSAGE_TYPE_EVENT,
|
|
595
|
+
)
|
|
596
|
+
set_api_log_sink(partial(_enqueue_process_pool_log, message_queue))
|
|
584
597
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
event_queue=message_queue,
|
|
588
|
-
item_type=_PROCESS_POOL_MESSAGE_TYPE_EVENT,
|
|
589
|
-
)
|
|
590
|
-
set_api_log_sink(partial(_enqueue_process_pool_log, message_queue))
|
|
598
|
+
if initializer is not None:
|
|
599
|
+
initializer(*initargs)
|
|
591
600
|
|
|
592
601
|
|
|
593
602
|
def _run_task_in_subprocess(
|
|
@@ -748,6 +757,10 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
748
757
|
Attributes:
|
|
749
758
|
max_workers: The maximum number of processes to use for executing tasks.
|
|
750
759
|
Defaults to `multiprocessing.cpu_count()` if `PREFECT_TASKS_RUNNER_PROCESS_POOL_MAX_WORKERS` is not set.
|
|
760
|
+
initializer: An optional picklable callable run once in each worker
|
|
761
|
+
subprocess before it executes any tasks, mirroring
|
|
762
|
+
`ProcessPoolExecutor`'s `initializer`.
|
|
763
|
+
initargs: A tuple of arguments passed to `initializer`.
|
|
751
764
|
|
|
752
765
|
Examples:
|
|
753
766
|
Use a process pool task runner with a flow:
|
|
@@ -803,6 +816,21 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
803
816
|
...
|
|
804
817
|
```
|
|
805
818
|
|
|
819
|
+
Run custom setup in each worker subprocess:
|
|
820
|
+
|
|
821
|
+
```python
|
|
822
|
+
import sys
|
|
823
|
+
from prefect.task_runners import ProcessPoolTaskRunner
|
|
824
|
+
|
|
825
|
+
def add_to_path(*paths):
|
|
826
|
+
sys.path[:0] = paths
|
|
827
|
+
|
|
828
|
+
runner = ProcessPoolTaskRunner(
|
|
829
|
+
initializer=add_to_path,
|
|
830
|
+
initargs=("/opt/my_app/libs",),
|
|
831
|
+
)
|
|
832
|
+
```
|
|
833
|
+
|
|
806
834
|
Note:
|
|
807
835
|
Process pool task runners provide process isolation but have overhead for
|
|
808
836
|
inter-process communication. They are most beneficial for CPU-bound tasks
|
|
@@ -823,6 +851,8 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
823
851
|
subprocess_message_processor_factories: (
|
|
824
852
|
Iterable[_SubprocessMessageProcessorFactory] | None
|
|
825
853
|
) = None,
|
|
854
|
+
initializer: Callable[..., None] | None = None,
|
|
855
|
+
initargs: tuple[Any, ...] = (),
|
|
826
856
|
):
|
|
827
857
|
super().__init__()
|
|
828
858
|
current_settings = get_current_settings()
|
|
@@ -833,6 +863,8 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
833
863
|
or current_settings.tasks.runner.process_pool_max_workers
|
|
834
864
|
or multiprocessing.cpu_count()
|
|
835
865
|
)
|
|
866
|
+
self._initializer = initializer
|
|
867
|
+
self._initargs = tuple(initargs)
|
|
836
868
|
self._cancel_events: dict[uuid.UUID, multiprocessing.Event] = {}
|
|
837
869
|
self._subprocess_message_queue: Any | None = None
|
|
838
870
|
self._message_forwarding_thread: threading.Thread | None = None
|
|
@@ -844,6 +876,9 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
844
876
|
|
|
845
877
|
def duplicate(self) -> Self:
|
|
846
878
|
duplicate_runner = type(self)(max_workers=self._max_workers)
|
|
879
|
+
# Set post-construction so subclasses that narrow __init__ still duplicate.
|
|
880
|
+
duplicate_runner._initializer = getattr(self, "_initializer", None)
|
|
881
|
+
duplicate_runner._initargs = getattr(self, "_initargs", ())
|
|
847
882
|
duplicate_runner.subprocess_message_processor_factories = (
|
|
848
883
|
self.subprocess_message_processor_factories
|
|
849
884
|
)
|
|
@@ -1265,7 +1300,11 @@ class ProcessPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[Any]]):
|
|
|
1265
1300
|
max_workers=self._max_workers,
|
|
1266
1301
|
mp_context=mp_context,
|
|
1267
1302
|
initializer=_initialize_process_pool_worker,
|
|
1268
|
-
initargs=(
|
|
1303
|
+
initargs=(
|
|
1304
|
+
self._subprocess_message_queue,
|
|
1305
|
+
getattr(self, "_initializer", None),
|
|
1306
|
+
getattr(self, "_initargs", ()),
|
|
1307
|
+
),
|
|
1269
1308
|
)
|
|
1270
1309
|
# Create a thread pool for resolving futures before submitting to process pool
|
|
1271
1310
|
self._resolver_executor = ThreadPoolExecutor(max_workers=self._max_workers)
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/utilities/filesystem/__init__.py
RENAMED
|
@@ -45,7 +45,7 @@ def filter_files(
|
|
|
45
45
|
|
|
46
46
|
The specification matches that of [.gitignore files](https://git-scm.com/docs/gitignore).
|
|
47
47
|
"""
|
|
48
|
-
spec = pathspec.
|
|
48
|
+
spec = pathspec.GitIgnoreSpec.from_lines(ignore_patterns or [])
|
|
49
49
|
ignored_files = {p.path for p in spec.match_tree_entries(root)}
|
|
50
50
|
if include_dirs:
|
|
51
51
|
all_files = {p.path for p in pathspec.util.iter_tree_entries(root)}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
from typing import Any
|
|
3
|
-
|
|
4
|
-
from prefect.utilities.collections import visit_collection
|
|
5
|
-
from prefect.utilities.names import obfuscate
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def redact_substr(obj: Any, substr: str) -> Any:
|
|
9
|
-
"""
|
|
10
|
-
Redact a string from a potentially nested object.
|
|
11
|
-
|
|
12
|
-
Args:
|
|
13
|
-
obj: The object to redact the string from
|
|
14
|
-
substr: The string to redact.
|
|
15
|
-
|
|
16
|
-
Returns:
|
|
17
|
-
Any: The object with the API key redacted.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
def redact_item(item: Any) -> Any:
|
|
21
|
-
if isinstance(item, str):
|
|
22
|
-
return item.replace(substr, obfuscate(substr))
|
|
23
|
-
return item
|
|
24
|
-
|
|
25
|
-
redacted_obj = visit_collection(obj, visit_fn=redact_item, return_data=True)
|
|
26
|
-
return redacted_obj
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class ObfuscateApiKeyFilter(logging.Filter):
|
|
30
|
-
"""
|
|
31
|
-
A logging filter that obfuscates any string that matches the obfuscate_string function.
|
|
32
|
-
"""
|
|
33
|
-
|
|
34
|
-
def filter(self, record: logging.LogRecord) -> bool:
|
|
35
|
-
# Need to import here to avoid circular imports
|
|
36
|
-
from prefect.settings import PREFECT_API_KEY
|
|
37
|
-
|
|
38
|
-
if PREFECT_API_KEY:
|
|
39
|
-
record.msg = redact_substr(record.msg, PREFECT_API_KEY.value())
|
|
40
|
-
|
|
41
|
-
return True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/_launchers.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/emit.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/notice.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/analytics/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/api.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/threads.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/concurrency/waiters.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/control_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/installation.py
RENAMED
|
File without changes
|
{prefect_client-3.7.9.dev5 → prefect_client-3.7.9.dev7}/src/prefect/_internal/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|