[refactor]: move interleave_thinker under fastvideo.workflows (was wheel-leaking top-level apps)

This commit is contained in:
SolitaryThinker
2026-07-05 14:39:22 -07:00
parent 7cfa512123
commit 649af98bf7
14 changed files with 30 additions and 30 deletions
-2
View File
@@ -1,2 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
"""Application-level integrations built on top of FastVideo."""
+3 -3
View File
@@ -2,8 +2,8 @@
This directory contains a small Python example for running an application-level
InterleaveThinker-style image generation trace on top of FastVideo. The helper
code lives under `apps/interleave_thinker` so it stays separate from FastVideo's
core generation package.
code lives under `fastvideo/workflows/interleave_thinker` and is importable as
`fastvideo.workflows.interleave_thinker`.
## Single-Prompt Trace
@@ -39,7 +39,7 @@ added later.
The app helper can also use closed-source Google image models through lazy
wrappers when you instantiate the backend directly:
- `apps.interleave_thinker.generator.NanoBananaImageGeneratorBackend`
- `fastvideo.workflows.interleave_thinker.generator.NanoBananaImageGeneratorBackend`
implements the same image backend protocol as the local FastVideo generator.
Install the optional SDK and provide a key only when using these API backends:
@@ -18,7 +18,7 @@ from fastvideo.api.schema import (
OffloadConfig,
PipelineSelection,
)
from apps.interleave_thinker import (
from fastvideo.workflows.interleave_thinker import (
AcceptAllCritic,
FastVideoImageGeneratorBackend,
InterleaveOrchestrator,
+2
View File
@@ -0,0 +1,2 @@
# SPDX-License-Identifier: Apache-2.0
"""Reusable multi-step generation workflows."""
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
"""InterleaveThinker example app helpers."""
from apps.interleave_thinker.config import (
from fastvideo.workflows.interleave_thinker.config import (
InterleaveCriticConfig,
InterleaveImageBackendConfig,
InterleavePlannerConfig,
@@ -10,7 +10,7 @@ from apps.interleave_thinker.config import (
load_interleave_run_config,
resolve_interleave_instruction,
)
from apps.interleave_thinker.evaluation import (
from fastvideo.workflows.interleave_thinker.evaluation import (
InterleavePromptItem,
InterleavePromptResult,
InterleavePromptSetSummary,
@@ -20,22 +20,22 @@ from apps.interleave_thinker.evaluation import (
run_interleave_prompt_set_config,
save_prompt_set_summary,
)
from apps.interleave_thinker.generator import (
from fastvideo.workflows.interleave_thinker.generator import (
FastVideoImageGeneratorBackend,
ImageGeneratorBackend,
)
from apps.interleave_thinker.orchestrator import (
from fastvideo.workflows.interleave_thinker.orchestrator import (
AcceptAllCritic,
CriticProvider,
InterleaveOrchestrator,
PlannerProvider,
SinglePromptPlanner,
)
from apps.interleave_thinker.runner import (
from fastvideo.workflows.interleave_thinker.runner import (
InterleaveRunResult,
run_interleave_config,
)
from apps.interleave_thinker.schema import (
from fastvideo.workflows.interleave_thinker.schema import (
CriticDecision,
CriticInput,
GeneratedImage,
@@ -45,11 +45,11 @@ from apps.interleave_thinker.schema import (
PlannedInterleaveStep,
PlannerInput,
)
from apps.interleave_thinker.trace import (
from fastvideo.workflows.interleave_thinker.trace import (
save_trace,
trace_to_dict,
)
from apps.interleave_thinker.trace_eval import (
from fastvideo.workflows.interleave_thinker.trace_eval import (
InterleaveTraceEvaluationSummary,
InterleaveTraceMetrics,
discover_interleave_trace_paths,
@@ -11,14 +11,14 @@ from dataclasses import dataclass, field
from pathlib import Path
from typing import Any
from apps.interleave_thinker.generator import ImageGeneratorBackend
from apps.interleave_thinker.runner import (
from fastvideo.workflows.interleave_thinker.generator import ImageGeneratorBackend
from fastvideo.workflows.interleave_thinker.runner import (
build_critic,
build_image_backend,
build_planner,
)
from apps.interleave_thinker.schema import InterleaveTrace
from apps.interleave_thinker.trace import save_trace
from fastvideo.workflows.interleave_thinker.schema import InterleaveTrace
from fastvideo.workflows.interleave_thinker.trace import save_trace
@dataclass(frozen=True)
@@ -208,7 +208,7 @@ def _build_prompt_set_orchestrator(
config: Any,
image_backend: ImageGeneratorBackend,
) -> Any:
from apps.interleave_thinker.orchestrator import InterleaveOrchestrator
from fastvideo.workflows.interleave_thinker.orchestrator import InterleaveOrchestrator
return InterleaveOrchestrator(
planner=build_planner(config.planner),
@@ -19,7 +19,7 @@ from fastvideo.api.compat import (
)
from fastvideo.api.results import GenerationResult
from fastvideo.api.schema import GenerationRequest
from apps.interleave_thinker.schema import (
from fastvideo.workflows.interleave_thinker.schema import (
GeneratedImage,
InterleaveEditRequest,
)
@@ -6,11 +6,11 @@ from __future__ import annotations
from collections.abc import Sequence
from typing import Any, Protocol
from apps.interleave_thinker.generator import (
from fastvideo.workflows.interleave_thinker.generator import (
ImageGeneratorBackend,
encode_file_to_base64,
)
from apps.interleave_thinker.schema import (
from fastvideo.workflows.interleave_thinker.schema import (
CriticDecision,
CriticInput,
GeneratedImage,
@@ -7,27 +7,27 @@ from collections.abc import Callable
from dataclasses import dataclass
from pathlib import Path
from apps.interleave_thinker.config import (
from fastvideo.workflows.interleave_thinker.config import (
InterleaveCriticConfig,
InterleaveImageBackendConfig,
InterleavePlannerConfig,
InterleaveRunConfig,
resolve_interleave_instruction,
)
from apps.interleave_thinker.generator import (
from fastvideo.workflows.interleave_thinker.generator import (
FastVideoImageGeneratorBackend,
ImageGeneratorBackend,
NanoBananaImageGeneratorBackend,
)
from apps.interleave_thinker.orchestrator import (
from fastvideo.workflows.interleave_thinker.orchestrator import (
AcceptAllCritic,
CriticProvider,
InterleaveOrchestrator,
PlannerProvider,
SinglePromptPlanner,
)
from apps.interleave_thinker.schema import InterleaveTrace
from apps.interleave_thinker.trace import save_trace
from fastvideo.workflows.interleave_thinker.schema import InterleaveTrace
from fastvideo.workflows.interleave_thinker.trace import save_trace
@dataclass(frozen=True)
@@ -7,7 +7,7 @@ import json
from pathlib import Path
from typing import Any
from apps.interleave_thinker.schema import (
from fastvideo.workflows.interleave_thinker.schema import (
CriticDecision,
GeneratedImage,
InterleaveAttempt,
+2 -2
View File
@@ -195,13 +195,13 @@ dreamverse-mock-server = "dreamverse.mock_server:cli"
[tool.setuptools.packages.find]
where = [".", "apps/dreamverse"]
exclude = ["assets*", "docker*", "docs", "scripts*", "apps.dreamverse*", "dreamverse.tests*"]
exclude = ["assets*", "docker*", "docs", "scripts*", "apps*", "dreamverse.tests*"]
[tool.setuptools.package-data]
dreamverse = ["prompts/*.md"]
[tool.wheel]
exclude = ["assets*", "docker*", "docs", "scripts*", "apps/dreamverse*"]
exclude = ["assets*", "docker*", "docs", "scripts*", "apps*"]
[tool.pytest.ini_options]
markers = [