pyworkflow-engine 0.2.10__tar.gz → 0.2.11__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.
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/PKG-INFO +1 -1
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyproject.toml +1 -1
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/__init__.py +1 -1
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/citus.py +12 -7
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/postgres.py +12 -8
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/CLAUDE.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/DISTRIBUTED.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/LICENSE +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/MANIFEST.in +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/README.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/RELEASING.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/architecture.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/cancellation.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/continue-as-new.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/events.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/fault-tolerance.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/hooks.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/limitations.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/schedules.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/sleep.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/step-context.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/steps.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/stream-steps.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/stream-workflows.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/concepts/workflows.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/conventions.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/guides/brokers.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/guides/cli.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/guides/configuration.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/harness-gaps.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/introduction.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/layers.md +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/docs/quickstart.mdx +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/docker-compose.yml +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/pyworkflow.config.yaml +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/basic.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/batch_processing.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/cancellation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/child_workflow_from_step.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/child_workflow_patterns.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/child_workflows.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/continue_as_new.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/fault_tolerance.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/hooks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/idempotency.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/long_running.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/retries.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/schedules.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/sleep_in_step.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/step_context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/transient/01_basic_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/transient/02_fault_tolerance.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/transient/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/transient/pyworkflow.config.yaml +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/01_basic_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/02_file_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/03_retries.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/04_long_running.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/05_event_log.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/06_idempotency.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/07_hooks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/08_cancellation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/09_child_workflows.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/10_child_workflow_patterns.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/11_continue_as_new.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/12_schedules.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/13_step_context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/14_child_workflow_from_step.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/01_quick_tasks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/02_retries.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/03_sleep.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/aws/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/aws/context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/aws/handler.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/aws/testing.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/app.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/loop.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/scheduler.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/singleton.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/celery/tasks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/__main__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/hooks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/quickstart.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/runs.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/scheduler.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/schedules.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/setup.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/worker.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/commands/workflows.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/output/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/output/formatters.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/output/styles.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/async_helpers.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/config.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/config_generator.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/discovery.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/docker_manager.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/interactive.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/config.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/aws.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/base.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/local.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/mock.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/context/step_context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/exceptions.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/registry.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/scheduled.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/step.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/validation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/core/workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/discovery.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/engine/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/engine/events.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/engine/executor.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/engine/replay.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/observability/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/observability/logging.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/child_handle.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/child_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/continue_as_new.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/define_hook.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/hooks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/resume_hook.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/schedule.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/shield.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/sleep.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/step_checkpoint.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/step_hook.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/runtime/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/runtime/base.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/runtime/celery.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/runtime/factory.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/runtime/local.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/scheduler/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/scheduler/local.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/serialization/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/serialization/decoder.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/serialization/encoder.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/base.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/cassandra.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/config.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/dynamodb.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/file.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/memory.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/migrations/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/migrations/base.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/mysql.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/schemas.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/sqlite.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/checkpoint.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/consumer.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/decorator.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/dispatcher.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/emit.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/registry.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/runtime.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/signal.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/streams/step_context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/utils/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/utils/duration.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/utils/helpers.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/utils/schedule.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow_engine.egg-info/SOURCES.txt +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/setup.cfg +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_cancellation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_cassandra_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_child_workflows.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_continue_as_new.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_dynamodb_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_fault_tolerance.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_schedule_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_schema_migrations.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_singleton.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_stream_e2e.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_workflow_suspended.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_cassandra_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_citus_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_dynamodb_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_postgres_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_sqlite_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/conftest.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/storage/__init__.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/storage/test_migrations.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_cancellation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_child_workflows.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_cli_worker.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_continue_as_new.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_emit.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_event_limits.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_executor.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_fault_tolerance.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_force_local.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_hooks.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_parent_run_id.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_primitives_from_steps.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_registry.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_replay.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_retention.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_schedule_schemas.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_schedule_utils.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_scheduled_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_signal.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_singleton.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_step.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_step_checkpoint.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_step_context.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_step_hook.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_stream_storage.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_stream_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_validation.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_workflow.py +0 -0
- {pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_workflow_suspended.py +0 -0
|
@@ -7,7 +7,7 @@ packages = [{include = "pyworkflow"}]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "pyworkflow-engine"
|
|
10
|
-
version = "0.2.
|
|
10
|
+
version = "0.2.11"
|
|
11
11
|
description = "A Python implementation of durable, event-sourced workflows inspired by Vercel Workflow"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
requires-python = ">=3.11"
|
|
@@ -340,9 +340,11 @@ class CitusStorageBackend(PostgresStorageBackend):
|
|
|
340
340
|
await conn.execute(
|
|
341
341
|
"CREATE INDEX IF NOT EXISTS idx_events_run_id_type ON events(run_id, type)"
|
|
342
342
|
)
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
343
|
+
# NOTE: idx_events_run_id_step_id_type is intentionally NOT created here.
|
|
344
|
+
# On a pre-v2 database, the step_id column does not yet exist
|
|
345
|
+
# (CREATE TABLE IF NOT EXISTS above is a no-op on existing tables, so
|
|
346
|
+
# the new column declaration is ignored). The v2 migration adds the
|
|
347
|
+
# column AND creates this index — see CitusMigrationRunner version 2.
|
|
346
348
|
|
|
347
349
|
# steps — distributed on run_id, co-located with workflow_runs
|
|
348
350
|
# Differences vs postgres:
|
|
@@ -503,10 +505,13 @@ class CitusStorageBackend(PostgresStorageBackend):
|
|
|
503
505
|
await conn.execute(
|
|
504
506
|
"CREATE INDEX IF NOT EXISTS idx_subscriptions_status ON stream_subscriptions(stream_id, status)"
|
|
505
507
|
)
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
)
|
|
508
|
+
# NOTE: idx_subscriptions_stream_run is intentionally NOT created here.
|
|
509
|
+
# On a pre-v5 database, the stream_run_id column does not yet exist
|
|
510
|
+
# (CREATE TABLE IF NOT EXISTS above is a no-op on existing tables, so
|
|
511
|
+
# the new column declarations are ignored). The v5 migration adds the
|
|
512
|
+
# column AND creates this index idempotently — see CitusMigrationRunner
|
|
513
|
+
# version 5. Creating the index here would crash _initialize_schema
|
|
514
|
+
# before run_migrations() ever gets a chance to run.
|
|
510
515
|
|
|
511
516
|
# scheduled_signals — reference table (polled globally by runtime)
|
|
512
517
|
await conn.execute("""
|
|
@@ -446,10 +446,11 @@ class PostgresStorageBackend(StorageBackend):
|
|
|
446
446
|
await conn.execute(
|
|
447
447
|
"CREATE INDEX IF NOT EXISTS idx_events_run_id_type ON events(run_id, type)"
|
|
448
448
|
)
|
|
449
|
-
#
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
)
|
|
449
|
+
# NOTE: idx_events_run_id_step_id_type is intentionally NOT created here.
|
|
450
|
+
# On a pre-v2 database, the step_id column does not yet exist
|
|
451
|
+
# (CREATE TABLE IF NOT EXISTS above is a no-op on existing tables, so
|
|
452
|
+
# the new column declaration is ignored). The v2 migration adds the
|
|
453
|
+
# column AND creates this index — see PostgresMigrationRunner version 2.
|
|
453
454
|
|
|
454
455
|
# Steps table
|
|
455
456
|
await conn.execute("""
|
|
@@ -593,10 +594,13 @@ class PostgresStorageBackend(StorageBackend):
|
|
|
593
594
|
await conn.execute(
|
|
594
595
|
"CREATE INDEX IF NOT EXISTS idx_subscriptions_status ON stream_subscriptions(stream_id, status)"
|
|
595
596
|
)
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
)
|
|
597
|
+
# NOTE: idx_subscriptions_stream_run is intentionally NOT created here.
|
|
598
|
+
# On a pre-v5 database, the stream_run_id column does not yet exist
|
|
599
|
+
# (CREATE TABLE IF NOT EXISTS above is a no-op on existing tables, so
|
|
600
|
+
# the new column declarations are ignored). The v5 migration adds the
|
|
601
|
+
# column AND creates this index idempotently — see PostgresMigrationRunner
|
|
602
|
+
# version 5. Creating the index here would crash _initialize_schema
|
|
603
|
+
# before run_migrations() ever gets a chance to run.
|
|
600
604
|
|
|
601
605
|
# Scheduled signals table (for schedule_signal() primitive)
|
|
602
606
|
await conn.execute("""
|
|
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
|
|
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
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/docker-compose.yml
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/pyworkflow.config.yaml
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/__init__.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/basic.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
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/retries.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/durable/workflows/schedules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/celery/transient/01_basic_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/01_basic_workflow.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/02_file_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/04_long_running.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/05_event_log.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/06_idempotency.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/08_cancellation.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/09_child_workflows.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/11_continue_as_new.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/12_schedules.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/durable/13_step_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/01_quick_tasks.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/examples/local/transient/02_retries.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
|
|
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
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/config_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/cli/utils/docker_manager.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
|
|
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
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/child_workflow.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/continue_as_new.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/primitives/step_checkpoint.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
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow/storage/migrations/__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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/pyworkflow_engine.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_cancellation.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_cassandra_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_child_workflows.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_continue_as_new.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_dynamodb_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_fault_tolerance.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_schedule_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_schema_migrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/integration/test_workflow_suspended.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_cassandra_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_citus_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_dynamodb_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_postgres_storage.py
RENAMED
|
File without changes
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/backends/test_sqlite_storage.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
|
{pyworkflow_engine-0.2.10 → pyworkflow_engine-0.2.11}/tests/unit/test_primitives_from_steps.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
|
|
File without changes
|