griptape-nodes 0.52.0__tar.gz → 0.53.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.
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/PKG-INFO +2 -1
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/pyproject.toml +2 -1
- griptape_nodes-0.53.0/src/griptape_nodes/__init__.py +21 -0
- griptape_nodes-0.53.0/src/griptape_nodes/__main__.py +6 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/app/api.py +1 -12
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/app/app.py +256 -209
- griptape_nodes-0.53.0/src/griptape_nodes/cli/__init__.py +1 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/__init__.py +1 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/config.py +71 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/engine.py +80 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/init.py +548 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/libraries.py +90 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/commands/self.py +117 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/main.py +46 -0
- griptape_nodes-0.53.0/src/griptape_nodes/cli/shared.py +84 -0
- griptape_nodes-0.53.0/src/griptape_nodes/common/__init__.py +1 -0
- griptape_nodes-0.53.0/src/griptape_nodes/common/directed_graph.py +55 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/storage/local_storage_driver.py +7 -2
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/core_types.py +60 -2
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/node_types.py +38 -24
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/machines/control_flow.py +86 -22
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/machines/fsm.py +10 -1
- griptape_nodes-0.53.0/src/griptape_nodes/machines/parallel_resolution.py +570 -0
- griptape_nodes-0.52.0/src/griptape_nodes/machines/node_resolution.py → griptape_nodes-0.53.0/src/griptape_nodes/machines/sequential_resolution.py +22 -51
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/mcp_server/server.py +1 -1
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/base_events.py +2 -2
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/node_events.py +4 -3
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/griptape_nodes.py +25 -12
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/agent_manager.py +9 -5
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +3 -1
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/context_manager.py +6 -5
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/flow_manager.py +117 -204
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py +1 -1
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_manager.py +35 -25
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/node_manager.py +81 -199
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/object_manager.py +11 -5
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/os_manager.py +24 -9
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +8 -4
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/settings.py +32 -1
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +8 -3
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/sync_manager.py +8 -5
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +110 -122
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/add_param_button.py +1 -1
- griptape_nodes-0.53.0/src/griptape_nodes/traits/button.py +231 -0
- griptape_nodes-0.53.0/src/griptape_nodes/traits/color_picker.py +66 -0
- griptape_nodes-0.53.0/src/griptape_nodes/traits/traits.json +8 -0
- griptape_nodes-0.52.0/src/griptape_nodes/__init__.py +0 -958
- griptape_nodes-0.52.0/src/griptape_nodes/traits/button.py +0 -21
- griptape_nodes-0.52.0/src/griptape_nodes/traits/traits.json +0 -4
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/README.md +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/app/.python-version +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/app/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/app/watch.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/bootstrap/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/drivers/storage/storage_backend.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/connections.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/flow.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/exe_types/type_validator.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/machines/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/mcp_server/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/mcp_server/ws_request_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/node_library/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/node_library/advanced_node_library.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/node_library/library_registry.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/py.typed +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/agent_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/sync_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/variable_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_fsm.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/base.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/github.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/local_file.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/package.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/session_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/variable_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/retained_mode.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/utils/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/utils/engine_identity.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/utils/name_generator.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/retained_mode/variable_types.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/clamp.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/compare.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/compare_images.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/file_system_picker.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/minmax.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/options.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/slider.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/traits/trait_registry.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/updater/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/updater/__main__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/async_utils.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/dict_utils.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/image_preview.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/metaclasses.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/uv_utils.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/utils/version_utils.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/versions/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/workflow_versions/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py +0 -0
- {griptape_nodes-0.52.0 → griptape_nodes-0.53.0}/src/griptape_nodes/version_compatibility/workflow_versions/v0_7_0/local_executor_argument_addition.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: griptape-nodes
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.53.0
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Requires-Dist: griptape>=1.8.2
|
|
6
6
|
Requires-Dist: pydantic>=2.10.6
|
|
@@ -19,6 +19,7 @@ Requires-Dist: mcp[ws]>=1.10.1
|
|
|
19
19
|
Requires-Dist: binaryornot>=0.4.4
|
|
20
20
|
Requires-Dist: pillow>=11.3.0
|
|
21
21
|
Requires-Dist: watchfiles>=1.1.0
|
|
22
|
+
Requires-Dist: typer>=0.15.0
|
|
22
23
|
Requires-Dist: austin-dist>=3.7.0 ; extra == 'profiling'
|
|
23
24
|
Requires-Python: >=3.12.0, <3.13
|
|
24
25
|
Provides-Extra: profiling
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "griptape-nodes"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.53.0"
|
|
4
4
|
description = "Add your description here"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12.0, <3.13"
|
|
@@ -23,6 +23,7 @@ dependencies = [
|
|
|
23
23
|
"binaryornot>=0.4.4",
|
|
24
24
|
"pillow>=11.3.0",
|
|
25
25
|
"watchfiles>=1.1.0",
|
|
26
|
+
"typer>=0.15.0",
|
|
26
27
|
]
|
|
27
28
|
|
|
28
29
|
[project.optional-dependencies]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Griptape Nodes package."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def main() -> None:
|
|
8
|
+
"""Main entry point for the Griptape Nodes CLI."""
|
|
9
|
+
# Hack to make paths "just work". # noqa: FIX004
|
|
10
|
+
# Without this, packages like `nodes` don't properly import.
|
|
11
|
+
# Long term solution could be to make `nodes` a proper src-layout package
|
|
12
|
+
# but current engine relies on importing files rather than packages.
|
|
13
|
+
sys.path.append(str(Path.cwd()))
|
|
14
|
+
|
|
15
|
+
# Import and run the new CLI
|
|
16
|
+
from griptape_nodes.cli.main import app
|
|
17
|
+
|
|
18
|
+
app()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
__all__ = ["main"]
|
|
@@ -141,17 +141,6 @@ async def _delete_static_file(file_path: str, static_directory: Annotated[Path,
|
|
|
141
141
|
return {"message": f"File {file_path} deleted successfully"}
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
@app.post("/engines/request")
|
|
145
|
-
async def _create_event(request: Request) -> None:
|
|
146
|
-
"""Create event using centralized event utilities."""
|
|
147
|
-
from .app import _process_api_event
|
|
148
|
-
|
|
149
|
-
body = await request.json()
|
|
150
|
-
|
|
151
|
-
# Use centralized event processing
|
|
152
|
-
await _process_api_event(body)
|
|
153
|
-
|
|
154
|
-
|
|
155
144
|
def _setup_app(static_directory: Path) -> None:
|
|
156
145
|
"""Setup FastAPI app with middleware and static files."""
|
|
157
146
|
global static_dir # noqa: PLW0603
|
|
@@ -179,7 +168,7 @@ def _setup_app(static_directory: Path) -> None:
|
|
|
179
168
|
)
|
|
180
169
|
|
|
181
170
|
|
|
182
|
-
def
|
|
171
|
+
def start_static_server(static_directory: Path) -> None:
|
|
183
172
|
"""Run uvicorn server synchronously using uvicorn.run."""
|
|
184
173
|
# Setup the FastAPI app
|
|
185
174
|
_setup_app(static_directory)
|