
Python on Azure App Service
OfficialFreeEffortlessly deploy Python apps to Azure App Service.
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 source1. Install with the skills CLI
npx skills add microsoft/azure-skills/python-appservice-deploy --agent claude-code2. 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 microsoftPython 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
- Resolve context — smart defaults, minimal prompts. Only the app name is interactive; RG (
<app>-rg), Plan (<app>-plan), region (currentazdefault oreastus2), subscription are derived. create-app.md §1. - Detect framework (advisory, never blocks). detect.md.
- Choose path —
azure.yamlhost: appservice → deploy-azd.md; else deploy-azcli.md. - Ensure RG → Plan (
P0v3 --is-linux) → Web App (--runtime "PYTHON:3.14") exist. On transient ARM errors, follow transient-retry.md. create-app.md. - 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. - Set
SCM_DO_BUILD_DURING_DEPLOYMENT=true. - Deploy —
azd deployoraz webapp deploy --type zip --track-status false. - 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
--runtimealways 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
Python PyPI Package Builder
Streamline the process of creating and publishing Python packages.
Minecraft Plugin Development
Streamline your Minecraft server plugin creation.
MCP Server Builder
Easily build .NET MCP servers with the latest standards.
CommunityToolkit.Mvvm Messenger
Decoupled communication for ViewModels in .NET applications.
MVVM Toolkit DI
Streamline ViewModel integration with Dependency Injection in .NET.
MCP Apps Builder
Essential guidelines for MCP server development.
