Python on Azure App Service — Code Deploy
SkillCloud & infraLets your agent deploy Python Flask, Django, or FastAPI code to Azure App Service.
Use Python on Azure App Service — Code Deploy in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Python on Azure App Service — Code Deploy and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Python on Azure App Service skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform/Bicep/IaC, full infra, use azure-prepare.
What this skill tells your AI
The instructions your AI receives, as published by microsoft/skills in .github/plugins/azure-skills/skills/python-appservice-deploy/SKILL.md and read by Ahel’s review.
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.
Signals
- GitHub stars
- 3k
- Forks
- 351
- Last commit
- Sep 2026
Ahel recommends instead
Advanced
- Item type
- skill
- Key
python-appservice-deploy-2- Source
- github.com/microsoft/skills
More in Cloud & infra
Skill · vercel-labs
More in Cloud & infraweb-design-guidelines
Skill · vercel-labs
More in Cloud & infraturborepo
Skill · vercel
More in Cloud & inframicrosoft-foundry
Skill · microsoft
More in Cloud & infraazure-diagnostics
Skill · microsoft
More in Cloud & infrauncloud
Skill · affaan-m
More in Cloud & infra