prefect-client 2.19.3__tar.gz → 2.19.5__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-2.19.3/src/prefect_client.egg-info → prefect-client-2.19.5}/PKG-INFO +1 -1
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/actions.py +1 -1
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/base.py +7 -1
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/flows.py +34 -5
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/container.py +6 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/callables.py +74 -3
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/importtools.py +34 -5
- {prefect-client-2.19.3 → prefect-client-2.19.5/src/prefect_client.egg-info}/PKG-INFO +1 -1
- {prefect-client-2.19.3 → prefect-client-2.19.5}/LICENSE +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/MANIFEST.in +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/README.md +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/requirements-client.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/requirements-dev.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/requirements.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/setup.cfg +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/setup.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/.prefectignore +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/_logging.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/experimental.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/_base_model.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/_compat.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/_flags.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/_types.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/config_dict.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/field_validator.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_construct.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_copy.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_dump.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_dump_json.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_fields.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_fields_set.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_json_schema.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_rebuild.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_validate.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_validate_json.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/model_validator.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/type_adapter.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pytz.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/applications.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/background.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/concurrency.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/datastructures.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/models.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/encoders.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/exception_handlers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/exceptions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/logger.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/asyncexitstack.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/cors.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/gzip.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/httpsredirect.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/trustedhost.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/wsgi.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/constants.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/docs.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/models.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/param_functions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/params.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/requests.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/responses.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/routing.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/api_key.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/http.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/oauth2.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/open_id_connect_url.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/staticfiles.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/templating.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/testclient.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/types.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/websockets.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/_compat.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/_exception_handler.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/_utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/applications.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/authentication.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/background.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/concurrency.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/config.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/convertors.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/datastructures.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/endpoints.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/exceptions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/formparsers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/authentication.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/cors.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/errors.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/exceptions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/gzip.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/httpsredirect.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/sessions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/trustedhost.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/wsgi.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/requests.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/responses.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/routing.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/schemas.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/staticfiles.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/status.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/templating.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/testclient.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/types.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/websockets.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_version.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/agent.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/artifacts.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/automations.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/abstract.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/core.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/fields.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/kubernetes.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/notifications.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/system.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/blocks/webhook.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/cloud.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/collections.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/constants.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/orchestration.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/filters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/objects.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/responses.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/subscriptions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/client/utilities.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/concurrency/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/concurrency/events.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/concurrency/services.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/concurrency/sync.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/context.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/deployments.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/runner.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/schedules.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/steps/core.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/data_documents.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/docker.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/file.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/orion.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/deprecated/packaging/serializers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/engine.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/actions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/cli/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/cli/automations.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/clients.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/filters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/instrument.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/related.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/schemas/automations.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/schemas/events.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/utilities.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/events/worker.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/exceptions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/filesystems.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/flow_runs.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/futures.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/kubernetes.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/process.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/input/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/input/actions.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/input/run_input.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/configuration.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/filters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/formatters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/handlers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/highlighters.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/loggers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/logging/logging.yml +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/manifests.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/new_flow_engine.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/new_task_engine.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/plugins.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/profiles.toml +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/py.typed +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/pydantic/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/pydantic/main.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/results.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/runner.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/server.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/storage.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/submit.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runner/utils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runtime/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runtime/deployment.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runtime/flow_run.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/runtime/task_run.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/serializers.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/settings.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/software/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/software/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/software/conda.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/software/pip.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/software/python.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/states.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/task_engine.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/task_runners.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/task_server.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/tasks.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/types/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/annotations.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/collections.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/compat.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/context.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/dispatch.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/engine.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/filesystem.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/hashing.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/math.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/names.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/processutils.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/pydantic.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/services.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/slugify.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/templating.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/text.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/timeout.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/utilities/visualization.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/variables.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/__init__.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/base.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/block.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/process.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/server.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/workers/utilities.py +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect_client.egg-info/SOURCES.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect_client.egg-info/dependency_links.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect_client.egg-info/requires.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect_client.egg-info/top_level.txt +0 -0
- {prefect-client-2.19.3 → prefect-client-2.19.5}/versioneer.py +0 -0
@@ -778,7 +778,7 @@ class GlobalConcurrencyLimitUpdate(ActionBaseModel):
|
|
778
778
|
|
779
779
|
name: Optional[str] = Field(None)
|
780
780
|
limit: Optional[NonNegativeInteger] = Field(None)
|
781
|
-
active: Optional[
|
781
|
+
active: Optional[bool] = Field(None)
|
782
782
|
active_slots: Optional[NonNegativeInteger] = Field(None)
|
783
783
|
slot_decay_per_second: Optional[NonNegativeFloat] = Field(None)
|
784
784
|
|
@@ -396,7 +396,13 @@ async def _find_flow_functions_in_file(filename: str) -> List[Dict]:
|
|
396
396
|
return decorated_functions
|
397
397
|
|
398
398
|
for node in ast.walk(tree):
|
399
|
-
if isinstance(
|
399
|
+
if isinstance(
|
400
|
+
node,
|
401
|
+
(
|
402
|
+
ast.FunctionDef,
|
403
|
+
ast.AsyncFunctionDef,
|
404
|
+
),
|
405
|
+
):
|
400
406
|
for decorator in node.decorator_list:
|
401
407
|
# handles @flow
|
402
408
|
is_name_match = (
|
@@ -106,7 +106,7 @@ from prefect.utilities.callables import (
|
|
106
106
|
)
|
107
107
|
from prefect.utilities.collections import listrepr
|
108
108
|
from prefect.utilities.hashing import file_hash
|
109
|
-
from prefect.utilities.importtools import import_object
|
109
|
+
from prefect.utilities.importtools import import_object, safe_load_namespace
|
110
110
|
from prefect.utilities.visualization import (
|
111
111
|
FlowVisualizationError,
|
112
112
|
GraphvizExecutableNotFoundError,
|
@@ -1830,7 +1830,14 @@ def load_flow_argument_from_entrypoint(
|
|
1830
1830
|
(
|
1831
1831
|
node
|
1832
1832
|
for node in ast.walk(parsed_code)
|
1833
|
-
if isinstance(
|
1833
|
+
if isinstance(
|
1834
|
+
node,
|
1835
|
+
(
|
1836
|
+
ast.FunctionDef,
|
1837
|
+
ast.AsyncFunctionDef,
|
1838
|
+
),
|
1839
|
+
)
|
1840
|
+
and node.name == func_name
|
1834
1841
|
),
|
1835
1842
|
None,
|
1836
1843
|
)
|
@@ -1843,11 +1850,33 @@ def load_flow_argument_from_entrypoint(
|
|
1843
1850
|
):
|
1844
1851
|
for keyword in decorator.keywords:
|
1845
1852
|
if keyword.arg == arg:
|
1846
|
-
|
1847
|
-
|
1848
|
-
|
1853
|
+
if isinstance(keyword.value, ast.Constant):
|
1854
|
+
return (
|
1855
|
+
keyword.value.value
|
1856
|
+
) # Return the string value of the argument
|
1857
|
+
|
1858
|
+
# if the arg value is not a raw str (i.e. a variable or expression),
|
1859
|
+
# then attempt to evaluate it
|
1860
|
+
namespace = safe_load_namespace(source_code)
|
1861
|
+
literal_arg_value = ast.get_source_segment(
|
1862
|
+
source_code, keyword.value
|
1863
|
+
)
|
1864
|
+
try:
|
1865
|
+
evaluated_value = eval(literal_arg_value, namespace) # type: ignore
|
1866
|
+
except Exception as e:
|
1867
|
+
logger.info(
|
1868
|
+
"Failed to parse @flow argument: `%s=%s` due to the following error. Ignoring and falling back to default behavior.",
|
1869
|
+
arg,
|
1870
|
+
literal_arg_value,
|
1871
|
+
exc_info=e,
|
1872
|
+
)
|
1873
|
+
# ignore the decorator arg and fallback to default behavior
|
1874
|
+
break
|
1875
|
+
return str(evaluated_value)
|
1849
1876
|
|
1850
1877
|
if arg == "name":
|
1851
1878
|
return func_name.replace(
|
1852
1879
|
"_", "-"
|
1853
1880
|
) # If no matching decorator or keyword argument is found
|
1881
|
+
|
1882
|
+
return None
|
@@ -124,6 +124,12 @@ class BaseDockerLogin(Block, ABC):
|
|
124
124
|
)
|
125
125
|
class DockerRegistry(BaseDockerLogin):
|
126
126
|
"""
|
127
|
+
DEPRECATION WARNING:
|
128
|
+
|
129
|
+
This class is deprecated as of March 2024 and will not be available after September 2024.
|
130
|
+
It has been replaced by `DockerRegistryCredentials` from the `prefect-docker` package, which
|
131
|
+
offers enhanced functionality and better a better user experience.
|
132
|
+
|
127
133
|
Connects to a Docker registry.
|
128
134
|
|
129
135
|
Requires a Docker Engine to be connectable.
|
@@ -448,7 +448,14 @@ def _generate_signature_from_source(
|
|
448
448
|
(
|
449
449
|
node
|
450
450
|
for node in ast.walk(parsed_code)
|
451
|
-
if isinstance(
|
451
|
+
if isinstance(
|
452
|
+
node,
|
453
|
+
(
|
454
|
+
ast.FunctionDef,
|
455
|
+
ast.AsyncFunctionDef,
|
456
|
+
),
|
457
|
+
)
|
458
|
+
and node.name == func_name
|
452
459
|
),
|
453
460
|
None,
|
454
461
|
)
|
@@ -456,6 +463,26 @@ def _generate_signature_from_source(
|
|
456
463
|
raise ValueError(f"Function {func_name} not found in source code")
|
457
464
|
parameters = []
|
458
465
|
|
466
|
+
# Handle annotations for positional only args e.g. def func(a, /, b, c)
|
467
|
+
for arg in func_def.args.posonlyargs:
|
468
|
+
name = arg.arg
|
469
|
+
annotation = arg.annotation
|
470
|
+
if annotation is not None:
|
471
|
+
try:
|
472
|
+
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
473
|
+
annotation = eval(ann_code, namespace)
|
474
|
+
except Exception as e:
|
475
|
+
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
476
|
+
annotation = inspect.Parameter.empty
|
477
|
+
else:
|
478
|
+
annotation = inspect.Parameter.empty
|
479
|
+
|
480
|
+
param = inspect.Parameter(
|
481
|
+
name, inspect.Parameter.POSITIONAL_ONLY, annotation=annotation
|
482
|
+
)
|
483
|
+
parameters.append(param)
|
484
|
+
|
485
|
+
# Determine the annotations for args e.g. def func(a: int, b: str, c: float)
|
459
486
|
for arg in func_def.args.args:
|
460
487
|
name = arg.arg
|
461
488
|
annotation = arg.annotation
|
@@ -478,6 +505,7 @@ def _generate_signature_from_source(
|
|
478
505
|
)
|
479
506
|
parameters.append(param)
|
480
507
|
|
508
|
+
# Handle default values for args e.g. def func(a=1, b="hello", c=3.14)
|
481
509
|
defaults = [None] * (
|
482
510
|
len(func_def.args.args) - len(func_def.args.defaults)
|
483
511
|
) + func_def.args.defaults
|
@@ -493,6 +521,42 @@ def _generate_signature_from_source(
|
|
493
521
|
default = None # Set to None if evaluation fails
|
494
522
|
parameters[parameters.index(param)] = param.replace(default=default)
|
495
523
|
|
524
|
+
# Handle annotations for keyword only args e.g. def func(*, a: int, b: str)
|
525
|
+
for kwarg in func_def.args.kwonlyargs:
|
526
|
+
name = kwarg.arg
|
527
|
+
annotation = kwarg.annotation
|
528
|
+
if annotation is not None:
|
529
|
+
try:
|
530
|
+
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
531
|
+
annotation = eval(ann_code, namespace)
|
532
|
+
except Exception as e:
|
533
|
+
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
534
|
+
annotation = inspect.Parameter.empty
|
535
|
+
else:
|
536
|
+
annotation = inspect.Parameter.empty
|
537
|
+
|
538
|
+
param = inspect.Parameter(
|
539
|
+
name, inspect.Parameter.KEYWORD_ONLY, annotation=annotation
|
540
|
+
)
|
541
|
+
parameters.append(param)
|
542
|
+
|
543
|
+
# Handle default values for keyword only args e.g. def func(*, a=1, b="hello")
|
544
|
+
defaults = [None] * (
|
545
|
+
len(func_def.args.kwonlyargs) - len(func_def.args.kw_defaults)
|
546
|
+
) + func_def.args.kw_defaults
|
547
|
+
for param, default in zip(parameters[-len(func_def.args.kwonlyargs) :], defaults):
|
548
|
+
if default is not None:
|
549
|
+
try:
|
550
|
+
def_code = compile(ast.Expression(default), "<string>", "eval")
|
551
|
+
default = eval(def_code, namespace)
|
552
|
+
except Exception as e:
|
553
|
+
logger.debug(
|
554
|
+
"Failed to evaluate default value for %s: %s", param.name, e
|
555
|
+
)
|
556
|
+
default = None
|
557
|
+
parameters[parameters.index(param)] = param.replace(default=default)
|
558
|
+
|
559
|
+
# Handle annotations for varargs and kwargs e.g. def func(*args: int, **kwargs: str)
|
496
560
|
if func_def.args.vararg:
|
497
561
|
parameters.append(
|
498
562
|
inspect.Parameter(
|
@@ -504,7 +568,7 @@ def _generate_signature_from_source(
|
|
504
568
|
inspect.Parameter(func_def.args.kwarg.arg, inspect.Parameter.VAR_KEYWORD)
|
505
569
|
)
|
506
570
|
|
507
|
-
# Handle return annotation
|
571
|
+
# Handle return annotation e.g. def func() -> int
|
508
572
|
return_annotation = func_def.returns
|
509
573
|
if return_annotation is not None:
|
510
574
|
try:
|
@@ -536,7 +600,14 @@ def _get_docstring_from_source(source_code: str, func_name: str) -> Optional[str
|
|
536
600
|
(
|
537
601
|
node
|
538
602
|
for node in ast.walk(parsed_code)
|
539
|
-
if isinstance(
|
603
|
+
if isinstance(
|
604
|
+
node,
|
605
|
+
(
|
606
|
+
ast.FunctionDef,
|
607
|
+
ast.AsyncFunctionDef,
|
608
|
+
),
|
609
|
+
)
|
610
|
+
and node.name == func_name
|
540
611
|
),
|
541
612
|
None,
|
542
613
|
)
|
@@ -379,7 +379,16 @@ def safe_load_namespace(source_code: str):
|
|
379
379
|
"""
|
380
380
|
parsed_code = ast.parse(source_code)
|
381
381
|
|
382
|
-
namespace = {}
|
382
|
+
namespace = {"__name__": "prefect_safe_namespace_loader"}
|
383
|
+
|
384
|
+
# Remove the body of the if __name__ == "__main__": block from the AST to prevent
|
385
|
+
# execution of guarded code
|
386
|
+
new_body = []
|
387
|
+
for node in parsed_code.body:
|
388
|
+
if _is_main_block(node):
|
389
|
+
continue
|
390
|
+
new_body.append(node)
|
391
|
+
parsed_code.body = new_body
|
383
392
|
|
384
393
|
# Walk through the AST and find all import statements
|
385
394
|
for node in ast.walk(parsed_code):
|
@@ -413,11 +422,11 @@ def safe_load_namespace(source_code: str):
|
|
413
422
|
except ImportError as e:
|
414
423
|
logger.debug("Failed to import from %s: %s", node.module, e)
|
415
424
|
|
416
|
-
# Handle local
|
425
|
+
# Handle local definitions
|
417
426
|
for node in ast.walk(parsed_code):
|
418
|
-
if isinstance(node, (ast.ClassDef, ast.FunctionDef)):
|
427
|
+
if isinstance(node, (ast.ClassDef, ast.FunctionDef, ast.Assign)):
|
419
428
|
try:
|
420
|
-
# Compile and execute each class and function definition
|
429
|
+
# Compile and execute each class and function definition and assignment
|
421
430
|
code = compile(
|
422
431
|
ast.Module(body=[node], type_ignores=[]),
|
423
432
|
filename="<ast>",
|
@@ -425,5 +434,25 @@ def safe_load_namespace(source_code: str):
|
|
425
434
|
)
|
426
435
|
exec(code, namespace)
|
427
436
|
except Exception as e:
|
428
|
-
logger.debug("Failed to compile
|
437
|
+
logger.debug("Failed to compile: %s", e)
|
429
438
|
return namespace
|
439
|
+
|
440
|
+
|
441
|
+
def _is_main_block(node: ast.AST):
|
442
|
+
"""
|
443
|
+
Check if the node is an `if __name__ == "__main__":` block.
|
444
|
+
"""
|
445
|
+
if isinstance(node, ast.If):
|
446
|
+
try:
|
447
|
+
# Check if the condition is `if __name__ == "__main__":`
|
448
|
+
if (
|
449
|
+
isinstance(node.test, ast.Compare)
|
450
|
+
and isinstance(node.test.left, ast.Name)
|
451
|
+
and node.test.left.id == "__name__"
|
452
|
+
and isinstance(node.test.comparators[0], ast.Constant)
|
453
|
+
and node.test.comparators[0].value == "__main__"
|
454
|
+
):
|
455
|
+
return True
|
456
|
+
except AttributeError:
|
457
|
+
pass
|
458
|
+
return False
|
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-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/__init__.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/deprecated.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/compatibility/experimental.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/cancellation.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/event_loop.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/inspection.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/primitives.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/services.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/threads.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/concurrency/waiters.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/_base_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/utilities/__init__.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/pydantic/v2_validated_func.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_internal/schemas/serializers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/datastructures.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/__init__.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/models.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/dependencies/utils.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/exception_handlers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/__init__.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/cors.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/gzip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/middleware/wsgi.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/__init__.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/constants.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/models.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/openapi/utils.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/param_functions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/__init__.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/api_key.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/base.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/http.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/oauth2.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/fastapi/security/utils.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
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/_exception_handler.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/applications.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/authentication.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/concurrency.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/datastructures.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/formparsers.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/__init__.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/base.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/cors.py
RENAMED
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/errors.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/gzip.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-2.19.3 → prefect-client-2.19.5}/src/prefect/_vendor/starlette/middleware/sessions.py
RENAMED
File without changes
|