From db42c42932548360da032857bbd32d7daa109b0b Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 17:02:48 +1000 Subject: [PATCH] Chore: lock python-multipart (declared but never locked), launch configs uv.lock drifted from pyproject when live capture added python-multipart; uv run resynced it. launch.json gains festifun-web-dist (uv + http.server over frontend/dist) for sandboxed sessions where node/npm can't start. Co-Authored-By: Claude Fable 5 --- .claude/launch.json | 30 ++++++++++++++++++++++++++++-- uv.lock | 11 +++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/.claude/launch.json b/.claude/launch.json index 09f1751..1728d3c 100644 --- a/.claude/launch.json +++ b/.claude/launch.json @@ -4,16 +4,42 @@ { "name": "festifun-api", "runtimeExecutable": "uv", - "runtimeArgs": ["run", "python", "-m", "festival4d", "serve"], + "runtimeArgs": [ + "run", + "python", + "-m", + "festival4d", + "serve" + ], "port": 8000, "autoPort": false }, { "name": "festifun-web", "runtimeExecutable": "npm", - "runtimeArgs": ["run", "dev", "--prefix", "frontend"], + "runtimeArgs": [ + "run", + "dev", + "--prefix", + "frontend" + ], "port": 5173, "autoPort": false + }, + { + "name": "festifun-web-dist", + "runtimeExecutable": "uv", + "runtimeArgs": [ + "run", + "python", + "-m", + "http.server", + "5174", + "--directory", + "/Users/m3ultra/Documents/festifun/frontend/dist" + ], + "port": 5174, + "autoPort": false } ] } diff --git a/uv.lock b/uv.lock index 591a44f..c4b2d1d 100644 --- a/uv.lock +++ b/uv.lock @@ -441,6 +441,7 @@ dependencies = [ { name = "openai" }, { name = "opencv-python-headless" }, { name = "pydantic" }, + { name = "python-multipart" }, { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "soundfile" }, @@ -464,6 +465,7 @@ requires-dist = [ { name = "opencv-python-headless", specifier = ">=4.9" }, { name = "pydantic", specifier = ">=2.6" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.0" }, + { name = "python-multipart", specifier = ">=0.0.9" }, { name = "scipy", specifier = ">=1.11" }, { name = "soundfile", specifier = ">=0.12" }, { name = "sqlalchemy", specifier = ">=2.0" }, @@ -1276,6 +1278,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, ] +[[package]] +name = "python-multipart" +version = "0.0.32" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/42/55c32bb9b12693c092ad250a0e82edb5b31ddeda6eb772de5f308b3804ad/python_multipart-0.0.32.tar.gz", hash = "sha256:be54b7f3fa167bb83e4fcd936b887b708f4e57fe75911c02aebf53efaf8d938e", size = 46881, upload-time = "2026-06-04T16:18:58.647Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl", hash = "sha256:ff6d3f776f16878c894e52e107296ffc890e913c611b1a4ec6c44e2821fe2e23", size = 30042, upload-time = "2026-06-04T16:18:57.319Z" }, +] + [[package]] name = "pyyaml" version = "6.0.3"