Skip to content

fix(deps): drop phantom starlette==1.0.0 pin, regenerate lockfile#54

Merged
datasciencemonkey merged 1 commit into
mainfrom
fix/starlette-deploy-conflict
May 19, 2026
Merged

fix(deps): drop phantom starlette==1.0.0 pin, regenerate lockfile#54
datasciencemonkey merged 1 commit into
mainfrom
fix/starlette-deploy-conflict

Conversation

@datasciencemonkey
Copy link
Copy Markdown
Collaborator

@datasciencemonkey datasciencemonkey commented May 19, 2026

Summary

  • App deploys on serverless workspaces have been failing at install time with:

    Error installing packages. The conflict is caused by:
    The user requested starlette==1.0.0 / fastapi 0.136.1 depends on starlette>=0.46.0 / mcp 1.27.1 depends on starlette>=0.27 / mlflow-skinny 3.12.0 depends on starlette<1 / no matching distributions available for starlette==1.0.0

  • requirements.txt was pinning starlette==1.0.0 — a version that doesn't exist on PyPI. The lockfile was last generated before chore(deps): bump mlflow-skinny from 3.11.1 to 3.12.0 #47 bumped mlflow-skinny to 3.12.0, which added a new starlette<1 cap on top of the conflict.
  • Re-ran uv pip compile pyproject.toml -o requirements.txt. Resolver settles on starlette==0.52.1, which satisfies fastapi (≥0.46.0), mcp (≥0.27), and mlflow-skinny (<1).

Diff

Three lines: starlette==1.0.0starlette==0.52.1, plus mlflow-skinny added to starlette's via list (it now pulls starlette transitively under the new cap), plus pyproject.toml shows up under importlib-metadata's via list (we already have an explicit <8.8 cap there).

Test plan

  • uv pip compile pyproject.toml -o requirements.txt succeeds with exclude-newer = "7 days" (today: 2026-05-19)
  • uv pip install -r requirements.txt into a clean Python 3.11 venv installs all 67 packages with no conflicts
  • uv pip check reports "All installed packages are compatible"
  • Imports verified: starlette, fastapi, mlflow, mcp, flask, flask_socketio, databricks.sdk all load
  • Redeploy on a serverless workspace and confirm the app reaches RUNNING

The previous requirements.txt pinned starlette==1.0.0 (not a real PyPI
release). After mlflow-skinny 3.12.0 landed (#47) with its starlette<1
cap, deploys started failing at install time with an unresolvable
conflict (fastapi>=0.46.0, mcp>=0.27, mlflow-skinny<1) plus
"no matching distributions available for starlette==1.0.0".

Re-ran `uv pip compile pyproject.toml -o requirements.txt` — resolver
picks starlette==0.52.1, which satisfies all three constraints.
Verified by installing the full lockfile into a clean Python 3.11 venv
(matches the Databricks Apps runtime) and running `uv pip check`:
all 67 packages compatible.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant