Skip to content

Update func publish to support uv #4705

@lilyjma

Description

@lilyjma

Description

Problem Statement

Python Functions apps, including custom handlers, now support uv. This means instead of requirements.txt, projects can have pyproject.toml instead.

Today the following is returned when the project doesn't have requrirements.txt:

local.settings.json found in root directory (/Users/lily/Desktop/Functions/mcp/functions-hosting/test/mcp-sdk-functions-hosting-python).
Resolving worker runtime to 'python'.
Local python version '3.10.11' is different from the version expected for your deployed Function App. This may result in 'ModuleNotFound' errors in Azure Functions. Please create a Python Function App for version 3.10 or change the virtual environment on your local machine to match '3.12'.
Getting site publishing info...
[2025-10-23T22:23:04.971Z] Starting the function app deployment...
[2025-10-23T22:23:04.974Z] Creating archive for current directory...
requirements.txt is not found. requirements.txt is required for python function apps. Please make sure to generate one before publishing.

Requirements

  • The func azure functionapp publish <APP_NAME> command needs to be updated so it doesn't fail because of missing requirements.txt. Specifically, a Python project can have pyproject.toml instead of requirements.txt.
  • When Python project has neither, log a message saying that either requirements.txt or pyproject.toml needs to be present

Acceptance Criteria

  • Any Python Function apps, including custom handlers, can deploy if it has either requirements.txt or pyproject.toml when using the func .. publish command
  • If neither file is present, deployment fails with message stating such

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions