Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 1.27.0b1

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 1.27.0b1
File Size Uploaded Provenance Actions
azure_functions-1.27.0b1.tar.gz 183.0 kB Without provenance Details for azure_functions-1.27.0b1.tar.gz

Built distribution (wheel)

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

Total release size: 315.2 kB

Release files / azure_functions-1.27.0b1.tar.gz

Download URL azure_functions-1.27.0b1.tar.gz
Size 183.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2e4baf8e25933c900a048b905b997030fba1727939c08bee41dc3e62ccf6526c
BLAKE2b-256 checksum
How to use checksums
70564dbb196c037b7f750e776df5d10fa5b8fb11b7b49dfe113e4e8d65fa604c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / azure_functions-1.27.0b1-py3-none-any.whl

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

Security for azure-functions 1.27.0b1

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
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