New to Claude Skills? Learn how to install them →

microsoft on GitHub

Python on Azure App Service

OfficialFree

Effortlessly deploy Python apps to Azure App Service.

by microsoft1.4k stars on microsoft/azure-skills
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Python on Azure App Service does

The Python on Azure App Service skill streamlines the deployment of Python applications built with Flask, Django, or FastAPI to Azure App Service on Linux. This skill automates the creation of necessary resources such as resource groups, plans, and web apps if they do not already exist. It is particularly useful for developers looking to deploy their Python applications quickly and efficiently without needing to manually configure Azure resources. The skill is designed to work with Python 3.14 and leverages Azure's infrastructure to ensure that your application is properly set up for deployment.

This skill operates in a straightforward workflow that minimizes user interaction. It intelligently derives defaults for resource group names, plans, and regions, only requiring the user to specify the app name. The skill can automatically detect the framework being used and chooses the appropriate deployment path based on the presence of an azure.yaml file. This ensures that developers can focus on their code rather than the underlying infrastructure, making it ideal for those who want to deploy their applications with minimal fuss.

However, it is important to note that this skill is specifically tailored for Python applications and should not be used for deploying container apps, functions, or non-Python applications. For more complex infrastructure setups involving virtual networks or key vaults, users are advised to utilize the azure-prepare skill. The skill also includes error handling guidance, allowing users to troubleshoot common deployment issues effectively.

In summary, the Python on Azure App Service skill is a valuable tool for developers who need to deploy their Python web applications to Azure quickly and without the overhead of manual configuration. It abstracts away much of the complexity involved in Azure deployments, making it accessible for both experienced and novice developers alike.

When to use it

Use this skill when you want to deploy a Python web application to Azure App Service with minimal setup and configuration.

When not to use it

Avoid this skill if you are deploying non-Python applications, container apps, or require complex infrastructure setups.

What you can build with it

Deploying a Flask Application

Quickly deploy a Flask application to Azure App Service without manual resource setup.

Setting Up a Django Project

Easily configure and deploy a new Django project to Azure with minimal input.

FastAPI Application Deployment

Deploy a FastAPI application seamlessly, leveraging Azure's infrastructure for quick setup.

How to install Python on Azure App Service

View source

1. Install with the skills CLI

npx skills add microsoft/azure-skills/python-appservice-deploy --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by microsoft

Python on Azure App Service — Code Deploy

Deploys Python (Flask, Django, FastAPI, generic) code to Azure App Service Linux (P0v3, Python 3.14). Creates RG + Plan + Web App if missing. Hand off to azure-prepare for VNet, Key Vault, databases, or IaC.

MCP tools used: mcp_azure_mcp_subscription_list, mcp_azure_mcp_group_list, mcp_azure_mcp_appservice, mcp_azure_mcp_azd (when azure.yaml is present).

Workflow

  1. Resolve context — smart defaults, minimal prompts. Only the app name is interactive; RG (<app>-rg), Plan (<app>-plan), region (current az default or eastus2), subscription are derived. create-app.md §1.
  2. Detect framework (advisory, never blocks). detect.md.
  3. Choose pathazure.yaml host: appservice → deploy-azd.md; else deploy-azcli.md.
  4. Ensure RG → Plan (P0v3 --is-linux) → Web App (--runtime "PYTHON:3.14") exist. On transient ARM errors, follow transient-retry.md. create-app.md.
  5. Set startup — Flask/Django: none (Oryx auto-detects). FastAPI: always python -m uvicorn main:app --host 0.0.0.0. Other: warn. startup-commands.md.
  6. Set SCM_DO_BUILD_DURING_DEPLOYMENT=true.
  7. Deployazd deploy or az webapp deploy --type zip --track-status false.
  8. STOP. Print the post-deploy message (post-deploy-message.md) and end the turn.

Hard rules

  • NO POST-DEPLOY VERIFICATION — after deploy returns, do not run az webapp log tail, curl, Invoke-WebRequest, or any health probe. App Service needs 2–3 min to warm; a quiet log or early 5xx is not failure.
  • SHELL SAFETY — for --runtime always use "PYTHON:3.14" (colon). Never "PYTHON|3.14" (pipe is a shell operator).
  • NEVER az webapp up — deprecated. Use Step 7 commands.
  • URL FORMAT — present endpoints as https://... URLs.

Error Handling

See errors.md for the full symptom → cause → fix matrix. Quick triage: missing plan/app → re-run Step 4; container ping timeout on 8000 → fix startup (Step 5); ModuleNotFoundError after deploy → ensure Step 6 ran, redeploy.

Frequently asked questions about Python on Azure App Service

Similar skills