Skip to main content

Diagnostic tool for Azure Functions Python v2 programming model

Project description

Azure Functions Doctor

PyPI Python Version CI Release Security Scans codecov pre-commit Docs License: MIT

Read this in: 한국어 | 日本語 | 简体中文

Azure Functions Doctor is a diagnostic CLI for projects built on the Azure Functions Python v2 programming model.

It checks a local project for common issues such as:

  • unsupported Python versions
  • missing host.json or requirements.txt
  • missing azure-functions dependency
  • missing virtual environments
  • missing Azure Functions Core Tools
  • incomplete local development setup

Why Use It

Setting up an Azure Functions Python project involves multiple configuration files, dependencies, and tooling. Missing any one of them leads to confusing runtime errors. azure-functions-doctor checks your project against a curated ruleset and reports issues before they reach production.

Scope

This repository targets the decorator-based Azure Functions Python v2 programming model only.

  • Supported model: func.FunctionApp() with decorators such as @app.route()
  • Unsupported model: legacy function.json-based Python v1 projects

Installation

From PyPI:

pip install azure-functions-doctor

From source:

git clone https://github.com/yeongseon/azure-functions-doctor.git
cd azure-functions-doctor
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Quick Start

Run the doctor in the current project:

azure-functions doctor

Run against a specific project:

azure-functions doctor --path ./examples/v2/http-trigger

Use a required-only profile:

azure-functions doctor --profile minimal

Output JSON for CI:

azure-functions doctor --format json

Demo

The demo below is generated from demo/doctor-demo.tape with VHS. It runs the real azure-functions doctor CLI against the representative example and then against an intentionally broken copy to show the pass/fail contrast.

Doctor demo

The final terminal state is also captured as a static image for quick inspection.

Doctor final output

Features

The default ruleset includes checks for:

  • Azure Functions Python v2 decorator usage
  • Python version
  • virtual environment activation
  • Python executable availability
  • requirements.txt
  • azure-functions dependency declaration
  • host.json
  • local.settings.json (optional)
  • Azure Functions Core Tools presence and version (optional)
  • Durable Functions host configuration (optional)
  • Application Insights configuration (optional)
  • extensionBundle configuration (optional)
  • ASGI/WSGI callable exposure (optional)
  • common unwanted files in the project tree (optional)

Examples

Requirements

  • Python 3.10+
  • Hatch for development workflows
  • Azure Functions Core Tools v4+ recommended for local runs

Documentation

Ecosystem

Disclaimer

This project is an independent community project and is not affiliated with, endorsed by, or maintained by Microsoft.

Azure and Azure Functions are trademarks of Microsoft Corporation.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure_functions_doctor-0.15.1.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

azure_functions_doctor-0.15.1-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file azure_functions_doctor-0.15.1.tar.gz.

File metadata

  • Download URL: azure_functions_doctor-0.15.1.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for azure_functions_doctor-0.15.1.tar.gz
Algorithm Hash digest
SHA256 c6c10263d454f029f7bcfe422edf8d4953e1704256d7bb5d4593cfbe103d2e7f
MD5 030360f8186af83d94cc26ca81b4d564
BLAKE2b-256 284d1b08fba1b33a8f13dc5d25156de0f8db61eac35836a14369dbde879a593f

See more details on using hashes here.

Provenance

The following attestation bundles were made for azure_functions_doctor-0.15.1.tar.gz:

Publisher: release.yml on yeongseon/azure-functions-doctor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file azure_functions_doctor-0.15.1-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_functions_doctor-0.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 859d8455be4c9808cf90ac6f02cc1c31c1bd5501712849e775dad523b893173d
MD5 dce5b7a77e80c5d1d0ed420bbcac3e32
BLAKE2b-256 e52cd5b27b0538a77785096d9a18a55cbc8bb2859b125a3e1938f2c9537911c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for azure_functions_doctor-0.15.1-py3-none-any.whl:

Publisher: release.yml on yeongseon/azure-functions-doctor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page