diffusers-workflow 0.4.0b7__tar.gz → 0.6.0__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.
- {diffusers_workflow-0.4.0b7/diffusers_workflow.egg-info → diffusers_workflow-0.6.0}/PKG-INFO +46 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/README.md +36 -12
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0/diffusers_workflow.egg-info}/PKG-INFO +46 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/diffusers_workflow.egg-info/SOURCES.txt +137 -39
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/diffusers_workflow.egg-info/entry_points.txt +0 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/diffusers_workflow.egg-info/requires.txt +9 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/__init__.py +83 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/adapter_compatibility.py +65 -21
- diffusers_workflow-0.6.0/dw/argument_media.py +322 -0
- diffusers_workflow-0.6.0/dw/argument_warnings.py +216 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/arguments.py +211 -315
- diffusers_workflow-0.6.0/dw/assessment_rules.py +193 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/assets.py +33 -31
- diffusers_workflow-0.6.0/dw/audio_qc.py +426 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/cache_blocks.py +2 -1
- diffusers_workflow-0.6.0/dw/content_types.py +208 -0
- diffusers_workflow-0.6.0/dw/dissolve_frame_errors.py +117 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/ACCELERATION.md +11 -65
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/AGENT_LOOP.md +9 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/DEPENDENCIES.md +2 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/MCP.md +22 -17
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/RECIPES_24GB.md +12 -1
- diffusers_workflow-0.6.0/dw/docs/RELEASING.md +511 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/REMOTE.md +21 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/SECURITY.md +61 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/SERVER.md +32 -9
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/TASKS.md +537 -17
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/TESTING.md +15 -6
- diffusers_workflow-0.6.0/dw/docs/WORKER_GUIDE.md +46 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/WORKFLOW_GUIDE.md +329 -29
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/WORKSPACES.md +36 -21
- diffusers_workflow-0.6.0/dw/download_watch.py +335 -0
- diffusers_workflow-0.6.0/dw/dsp.py +612 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/elision.py +28 -9
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/events.py +54 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/for_each.py +21 -34
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/host_memory_projection.py +72 -17
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/hub_cache.py +114 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/introspection.py +192 -229
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/kernel_availability.py +5 -8
- diffusers_workflow-0.6.0/dw/library.py +717 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/locations.py +169 -39
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/log_setup.py +3 -2
- diffusers_workflow-0.6.0/dw/media.py +851 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/media_frames.py +104 -125
- diffusers_workflow-0.6.0/dw/media_types.py +192 -0
- diffusers_workflow-0.6.0/dw/output_extraction.py +249 -0
- diffusers_workflow-0.6.0/dw/pipeline_ownership.py +308 -0
- diffusers_workflow-0.6.0/dw/pipeline_processors/adapters.py +164 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/pipeline_processors/chain.py +62 -20
- diffusers_workflow-0.6.0/dw/pipeline_processors/components.py +828 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/pipeline_processors/config_objects.py +50 -2
- diffusers_workflow-0.6.0/dw/pipeline_processors/pipeline.py +853 -0
- diffusers_workflow-0.6.0/dw/pipeline_processors/placement.py +369 -0
- diffusers_workflow-0.6.0/dw/pipeline_processors/progress.py +236 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/pipeline_processors/remote.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/plan.py +256 -183
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/previous_results.py +47 -42
- diffusers_workflow-0.6.0/dw/probe_paths.py +66 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/prompts.py +30 -25
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/realize.py +33 -21
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/reference_limits.py +13 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/reference_names.py +3 -6
- diffusers_workflow-0.6.0/dw/references.py +140 -0
- diffusers_workflow-0.6.0/dw/result.py +848 -0
- diffusers_workflow-0.6.0/dw/run.py +268 -0
- diffusers_workflow-0.6.0/dw/runs.py +894 -0
- diffusers_workflow-0.6.0/dw/scalar_result_validation.py +136 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/schema.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/security.py +36 -139
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/serve.py +108 -51
- diffusers_workflow-0.6.0/dw/server/admission.py +425 -0
- diffusers_workflow-0.6.0/dw/server/app.py +238 -0
- diffusers_workflow-0.6.0/dw/server/assess.py +135 -0
- diffusers_workflow-0.6.0/dw/server/catalog.py +434 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/catalog_shape.py +9 -9
- diffusers_workflow-0.6.0/dw/server/deps.py +189 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/exports.py +21 -17
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/guides.py +60 -7
- diffusers_workflow-0.6.0/dw/server/http_security.py +187 -0
- diffusers_workflow-0.6.0/dw/server/job_history.py +437 -0
- diffusers_workflow-0.6.0/dw/server/job_record.py +281 -0
- diffusers_workflow-0.6.0/dw/server/jobs.py +898 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/mcp_mount.py +2 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/netinfo.py +9 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/observed_cost.py +29 -1
- diffusers_workflow-0.6.0/dw/server/outputs.py +400 -0
- diffusers_workflow-0.6.0/dw/server/routes/__init__.py +46 -0
- diffusers_workflow-0.6.0/dw/server/routes/assets.py +443 -0
- diffusers_workflow-0.6.0/dw/server/routes/files.py +159 -0
- diffusers_workflow-0.6.0/dw/server/routes/gallery.py +385 -0
- diffusers_workflow-0.6.0/dw/server/routes/jobs.py +765 -0
- diffusers_workflow-0.6.0/dw/server/routes/library.py +706 -0
- diffusers_workflow-0.6.0/dw/server/routes/media.py +566 -0
- diffusers_workflow-0.6.0/dw/server/routes/system.py +416 -0
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/cssMode-xQCqMuag.js → diffusers_workflow-0.6.0/dw/server/ui/assets/cssMode-CjZLP_Pe.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/editor.api-Bfiq9hmW.js → diffusers_workflow-0.6.0/dw/server/ui/assets/editor.api-DXlBngV6.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/freemarker2-BwDnlSuz.js → diffusers_workflow-0.6.0/dw/server/ui/assets/freemarker2-CtKALOjK.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/handlebars-Beb1we4G.js → diffusers_workflow-0.6.0/dw/server/ui/assets/handlebars-teGPbQUB.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/html-Yw-qdTCH.js → diffusers_workflow-0.6.0/dw/server/ui/assets/html-DfSymt9C.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/htmlMode-Dbp7eBPO.js → diffusers_workflow-0.6.0/dw/server/ui/assets/htmlMode-Cr3jQp_U.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/index-CsXMC8a8.css → diffusers_workflow-0.6.0/dw/server/ui/assets/index-3Vw6WAPW.css +1 -1
- diffusers_workflow-0.6.0/dw/server/ui/assets/index-J5rsq_M9.js +43 -0
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/javascript-BNzP7yQZ.js → diffusers_workflow-0.6.0/dw/server/ui/assets/javascript-BeSdrNYj.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/jsonMode-DxIEESAg.js → diffusers_workflow-0.6.0/dw/server/ui/assets/jsonMode-DJLaxAu8.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/liquid-CeQTai1N.js → diffusers_workflow-0.6.0/dw/server/ui/assets/liquid-D5XtXQ2P.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/lspLanguageFeatures-DKVB_UCB.js → diffusers_workflow-0.6.0/dw/server/ui/assets/lspLanguageFeatures-BJkK4mNN.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/mdx-Bczl_PHr.js → diffusers_workflow-0.6.0/dw/server/ui/assets/mdx-CIThOdKr.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/monaco-Bu2OB6wI.js → diffusers_workflow-0.6.0/dw/server/ui/assets/monaco-CYXGxb41.js +4 -4
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/python-CeTsj82v.js → diffusers_workflow-0.6.0/dw/server/ui/assets/python-BlzkzsC6.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/razor-CN7JaWqc.js → diffusers_workflow-0.6.0/dw/server/ui/assets/razor-DeSKNqSl.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/tsMode-CoSEMx-L.js → diffusers_workflow-0.6.0/dw/server/ui/assets/tsMode-BCUw0fMr.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/typescript-CcsolRTO.js → diffusers_workflow-0.6.0/dw/server/ui/assets/typescript-3N0ou1YS.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/workers-DLaycdy4.js → diffusers_workflow-0.6.0/dw/server/ui/assets/workers-C91O0to6.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/xml-QEwuyn1w.js → diffusers_workflow-0.6.0/dw/server/ui/assets/xml-DmIqin7X.js +1 -1
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/yaml-BB4U5D-R.js → diffusers_workflow-0.6.0/dw/server/ui/assets/yaml-BQg2lXI1.js +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/index.html +2 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/settings.py +9 -0
- diffusers_workflow-0.6.0/dw/shot_span_preflight.py +118 -0
- diffusers_workflow-0.6.0/dw/shots.py +420 -0
- diffusers_workflow-0.6.0/dw/slice_preflight.py +173 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/step.py +24 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/step_cache.py +283 -30
- diffusers_workflow-0.6.0/dw/step_value_checks.py +312 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/subfolders.py +3 -6
- diffusers_workflow-0.6.0/dw/task_domains.py +483 -0
- diffusers_workflow-0.6.0/dw/tasks/assess.py +854 -0
- diffusers_workflow-0.6.0/dw/tasks/audio_dynamics.py +423 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/audio_transcription.py +53 -5
- diffusers_workflow-0.6.0/dw/tasks/audio_utils.py +882 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/compose_text.py +1 -1
- diffusers_workflow-0.6.0/dw/tasks/concat_videos.py +383 -0
- diffusers_workflow-0.6.0/dw/tasks/dissolve_videos.py +309 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/gather.py +8 -4
- diffusers_workflow-0.6.0/dw/tasks/grade.py +97 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/image_utils.py +39 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/interpolate_frames.py +10 -2
- diffusers_workflow-0.6.0/dw/tasks/join_into_song.py +461 -0
- diffusers_workflow-0.6.0/dw/tasks/joins.py +581 -0
- diffusers_workflow-0.6.0/dw/tasks/loop_bed.py +850 -0
- diffusers_workflow-0.6.0/dw/tasks/pair_audio.py +367 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/segment.py +15 -4
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/select.py +14 -36
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/speech_generation.py +4 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/stabilize.py +10 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/task.py +187 -37
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/video_utils.py +127 -212
- diffusers_workflow-0.6.0/dw/tasks/voice_attribution.py +811 -0
- diffusers_workflow-0.6.0/dw/trust.py +277 -0
- diffusers_workflow-0.6.0/dw/type_helpers.py +235 -0
- diffusers_workflow-0.6.0/dw/type_references.py +267 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/validate.py +2 -1
- diffusers_workflow-0.6.0/dw/validation.py +835 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/variable_constraints.py +63 -38
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/variables.py +79 -21
- diffusers_workflow-0.6.0/dw/video_extensions.py +134 -0
- diffusers_workflow-0.6.0/dw/video_size_errors.py +114 -0
- diffusers_workflow-0.6.0/dw/vram_estimate.py +413 -0
- diffusers_workflow-0.6.0/dw/vram_inheritance.py +159 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/worker.py +278 -222
- diffusers_workflow-0.4.0b7/dw/repl_worker.py → diffusers_workflow-0.6.0/dw/worker_manager.py +40 -4
- diffusers_workflow-0.6.0/dw/worker_protocol.py +235 -0
- diffusers_workflow-0.6.0/dw/workflow.py +996 -0
- diffusers_workflow-0.6.0/dw/workflow_run.py +972 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/workflow_schema.json +15 -34
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/workflows/test.json +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/workspace.py +16 -69
- diffusers_workflow-0.6.0/dw/writers.py +376 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/assets.py +122 -20
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/authoring.py +30 -38
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/catalog.py +90 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/client.py +46 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/diagnose.py +24 -11
- diffusers_workflow-0.6.0/dw_mcp/exports.py +84 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/guides.py +3 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/media.py +78 -8
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/prompts.py +2 -1
- diffusers_workflow-0.6.0/dw_mcp/server.py +204 -0
- diffusers_workflow-0.6.0/dw_mcp/tools_authoring.py +233 -0
- diffusers_workflow-0.6.0/dw_mcp/tools_catalog.py +432 -0
- diffusers_workflow-0.6.0/dw_mcp/tools_jobs.py +231 -0
- diffusers_workflow-0.6.0/dw_mcp/tools_media.py +382 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/workspaces.py +10 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/pyproject.toml +28 -3
- diffusers_workflow-0.6.0/tests/test_admission.py +651 -0
- diffusers_workflow-0.6.0/tests/test_arch_metrics.py +183 -0
- diffusers_workflow-0.6.0/tests/test_arch_report.py +95 -0
- diffusers_workflow-0.6.0/tests/test_argument_updates.py +64 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_arguments.py +152 -49
- diffusers_workflow-0.6.0/tests/test_assemble_and_score_target_lufs.py +126 -0
- diffusers_workflow-0.6.0/tests/test_assess.py +926 -0
- diffusers_workflow-0.6.0/tests/test_assessment_rules.py +293 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_assets.py +18 -1
- diffusers_workflow-0.6.0/tests/test_attention_slicing.py +31 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_audio_utils.py +527 -70
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_best_of_n_template.py +0 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_borders.py +0 -6
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_cache_blocks.py +5 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_catalog_structure.py +105 -7
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_chain.py +26 -1
- diffusers_workflow-0.6.0/tests/test_cli.py +495 -0
- diffusers_workflow-0.6.0/tests/test_component_name_errors.py +142 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_component_pruning.py +1 -1
- diffusers_workflow-0.6.0/tests/test_component_type_errors.py +335 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_concat_videos.py +371 -6
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_config_objects.py +130 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_configuration_schema.py +4 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_device_helpers.py +56 -6
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_device_portability.py +4 -3
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_dialogue_short_voices.py +0 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_diffusion_upscale.py +1 -11
- diffusers_workflow-0.6.0/tests/test_dissolve_frame_errors.py +237 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_dissolve_videos.py +162 -1
- diffusers_workflow-0.6.0/tests/test_download_watch.py +265 -0
- diffusers_workflow-0.6.0/tests/test_dsp.py +60 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_elision.py +118 -32
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_events.py +159 -34
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_examples.py +3 -4
- diffusers_workflow-0.6.0/tests/test_find_loop_bed.py +920 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_for_each.py +2 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_gather.py +22 -82
- diffusers_workflow-0.6.0/tests/test_grade.py +265 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_h3_schedule.py +35 -7
- diffusers_workflow-0.6.0/tests/test_h3_vram_ceiling.py +250 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_host_memory.py +13 -23
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_host_memory_projection.py +47 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_hub_cache.py +133 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_image_utils.py +0 -8
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_integration.py +55 -7
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_interpolate_frames.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_introspection.py +55 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_job_history_wal.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_job_progress.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_job_warnings.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_jobs_listing.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_jobs_reused.py +2 -1
- diffusers_workflow-0.6.0/tests/test_join_into_song.py +500 -0
- diffusers_workflow-0.6.0/tests/test_library_path.py +749 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_library_sources.py +80 -24
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_list_images.py +1 -18
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_locations.py +29 -4
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_lora_alpha.py +5 -5
- diffusers_workflow-0.6.0/tests/test_lora_disable.py +174 -0
- diffusers_workflow-0.6.0/tests/test_ltx2_extend_clip.py +35 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_ltx2_ic_loras.py +70 -7
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_ltx_prompt_library.py +2 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_assets.py +266 -9
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_authoring.py +62 -20
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_catalog.py +132 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_client.py +16 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_diagnose.py +50 -59
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_exports.py +55 -16
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_guides.py +0 -16
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_media.py +111 -55
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_models.py +0 -58
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_prompts.py +3 -136
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_server.py +124 -42
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_workspaces.py +47 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_media_audio.py +4 -4
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_media_frames.py +49 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_media_info.py +209 -1
- diffusers_workflow-0.6.0/tests/test_media_layering.py +152 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mix_audio.py +19 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_model_cache.py +5 -37
- diffusers_workflow-0.6.0/tests/test_modular_output_properties.py +183 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_modular_pipeline.py +4 -4
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_modular_progress.py +21 -3
- diffusers_workflow-0.6.0/tests/test_mps_fallback_warning.py +28 -0
- diffusers_workflow-0.6.0/tests/test_mps_rope_precision.py +64 -0
- diffusers_workflow-0.6.0/tests/test_null_media.py +107 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_observed_cost.py +65 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_offload_placement.py +3 -3
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_output_references.py +0 -4
- diffusers_workflow-0.6.0/tests/test_pair_audio.py +300 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_pair_audio_fit.py +79 -9
- diffusers_workflow-0.6.0/tests/test_parallel_loading_default.py +51 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_phase_events.py +11 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_pipeline_caching.py +444 -86
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_pipeline_components.py +194 -15
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_plan.py +151 -7
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_plugin_skills.py +136 -8
- diffusers_workflow-0.6.0/tests/test_prepare_pipeline.py +150 -0
- diffusers_workflow-0.6.0/tests/test_previous_result_walker_parity.py +107 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_previous_results.py +23 -14
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_prompt_references.py +14 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_prompts.py +10 -41
- diffusers_workflow-0.6.0/tests/test_real_models.py +178 -0
- diffusers_workflow-0.6.0/tests/test_realize.py +616 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_recenter_crop.py +7 -1
- diffusers_workflow-0.6.0/tests/test_reference_sets.py +36 -0
- diffusers_workflow-0.6.0/tests/test_references.py +90 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_rerun_new_seed.py +20 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_resize_bucket.py +1 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_result.py +442 -98
- diffusers_workflow-0.6.0/tests/test_result_fps.py +189 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_result_output_naming.py +1 -1
- diffusers_workflow-0.6.0/tests/test_rule_parity.py +313 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_runs.py +451 -1
- diffusers_workflow-0.6.0/tests/test_scalar_result_validation.py +378 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_scheduler_config.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_schema.py +4 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_security.py +6 -27
- diffusers_workflow-0.6.0/tests/test_security_auth.py +451 -0
- diffusers_workflow-0.6.0/tests/test_security_decoder_bombs.py +209 -0
- diffusers_workflow-0.6.0/tests/test_security_input_caps.py +244 -0
- diffusers_workflow-0.6.0/tests/test_security_ssrf.py +772 -0
- diffusers_workflow-0.6.0/tests/test_security_symlinks.py +681 -0
- diffusers_workflow-0.6.0/tests/test_security_trust_gate.py +992 -0
- diffusers_workflow-0.6.0/tests/test_security_web_headers.py +307 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_segment.py +87 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_select.py +0 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_select_validation.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_serve_main.py +7 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server.py +943 -175
- diffusers_workflow-0.6.0/tests/test_server_assess.py +282 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_exports.py +75 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_guides.py +61 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_info.py +65 -16
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_jobs.py +235 -14
- diffusers_workflow-0.6.0/tests/test_server_library_path.py +551 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_workspaces.py +175 -44
- diffusers_workflow-0.6.0/tests/test_shaping_logs.py +57 -0
- diffusers_workflow-0.6.0/tests/test_shot_span_preflight.py +175 -0
- diffusers_workflow-0.6.0/tests/test_shots.py +1219 -0
- diffusers_workflow-0.6.0/tests/test_slice_preflight.py +189 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_speech_generation.py +0 -17
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_stabilize.py +2 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_step.py +46 -0
- diffusers_workflow-0.6.0/tests/test_step_cache.py +880 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_strip_exif_and_watermark.py +38 -12
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_task.py +20 -28
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_task_discovery.py +1 -1
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_task_domains.py +34 -5
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_task_signature_errors.py +91 -10
- diffusers_workflow-0.6.0/tests/test_template_defaults.py +59 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_template_subfolders.py +4 -23
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_tensor_image.py +0 -11
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_text_generation.py +0 -9
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_text_sections.py +7 -1
- diffusers_workflow-0.6.0/tests/test_transcribe_audio.py +260 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_type_helpers.py +2 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_validate_arguments.py +126 -0
- diffusers_workflow-0.6.0/tests/test_validation.py +415 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_variable_constraints.py +89 -2
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_variables.py +50 -1
- diffusers_workflow-0.6.0/tests/test_video_extensions.py +107 -0
- diffusers_workflow-0.6.0/tests/test_video_size_errors.py +206 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_video_utils.py +337 -9
- diffusers_workflow-0.6.0/tests/test_voice_attribution.py +784 -0
- diffusers_workflow-0.6.0/tests/test_vram_estimate.py +420 -0
- diffusers_workflow-0.6.0/tests/test_vram_inheritance.py +435 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_worker.py +85 -108
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_worker_execute.py +208 -55
- diffusers_workflow-0.6.0/tests/test_worker_job_peak_rss.py +56 -0
- diffusers_workflow-0.6.0/tests/test_worker_manager.py +210 -0
- diffusers_workflow-0.6.0/tests/test_worker_messages.py +246 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_workflow.py +293 -37
- diffusers_workflow-0.6.0/tests/test_workflow_snapshot.py +98 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_workflow_step_cache.py +526 -54
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_workflow_trust.py +161 -10
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_workspace.py +0 -5
- diffusers_workflow-0.4.0b7/dw/content_types.py +0 -105
- diffusers_workflow-0.4.0b7/dw/docs/RELEASING.md +0 -81
- diffusers_workflow-0.4.0b7/dw/docs/REPL_COMMANDS.md +0 -121
- diffusers_workflow-0.4.0b7/dw/docs/REPL_WORKER_GUIDE.md +0 -51
- diffusers_workflow-0.4.0b7/dw/media_audio.py +0 -217
- diffusers_workflow-0.4.0b7/dw/media_info.py +0 -256
- diffusers_workflow-0.4.0b7/dw/pipeline_processors/pipeline.py +0 -2289
- diffusers_workflow-0.4.0b7/dw/repl.py +0 -338
- diffusers_workflow-0.4.0b7/dw/repl_commands.py +0 -846
- diffusers_workflow-0.4.0b7/dw/result.py +0 -1585
- diffusers_workflow-0.4.0b7/dw/run.py +0 -162
- diffusers_workflow-0.4.0b7/dw/runs.py +0 -419
- diffusers_workflow-0.4.0b7/dw/scalar_result_validation.py +0 -78
- diffusers_workflow-0.4.0b7/dw/select_validation.py +0 -115
- diffusers_workflow-0.4.0b7/dw/server/app.py +0 -4160
- diffusers_workflow-0.4.0b7/dw/server/jobs.py +0 -1526
- diffusers_workflow-0.4.0b7/dw/server/ui/assets/index-DqbiZNFq.js +0 -43
- diffusers_workflow-0.4.0b7/dw/task_domains.py +0 -264
- diffusers_workflow-0.4.0b7/dw/tasks/audio_utils.py +0 -1658
- diffusers_workflow-0.4.0b7/dw/tasks/concat_videos.py +0 -237
- diffusers_workflow-0.4.0b7/dw/tasks/dissolve_videos.py +0 -215
- diffusers_workflow-0.4.0b7/dw/tasks/pair_audio.py +0 -189
- diffusers_workflow-0.4.0b7/dw/teacache.py +0 -381
- diffusers_workflow-0.4.0b7/dw/teacache_models.json +0 -99
- diffusers_workflow-0.4.0b7/dw/type_helpers.py +0 -80
- diffusers_workflow-0.4.0b7/dw/vram_estimate.py +0 -116
- diffusers_workflow-0.4.0b7/dw/workflow.py +0 -1774
- diffusers_workflow-0.4.0b7/dw/workflow_sources.py +0 -307
- diffusers_workflow-0.4.0b7/dw_mcp/exports.py +0 -43
- diffusers_workflow-0.4.0b7/dw_mcp/server.py +0 -1332
- diffusers_workflow-0.4.0b7/tests/test_argument_updates.py +0 -250
- diffusers_workflow-0.4.0b7/tests/test_cli.py +0 -219
- diffusers_workflow-0.4.0b7/tests/test_pair_audio.py +0 -117
- diffusers_workflow-0.4.0b7/tests/test_realize.py +0 -343
- diffusers_workflow-0.4.0b7/tests/test_repl_commands.py +0 -60
- diffusers_workflow-0.4.0b7/tests/test_repl_ergonomics.py +0 -113
- diffusers_workflow-0.4.0b7/tests/test_repl_hierarchical.py +0 -119
- diffusers_workflow-0.4.0b7/tests/test_repl_reorganization.py +0 -144
- diffusers_workflow-0.4.0b7/tests/test_repl_worker.py +0 -112
- diffusers_workflow-0.4.0b7/tests/test_scalar_result_validation.py +0 -103
- diffusers_workflow-0.4.0b7/tests/test_step_cache.py +0 -469
- diffusers_workflow-0.4.0b7/tests/test_teacache.py +0 -310
- diffusers_workflow-0.4.0b7/tests/test_transcribe_audio.py +0 -104
- diffusers_workflow-0.4.0b7/tests/test_workflow_sources.py +0 -174
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/LICENSE +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/MANIFEST.in +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/diffusers_workflow.egg-info/dependency_links.txt +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/diffusers_workflow.egg-info/top_level.txt +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/cache_blocks.json +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/community_pipelines/pipeline_flux_rf_inversion.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/IP_ADAPTER.md +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/LORAS.md +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/PROMPT_WEIGHTING.md +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/QUANTIZATION.md +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/docs/SECURITY_QUICKREF.md +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/host_memory.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/prompt_schema.json +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/prompt_weighting.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/__init__.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/enhancers.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/sysinfo.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/abap-08VXUWAP.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/apex-BWPQTe0t.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/azcli-Bc_sGQ0U.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/bat-i0X4ZdIN.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/bicep-B5-_aFwp.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/cameligo-DMUM7wLl.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/clojure-Cm7r79vr.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/codicon-Brq4_Ui5.ttf +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/coffee-Ba7i2nA0.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/cpp-C7h46wYY.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/csharp-BKxtCVv1.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/csp-bTuwJoIa.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/css-DIMkf-bt.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/css.worker-B3ciXF_0.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/cypher-CVaqCwHa.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/dart-onAF5SnQ.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/dockerfile-DZFCIeNp.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/ecl-D05T4iGw.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/editor-jjEx9u7D.css +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/editor.worker-q-txB4vs.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/elixir-6RTg0lbw.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/flow9-C5_-GSwl.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/fsharp-C8Ef5oNN.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/go-C-y9NEjX.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/graphql-fmXr3nnJ.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/hcl-CpzslTdj.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/html.worker-C93Ht9o9.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/ini-sBoK_t0W.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/java-BEtHBSE6.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/json.worker-B2V3pomh.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/julia-Bri6UV-V.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/kotlin-BOotOW0E.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/less-B9JPFI3C.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/lexon-CfSJPG6W.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/lua-CsQS60Ue.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/m3-D-oSqn_W.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/markdown-Cimd5fb3.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/mips-CIPQ_RoX.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/monaco--ixms01u.css +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/msdax-DauUninz.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/mysql-SOo6toE5.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/objective-c-FvmIjYaQ.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/pascal-DrH0SRf2.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/pascaligo-D-ptJ9y-.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/perl-oz_6vUea.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/pgsql-DTj74zXo.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/php-nr791fC2.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/pla-CopQ2nXW.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/postiats-43DmfD33.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/powerquery-D3hlyOfw.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/powershell-DmHpPYUd.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/protobuf-C531GsRP.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/pug-Z5eAx3Zn.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/qsharp-DkqhCAOL.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/r-BwWrilGY.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/redis-ClamHrr6.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/redshift-DT7zqm-g.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/restructuredtext-BYgofb2h.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/ruby-DezsRK8O.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/rust-DdL9SqIa.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/sb-CcwsVR0C.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/scala-DHpiXF5c.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/scheme-BeGwcela.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/scss-gp-XZpBa.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/shell-CC2rA5mh.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/solidity-BEEn4gHE.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/sophia-CRfGWb83.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/sparql-D_Lu-MrJ.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/sql-NEE52Syq.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/st-DbInun42.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/swift-Bxkupp3x.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/systemverilog-Bz4Y3fRF.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/tcl-DISqw1ZD.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/ts.worker-D7T1-Ig5.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/twig-De2hgUGE.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/typespec-B8J7ngcE.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/vb-DV3o63ZY.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/ui/assets/wgsl-DpFanUEy.js +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/server/updater.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/background_remover.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/borders.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/depth_estimator.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/diffusion_upscale.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/format_messages.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/image_to_text.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/judge.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/model_cache.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/qr_code.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/restore_faces.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/rife_model.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/tensor_image.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/text_generation.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/text_sections.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/upscale.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/tasks/zoe_depth.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/test.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw/workflows/h3_context_ir.json +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/__init__.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/__main__.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/dw_mcp/models.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/setup.cfg +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_catalog_shape.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_compose_text.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_content_types.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_depth_estimator.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_device.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_docs_links.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_h3_adapters.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_h3_context_ir.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_hf_placement.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_image_to_text.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_judge.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_kernel_availability.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_ltx2_diffusion_decode.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_mcp_main.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_prompt_library.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_prompt_parser.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_prompt_weighting.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_reference_limits.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_reference_names.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_downloads.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_server_mcp.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_subfolders.py +0 -0
- {diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0}/tests/test_updater.py +0 -0
{diffusers_workflow-0.4.0b7/diffusers_workflow.egg-info → diffusers_workflow-0.6.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffusers-workflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
|
|
5
5
|
Author: dkackman
|
|
6
6
|
License: Apache-2.0
|
|
@@ -47,7 +47,10 @@ Requires-Dist: imageio-ffmpeg>=0.6.0
|
|
|
47
47
|
Requires-Dist: av>=18.1.0
|
|
48
48
|
Requires-Dist: soundfile>=0.14.0
|
|
49
49
|
Requires-Dist: matplotlib>=3.11.1
|
|
50
|
+
Requires-Dist: pyloudnorm>=0.2.0
|
|
51
|
+
Requires-Dist: scipy>=1.18.1
|
|
50
52
|
Requires-Dist: speechbrain>=1.0.3
|
|
53
|
+
Requires-Dist: demucs>=4.1.0
|
|
51
54
|
Requires-Dist: qrcode>=8.2
|
|
52
55
|
Requires-Dist: requests>=2.34.2
|
|
53
56
|
Requires-Dist: aiohttp>=3.14.3
|
|
@@ -56,12 +59,13 @@ Requires-Dist: jsonschema>=4.26.0
|
|
|
56
59
|
Requires-Dist: concurrent-log-handler>=0.9.29
|
|
57
60
|
Requires-Dist: python-dotenv>=1.2.3
|
|
58
61
|
Requires-Dist: packaging>=26.3
|
|
62
|
+
Requires-Dist: filelock>=3.12
|
|
63
|
+
Requires-Dist: httpx>=0.28.1
|
|
59
64
|
Provides-Extra: server
|
|
60
65
|
Requires-Dist: fastapi>=0.141.1; extra == "server"
|
|
61
66
|
Requires-Dist: uvicorn[standard]>=0.52.4; extra == "server"
|
|
62
67
|
Provides-Extra: mcp
|
|
63
68
|
Requires-Dist: mcp>=2.1.1; extra == "mcp"
|
|
64
|
-
Requires-Dist: httpx>=0.28.1; extra == "mcp"
|
|
65
69
|
Provides-Extra: dev
|
|
66
70
|
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
67
71
|
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
|
|
@@ -73,6 +77,10 @@ Requires-Dist: httpx>=0.28.1; extra == "dev"
|
|
|
73
77
|
Requires-Dist: ruff>=0.15.0; extra == "dev"
|
|
74
78
|
Requires-Dist: build; extra == "dev"
|
|
75
79
|
Requires-Dist: mcp>=2.1.1; extra == "dev"
|
|
80
|
+
Requires-Dist: pylint>=3.3; extra == "dev"
|
|
81
|
+
Requires-Dist: import-linter>=2.15; extra == "dev"
|
|
82
|
+
Requires-Dist: networkx>=3.0; extra == "dev"
|
|
83
|
+
Requires-Dist: pygount>=3.2; extra == "dev"
|
|
76
84
|
Dynamic: license-file
|
|
77
85
|
|
|
78
86
|
[](https://github.com/dkackman/diffusers-workflow/actions/workflows/github-code-scanning/codeql)
|
|
@@ -85,7 +93,7 @@ diffusers-workflow wraps the [Hugging Face Diffusers library](https://github.com
|
|
|
85
93
|
in an engine that runs image, video and audio generation as jobs, and puts
|
|
86
94
|
two front ends on it: an **MCP server**, so Claude Code (or any MCP client)
|
|
87
95
|
can author, run and inspect generations; and a **web UI** for doing the same
|
|
88
|
-
by hand. A CLI
|
|
96
|
+
by hand. A CLI sits underneath for when you want neither.
|
|
89
97
|
|
|
90
98
|
**Python 3.10-3.14 | CUDA (NVIDIA) | MPS (Apple Silicon) | CPU**
|
|
91
99
|
|
|
@@ -109,8 +117,8 @@ source ./activate
|
|
|
109
117
|
.\venv\scripts\activate
|
|
110
118
|
```
|
|
111
119
|
|
|
112
|
-
`python -m dw.test`
|
|
113
|
-
accelerator was found.
|
|
120
|
+
`python -m dw.test` runs a small built-in workflow end to end - it downloads
|
|
121
|
+
SD 1.5 (a few GB) and generates one image on whichever accelerator was found.
|
|
114
122
|
|
|
115
123
|
**2. Start the engine.** Leave it running; everything else talks to it.
|
|
116
124
|
|
|
@@ -160,7 +168,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
|
|
|
160
168
|
|
|
161
169
|
## Drive it from an agent
|
|
162
170
|
|
|
163
|
-
Then just ask. The agent has
|
|
171
|
+
Then just ask. The agent has 59 tools covering the whole surface — the
|
|
164
172
|
workflow catalog, the real diffusers pipeline signatures, the job queue, the
|
|
165
173
|
gallery, the model cache:
|
|
166
174
|
|
|
@@ -199,6 +207,23 @@ and outputs — so two agents, or an agent and you in the browser, share the GPU
|
|
|
199
207
|
without saving over each other. An agent calls `use_workspace` once and the
|
|
200
208
|
rest of the session lands there.
|
|
201
209
|
|
|
210
|
+
**Feedback from a session.** At the end of a working session, ask the agent
|
|
211
|
+
what got in its way: bugs, gaps, misleading skill text, tools it reached for
|
|
212
|
+
and couldn't find. Have it file each one as an issue on
|
|
213
|
+
`dkackman/diffusers-workflow` with the `field-report` label, for example:
|
|
214
|
+
|
|
215
|
+
> File each bug or gap you hit as an issue on dkackman/diffusers-workflow
|
|
216
|
+
> with the label `field-report`.
|
|
217
|
+
|
|
218
|
+
The label marks a report as coming from real use, not from the automated test
|
|
219
|
+
loop. The agent loop (see [Agent Loop](docs/AGENT_LOOP.md)) picks the report up
|
|
220
|
+
like any other issue when you filed it yourself; a report filed under any
|
|
221
|
+
other GitHub login is parked for the maintainer to review first (relabelled
|
|
222
|
+
`owner:don` + `status:needs-approval`), since the loop must not act
|
|
223
|
+
unattended on third-party text in a public repo, and is only handed to the
|
|
224
|
+
loop, or not, after that review. The label is also what feature planning
|
|
225
|
+
reads as evidence of demand.
|
|
226
|
+
|
|
202
227
|
The complete tool reference, client configuration for other MCP hosts, and the
|
|
203
228
|
troubleshooting table: [MCP Server](docs/MCP.md). Workspaces in depth:
|
|
204
229
|
[Workspaces](docs/WORKSPACES.md).
|
|
@@ -236,16 +261,24 @@ pages and the HTTP API.
|
|
|
236
261
|
|
|
237
262
|
## The command line
|
|
238
263
|
|
|
239
|
-
|
|
264
|
+
`dw.run` is a thin client of `dw.serve`: it queues a job over HTTP, prints
|
|
265
|
+
its progress, and reports the run directory the server wrote to - start the
|
|
266
|
+
server first.
|
|
240
267
|
|
|
241
268
|
```bash
|
|
269
|
+
python -m dw.serve
|
|
242
270
|
python -m dw.run workflows/templates/text-to-image.json
|
|
243
271
|
python -m dw.run workflows/templates/text-to-image.json prompt="a cat" num_images_per_prompt=4
|
|
244
272
|
python -m dw.validate workflows/models/flux-dev.json
|
|
245
273
|
```
|
|
246
274
|
|
|
247
|
-
|
|
248
|
-
|
|
275
|
+
`dw.run` takes `WORKFLOW [name=value ...] [--server URL] [--workspace NAME]
|
|
276
|
+
[--token TOKEN]` - `--server` defaults to `DW_MCP_URL`, else
|
|
277
|
+
`http://127.0.0.1:8765`; `--token` to `DW_API_TOKEN`. Where the output lands,
|
|
278
|
+
which workspace's `prompts:`/`asset:` references resolve, and the output
|
|
279
|
+
layout are all `dw.serve` flags now (`--workspace`, `--output-dir`,
|
|
280
|
+
`--prompt-dir`, `--asset-dir`, `--output-layout` on the server) - `dw.run`
|
|
281
|
+
only says which server and which of its workspaces to run in.
|
|
249
282
|
|
|
250
283
|
## What's underneath
|
|
251
284
|
|
|
@@ -264,8 +297,8 @@ file from someone else the way you'd treat a `.py` script — see
|
|
|
264
297
|
[Trust model](docs/SECURITY.md#trust-model).
|
|
265
298
|
|
|
266
299
|
Under the hood the engine also handles: quantization (BitsAndBytes, TorchAO,
|
|
267
|
-
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
268
|
-
FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
300
|
+
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
301
|
+
(FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
269
302
|
A1111-style prompt weighting; long-video chaining with audio-driven length;
|
|
270
303
|
step-output caching, so re-running a fixed-seed workflow finishes instantly;
|
|
271
304
|
and utility tasks for upscaling, face restoration, segmentation, captioning,
|
|
@@ -281,7 +314,7 @@ frame interpolation and more.
|
|
|
281
314
|
- [Workspaces](docs/WORKSPACES.md) — Where your content lives, run directories, and several workspaces on one server
|
|
282
315
|
- [Workflow Guide](docs/WORKFLOW_GUIDE.md) — JSON structure, variables, steps, data flow
|
|
283
316
|
- [Quantization](docs/QUANTIZATION.md) — BitsAndBytes, TorchAO, GGUF, SDNQ
|
|
284
|
-
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
317
|
+
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
285
318
|
- [Fast on 24GB](docs/RECIPES_24GB.md) — Recommended speed/memory configurations per model family
|
|
286
319
|
- [LoRA](docs/LORAS.md) — Loading and stacking LoRA adapters
|
|
287
320
|
- [IP-Adapter](docs/IP_ADAPTER.md) — Image-prompt conditioning
|
|
@@ -291,8 +324,7 @@ frame interpolation and more.
|
|
|
291
324
|
|
|
292
325
|
### Reference
|
|
293
326
|
|
|
294
|
-
- [
|
|
295
|
-
- [Worker Guide](docs/REPL_WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
327
|
+
- [Worker Guide](docs/WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
296
328
|
- [Dependencies](docs/DEPENDENCIES.md) — Installation details
|
|
297
329
|
- [Security](docs/SECURITY.md) — Security model
|
|
298
330
|
- [Testing](docs/TESTING.md) — Running the test suite
|
|
@@ -8,7 +8,7 @@ diffusers-workflow wraps the [Hugging Face Diffusers library](https://github.com
|
|
|
8
8
|
in an engine that runs image, video and audio generation as jobs, and puts
|
|
9
9
|
two front ends on it: an **MCP server**, so Claude Code (or any MCP client)
|
|
10
10
|
can author, run and inspect generations; and a **web UI** for doing the same
|
|
11
|
-
by hand. A CLI
|
|
11
|
+
by hand. A CLI sits underneath for when you want neither.
|
|
12
12
|
|
|
13
13
|
**Python 3.10-3.14 | CUDA (NVIDIA) | MPS (Apple Silicon) | CPU**
|
|
14
14
|
|
|
@@ -32,8 +32,8 @@ source ./activate
|
|
|
32
32
|
.\venv\scripts\activate
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
`python -m dw.test`
|
|
36
|
-
accelerator was found.
|
|
35
|
+
`python -m dw.test` runs a small built-in workflow end to end - it downloads
|
|
36
|
+
SD 1.5 (a few GB) and generates one image on whichever accelerator was found.
|
|
37
37
|
|
|
38
38
|
**2. Start the engine.** Leave it running; everything else talks to it.
|
|
39
39
|
|
|
@@ -83,7 +83,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
|
|
|
83
83
|
|
|
84
84
|
## Drive it from an agent
|
|
85
85
|
|
|
86
|
-
Then just ask. The agent has
|
|
86
|
+
Then just ask. The agent has 59 tools covering the whole surface — the
|
|
87
87
|
workflow catalog, the real diffusers pipeline signatures, the job queue, the
|
|
88
88
|
gallery, the model cache:
|
|
89
89
|
|
|
@@ -122,6 +122,23 @@ and outputs — so two agents, or an agent and you in the browser, share the GPU
|
|
|
122
122
|
without saving over each other. An agent calls `use_workspace` once and the
|
|
123
123
|
rest of the session lands there.
|
|
124
124
|
|
|
125
|
+
**Feedback from a session.** At the end of a working session, ask the agent
|
|
126
|
+
what got in its way: bugs, gaps, misleading skill text, tools it reached for
|
|
127
|
+
and couldn't find. Have it file each one as an issue on
|
|
128
|
+
`dkackman/diffusers-workflow` with the `field-report` label, for example:
|
|
129
|
+
|
|
130
|
+
> File each bug or gap you hit as an issue on dkackman/diffusers-workflow
|
|
131
|
+
> with the label `field-report`.
|
|
132
|
+
|
|
133
|
+
The label marks a report as coming from real use, not from the automated test
|
|
134
|
+
loop. The agent loop (see [Agent Loop](docs/AGENT_LOOP.md)) picks the report up
|
|
135
|
+
like any other issue when you filed it yourself; a report filed under any
|
|
136
|
+
other GitHub login is parked for the maintainer to review first (relabelled
|
|
137
|
+
`owner:don` + `status:needs-approval`), since the loop must not act
|
|
138
|
+
unattended on third-party text in a public repo, and is only handed to the
|
|
139
|
+
loop, or not, after that review. The label is also what feature planning
|
|
140
|
+
reads as evidence of demand.
|
|
141
|
+
|
|
125
142
|
The complete tool reference, client configuration for other MCP hosts, and the
|
|
126
143
|
troubleshooting table: [MCP Server](docs/MCP.md). Workspaces in depth:
|
|
127
144
|
[Workspaces](docs/WORKSPACES.md).
|
|
@@ -159,16 +176,24 @@ pages and the HTTP API.
|
|
|
159
176
|
|
|
160
177
|
## The command line
|
|
161
178
|
|
|
162
|
-
|
|
179
|
+
`dw.run` is a thin client of `dw.serve`: it queues a job over HTTP, prints
|
|
180
|
+
its progress, and reports the run directory the server wrote to - start the
|
|
181
|
+
server first.
|
|
163
182
|
|
|
164
183
|
```bash
|
|
184
|
+
python -m dw.serve
|
|
165
185
|
python -m dw.run workflows/templates/text-to-image.json
|
|
166
186
|
python -m dw.run workflows/templates/text-to-image.json prompt="a cat" num_images_per_prompt=4
|
|
167
187
|
python -m dw.validate workflows/models/flux-dev.json
|
|
168
188
|
```
|
|
169
189
|
|
|
170
|
-
|
|
171
|
-
|
|
190
|
+
`dw.run` takes `WORKFLOW [name=value ...] [--server URL] [--workspace NAME]
|
|
191
|
+
[--token TOKEN]` - `--server` defaults to `DW_MCP_URL`, else
|
|
192
|
+
`http://127.0.0.1:8765`; `--token` to `DW_API_TOKEN`. Where the output lands,
|
|
193
|
+
which workspace's `prompts:`/`asset:` references resolve, and the output
|
|
194
|
+
layout are all `dw.serve` flags now (`--workspace`, `--output-dir`,
|
|
195
|
+
`--prompt-dir`, `--asset-dir`, `--output-layout` on the server) - `dw.run`
|
|
196
|
+
only says which server and which of its workspaces to run in.
|
|
172
197
|
|
|
173
198
|
## What's underneath
|
|
174
199
|
|
|
@@ -187,8 +212,8 @@ file from someone else the way you'd treat a `.py` script — see
|
|
|
187
212
|
[Trust model](docs/SECURITY.md#trust-model).
|
|
188
213
|
|
|
189
214
|
Under the hood the engine also handles: quantization (BitsAndBytes, TorchAO,
|
|
190
|
-
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
191
|
-
FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
215
|
+
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
216
|
+
(FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
192
217
|
A1111-style prompt weighting; long-video chaining with audio-driven length;
|
|
193
218
|
step-output caching, so re-running a fixed-seed workflow finishes instantly;
|
|
194
219
|
and utility tasks for upscaling, face restoration, segmentation, captioning,
|
|
@@ -204,7 +229,7 @@ frame interpolation and more.
|
|
|
204
229
|
- [Workspaces](docs/WORKSPACES.md) — Where your content lives, run directories, and several workspaces on one server
|
|
205
230
|
- [Workflow Guide](docs/WORKFLOW_GUIDE.md) — JSON structure, variables, steps, data flow
|
|
206
231
|
- [Quantization](docs/QUANTIZATION.md) — BitsAndBytes, TorchAO, GGUF, SDNQ
|
|
207
|
-
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
232
|
+
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
208
233
|
- [Fast on 24GB](docs/RECIPES_24GB.md) — Recommended speed/memory configurations per model family
|
|
209
234
|
- [LoRA](docs/LORAS.md) — Loading and stacking LoRA adapters
|
|
210
235
|
- [IP-Adapter](docs/IP_ADAPTER.md) — Image-prompt conditioning
|
|
@@ -214,8 +239,7 @@ frame interpolation and more.
|
|
|
214
239
|
|
|
215
240
|
### Reference
|
|
216
241
|
|
|
217
|
-
- [
|
|
218
|
-
- [Worker Guide](docs/REPL_WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
242
|
+
- [Worker Guide](docs/WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
219
243
|
- [Dependencies](docs/DEPENDENCIES.md) — Installation details
|
|
220
244
|
- [Security](docs/SECURITY.md) — Security model
|
|
221
245
|
- [Testing](docs/TESTING.md) — Running the test suite
|
{diffusers_workflow-0.4.0b7 → diffusers_workflow-0.6.0/diffusers_workflow.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffusers-workflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
|
|
5
5
|
Author: dkackman
|
|
6
6
|
License: Apache-2.0
|
|
@@ -47,7 +47,10 @@ Requires-Dist: imageio-ffmpeg>=0.6.0
|
|
|
47
47
|
Requires-Dist: av>=18.1.0
|
|
48
48
|
Requires-Dist: soundfile>=0.14.0
|
|
49
49
|
Requires-Dist: matplotlib>=3.11.1
|
|
50
|
+
Requires-Dist: pyloudnorm>=0.2.0
|
|
51
|
+
Requires-Dist: scipy>=1.18.1
|
|
50
52
|
Requires-Dist: speechbrain>=1.0.3
|
|
53
|
+
Requires-Dist: demucs>=4.1.0
|
|
51
54
|
Requires-Dist: qrcode>=8.2
|
|
52
55
|
Requires-Dist: requests>=2.34.2
|
|
53
56
|
Requires-Dist: aiohttp>=3.14.3
|
|
@@ -56,12 +59,13 @@ Requires-Dist: jsonschema>=4.26.0
|
|
|
56
59
|
Requires-Dist: concurrent-log-handler>=0.9.29
|
|
57
60
|
Requires-Dist: python-dotenv>=1.2.3
|
|
58
61
|
Requires-Dist: packaging>=26.3
|
|
62
|
+
Requires-Dist: filelock>=3.12
|
|
63
|
+
Requires-Dist: httpx>=0.28.1
|
|
59
64
|
Provides-Extra: server
|
|
60
65
|
Requires-Dist: fastapi>=0.141.1; extra == "server"
|
|
61
66
|
Requires-Dist: uvicorn[standard]>=0.52.4; extra == "server"
|
|
62
67
|
Provides-Extra: mcp
|
|
63
68
|
Requires-Dist: mcp>=2.1.1; extra == "mcp"
|
|
64
|
-
Requires-Dist: httpx>=0.28.1; extra == "mcp"
|
|
65
69
|
Provides-Extra: dev
|
|
66
70
|
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
67
71
|
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
|
|
@@ -73,6 +77,10 @@ Requires-Dist: httpx>=0.28.1; extra == "dev"
|
|
|
73
77
|
Requires-Dist: ruff>=0.15.0; extra == "dev"
|
|
74
78
|
Requires-Dist: build; extra == "dev"
|
|
75
79
|
Requires-Dist: mcp>=2.1.1; extra == "dev"
|
|
80
|
+
Requires-Dist: pylint>=3.3; extra == "dev"
|
|
81
|
+
Requires-Dist: import-linter>=2.15; extra == "dev"
|
|
82
|
+
Requires-Dist: networkx>=3.0; extra == "dev"
|
|
83
|
+
Requires-Dist: pygount>=3.2; extra == "dev"
|
|
76
84
|
Dynamic: license-file
|
|
77
85
|
|
|
78
86
|
[](https://github.com/dkackman/diffusers-workflow/actions/workflows/github-code-scanning/codeql)
|
|
@@ -85,7 +93,7 @@ diffusers-workflow wraps the [Hugging Face Diffusers library](https://github.com
|
|
|
85
93
|
in an engine that runs image, video and audio generation as jobs, and puts
|
|
86
94
|
two front ends on it: an **MCP server**, so Claude Code (or any MCP client)
|
|
87
95
|
can author, run and inspect generations; and a **web UI** for doing the same
|
|
88
|
-
by hand. A CLI
|
|
96
|
+
by hand. A CLI sits underneath for when you want neither.
|
|
89
97
|
|
|
90
98
|
**Python 3.10-3.14 | CUDA (NVIDIA) | MPS (Apple Silicon) | CPU**
|
|
91
99
|
|
|
@@ -109,8 +117,8 @@ source ./activate
|
|
|
109
117
|
.\venv\scripts\activate
|
|
110
118
|
```
|
|
111
119
|
|
|
112
|
-
`python -m dw.test`
|
|
113
|
-
accelerator was found.
|
|
120
|
+
`python -m dw.test` runs a small built-in workflow end to end - it downloads
|
|
121
|
+
SD 1.5 (a few GB) and generates one image on whichever accelerator was found.
|
|
114
122
|
|
|
115
123
|
**2. Start the engine.** Leave it running; everything else talks to it.
|
|
116
124
|
|
|
@@ -160,7 +168,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
|
|
|
160
168
|
|
|
161
169
|
## Drive it from an agent
|
|
162
170
|
|
|
163
|
-
Then just ask. The agent has
|
|
171
|
+
Then just ask. The agent has 59 tools covering the whole surface — the
|
|
164
172
|
workflow catalog, the real diffusers pipeline signatures, the job queue, the
|
|
165
173
|
gallery, the model cache:
|
|
166
174
|
|
|
@@ -199,6 +207,23 @@ and outputs — so two agents, or an agent and you in the browser, share the GPU
|
|
|
199
207
|
without saving over each other. An agent calls `use_workspace` once and the
|
|
200
208
|
rest of the session lands there.
|
|
201
209
|
|
|
210
|
+
**Feedback from a session.** At the end of a working session, ask the agent
|
|
211
|
+
what got in its way: bugs, gaps, misleading skill text, tools it reached for
|
|
212
|
+
and couldn't find. Have it file each one as an issue on
|
|
213
|
+
`dkackman/diffusers-workflow` with the `field-report` label, for example:
|
|
214
|
+
|
|
215
|
+
> File each bug or gap you hit as an issue on dkackman/diffusers-workflow
|
|
216
|
+
> with the label `field-report`.
|
|
217
|
+
|
|
218
|
+
The label marks a report as coming from real use, not from the automated test
|
|
219
|
+
loop. The agent loop (see [Agent Loop](docs/AGENT_LOOP.md)) picks the report up
|
|
220
|
+
like any other issue when you filed it yourself; a report filed under any
|
|
221
|
+
other GitHub login is parked for the maintainer to review first (relabelled
|
|
222
|
+
`owner:don` + `status:needs-approval`), since the loop must not act
|
|
223
|
+
unattended on third-party text in a public repo, and is only handed to the
|
|
224
|
+
loop, or not, after that review. The label is also what feature planning
|
|
225
|
+
reads as evidence of demand.
|
|
226
|
+
|
|
202
227
|
The complete tool reference, client configuration for other MCP hosts, and the
|
|
203
228
|
troubleshooting table: [MCP Server](docs/MCP.md). Workspaces in depth:
|
|
204
229
|
[Workspaces](docs/WORKSPACES.md).
|
|
@@ -236,16 +261,24 @@ pages and the HTTP API.
|
|
|
236
261
|
|
|
237
262
|
## The command line
|
|
238
263
|
|
|
239
|
-
|
|
264
|
+
`dw.run` is a thin client of `dw.serve`: it queues a job over HTTP, prints
|
|
265
|
+
its progress, and reports the run directory the server wrote to - start the
|
|
266
|
+
server first.
|
|
240
267
|
|
|
241
268
|
```bash
|
|
269
|
+
python -m dw.serve
|
|
242
270
|
python -m dw.run workflows/templates/text-to-image.json
|
|
243
271
|
python -m dw.run workflows/templates/text-to-image.json prompt="a cat" num_images_per_prompt=4
|
|
244
272
|
python -m dw.validate workflows/models/flux-dev.json
|
|
245
273
|
```
|
|
246
274
|
|
|
247
|
-
|
|
248
|
-
|
|
275
|
+
`dw.run` takes `WORKFLOW [name=value ...] [--server URL] [--workspace NAME]
|
|
276
|
+
[--token TOKEN]` - `--server` defaults to `DW_MCP_URL`, else
|
|
277
|
+
`http://127.0.0.1:8765`; `--token` to `DW_API_TOKEN`. Where the output lands,
|
|
278
|
+
which workspace's `prompts:`/`asset:` references resolve, and the output
|
|
279
|
+
layout are all `dw.serve` flags now (`--workspace`, `--output-dir`,
|
|
280
|
+
`--prompt-dir`, `--asset-dir`, `--output-layout` on the server) - `dw.run`
|
|
281
|
+
only says which server and which of its workspaces to run in.
|
|
249
282
|
|
|
250
283
|
## What's underneath
|
|
251
284
|
|
|
@@ -264,8 +297,8 @@ file from someone else the way you'd treat a `.py` script — see
|
|
|
264
297
|
[Trust model](docs/SECURITY.md#trust-model).
|
|
265
298
|
|
|
266
299
|
Under the hood the engine also handles: quantization (BitsAndBytes, TorchAO,
|
|
267
|
-
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
268
|
-
FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
300
|
+
GGUF, SDNQ, optimum-quanto); inference acceleration
|
|
301
|
+
(FirstBlockCache, FasterCache, MagCache, TaylorSeerCache); LoRA and IP-Adapter;
|
|
269
302
|
A1111-style prompt weighting; long-video chaining with audio-driven length;
|
|
270
303
|
step-output caching, so re-running a fixed-seed workflow finishes instantly;
|
|
271
304
|
and utility tasks for upscaling, face restoration, segmentation, captioning,
|
|
@@ -281,7 +314,7 @@ frame interpolation and more.
|
|
|
281
314
|
- [Workspaces](docs/WORKSPACES.md) — Where your content lives, run directories, and several workspaces on one server
|
|
282
315
|
- [Workflow Guide](docs/WORKFLOW_GUIDE.md) — JSON structure, variables, steps, data flow
|
|
283
316
|
- [Quantization](docs/QUANTIZATION.md) — BitsAndBytes, TorchAO, GGUF, SDNQ
|
|
284
|
-
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
317
|
+
- [Inference Acceleration](docs/ACCELERATION.md) — torch.compile, FirstBlockCache, MagCache, TaylorSeer
|
|
285
318
|
- [Fast on 24GB](docs/RECIPES_24GB.md) — Recommended speed/memory configurations per model family
|
|
286
319
|
- [LoRA](docs/LORAS.md) — Loading and stacking LoRA adapters
|
|
287
320
|
- [IP-Adapter](docs/IP_ADAPTER.md) — Image-prompt conditioning
|
|
@@ -291,8 +324,7 @@ frame interpolation and more.
|
|
|
291
324
|
|
|
292
325
|
### Reference
|
|
293
326
|
|
|
294
|
-
- [
|
|
295
|
-
- [Worker Guide](docs/REPL_WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
327
|
+
- [Worker Guide](docs/WORKER_GUIDE.md) — GPU persistence and troubleshooting
|
|
296
328
|
- [Dependencies](docs/DEPENDENCIES.md) — Installation details
|
|
297
329
|
- [Security](docs/SECURITY.md) — Security model
|
|
298
330
|
- [Testing](docs/TESTING.md) — Running the test suite
|