Skip to main content

Functions Header Image - Lightning Logo Azure Functions Python Library

Branch CodeCov
master codecov
dev codecov

Overview

Python support for Azure Functions is based on Python 3.11, 3.12, 3.13, 3.14, and 3.15 serverless hosting on Linux, and the Functions 2.x (EOL), 3.x (EOL) and 4.0 runtime.

Here is the current status of Python in Azure Functions:

What are the supported Python versions?

Azure Functions Runtime Python 3.11 Python 3.12 Python 3.13 Python 3.14 Python 3.15
Azure Functions 4.0 ✔ ✔ ✔ ✔ ✔

What's available?

  • Build, test, debug and publish using Azure Functions Core Tools (CLI) or Visual Studio Code
  • Triggers / Bindings : Blob, Cosmos DB, Event Grid, Event Hub, HTTP, Kafka, MySQL, Queue, ServiceBus, SQL, Timer, and Warmup
  • Create a Python Function on Linux using a custom docker image
  • Triggers / Bindings : Custom binding support

Get Started

Give Feedback

Issues and feature requests are tracked in a variety of places. To report this feedback, please file an issue to the relevant repository below:

Item Description Link
Python Worker Programming Model, Triggers & Bindings File an Issue
Linux Base Docker Images File an Issue
Runtime Script Host & Language Extensibility File an Issue
VSCode VSCode Extension for Azure Functions File an Issue
Core Tools Command Line Interface for Local Development File an Issue
Portal User Interface or Experience Issue File an Issue
Templates Code Issues with Creation Template File an Issue

Durable Functions JSON serialization

azure.functions._durable_functions.df_dumps(value, *, ensure_ascii=True) preserves legacy ASCII-escaped JSON by default. Pass ensure_ascii=False to opt in to emitting ordinary Unicode literally in either loose or strict typing mode. Surrogate code units, including lone surrogates and explicit surrogate-pair strings, remain JSON-escaped so the output is safe to encode as UTF-8 and pass through protobuf string fields. ASCII DEL also retains its legacy \u007f escape. Unicode is not normalized. ASCII output, whitespace, custom-object envelopes, and strict/loose type rules are unchanged; df_loads reads both escaped and literal-Unicode payloads.

For the synthetic Python value {"text": "\u0416" * 100000} (100,000 Cyrillic characters), df_dumps(value, ensure_ascii=False) produces 200,012 UTF-8 bytes, compared with 600,012 bytes using the default or explicit ensure_ascii=True. This isolates escaping overhead; it does not measure a complete production request or remove aggregate transport limits.

Opt-in compatibility: Serialized bytes change for ordinary non-ASCII text only when selecting ensure_ascii=False, even though escaped and literal JSON decode to the same values. Applications deriving hashes, signatures, IDs, or replay decisions from serialized JSON must review their byte-dependent logic before opting in or switching back. Existing callers, including the activity trigger converter, continue to use ASCII-escaped output. Literal-Unicode output has not been validated against live hosted backends; provider integration/replay coverage and real-host staging validation are tracked in microsoft/durabletask-python#291, linked from #371.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Metadata

Release files for azure-functions 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azure-functions 2.4.0
File Size Uploaded Provenance Actions
azure_functions-2.4.0.tar.gz 182.9 kB Without provenance Details for azure_functions-2.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for azure-functions 2.4.0
File Interpreter ABI Platform Actions
azure_functions-2.4.0-py3-none-any.whl Python 3 none any Details for azure_functions-2.4.0-py3-none-any.whl

Total release size: 315.1 kB

Release files / azure_functions-2.4.0.tar.gz

Download URL azure_functions-2.4.0.tar.gz
Size 182.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4b764002c787b860dbee0c8ec02f795bdd2ca0384f8b3860da8369403ee19b01
BLAKE2b-256 checksum
How to use checksums
99c25109e07bc920a77e5bb79aa09fdc9d0f81b3822f4a45e755508e94fd21fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / azure_functions-2.4.0-py3-none-any.whl

Download URL azure_functions-2.4.0-py3-none-any.whl
Size 132.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1f69edce150af18bcbf4cd6eab224506335a7bfd225a5269a54df27c115aa12
BLAKE2b-256 checksum
How to use checksums
f0978d748de8f1afb8ff112ce0e53b15348568bbc3e1e1cc3e31c615a6af8225
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Security for azure-functions 2.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.4.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page