Skip to main content

Diagnostic tool for Azure Functions Python v2 programming model

Project description

Azure Functions Doctor

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

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

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

Requirements

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

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 .

Usage

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

Built-in checks

The default ruleset validates:

  • 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

Documentation

Contributing

See CONTRIBUTING.md.

License

This project is licensed under the MIT License.

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.0.tar.gz (5.7 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.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: azure_functions_doctor-0.15.0.tar.gz
  • Upload date:
  • Size: 5.7 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.0.tar.gz
Algorithm Hash digest
SHA256 296cf788df81e98065ee54db83af430682cd212167f6059d3194cbb73eaeafb3
MD5 16a07fbf66399a65ddef542e2a739dd5
BLAKE2b-256 0c114f0ad86795a5836fe9b729893ef22cea6c56b2eec1681af87acd7c281785

See more details on using hashes here.

Provenance

The following attestation bundles were made for azure_functions_doctor-0.15.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_functions_doctor-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3aaedc0ccd86bb799f551b448667c05cd673115a17e4fd0dd8249cf4d57d6da
MD5 ba9e11ff96c6f599705482caeb32a344
BLAKE2b-256 1ee8760e498d293ffd1d718dc8b19ae85ab0dfc145be9d769e44a222f98eef86

See more details on using hashes here.

Provenance

The following attestation bundles were made for azure_functions_doctor-0.15.0-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