Share via

Guidance Request: Choosing Between Python 3.12 and 3.13 for Azure Functions (Runtime 4.0)

EBT 0 Reputation points
2026-04-03T02:21:39.18+00:00

I am considering which Python version to use for Azure Functions.

We are evaluating Python 3.12 and 3.13, and would appreciate your guidance on which version we should adopt.

Thank you in advance for your support.

Current environment:

App Service Plan

Azure Functions Runtime 4.0

Libraries in use:

azure-core

azure-functions

  • azure-storage-blob
  • azure-storage-queue
Azure Functions
Azure Functions

An Azure service that provides an event-driven serverless compute platform.


3 answers

Sort by: Most helpful
  1. Siddhesh Desai 4,815 Reputation points Microsoft External Staff Moderator
    2026-04-03T03:44:50.4466667+00:00

    Hi @EBT

    Thank you for reaching out to Microsoft Q&A.

    Both Python 3.12 and Python 3.13 are fully supported (GA) on Azure Functions Runtime 4.0 when running on an App Service Plan. There is no functional issue preventing either version from working with your current setup or the Azure SDK libraries you are using (azure-core, azure-functions, azure-storage-blob, azure-storage-queue). The decision point is not about something “not working,” but about choosing the most appropriate and future‑proof Python version. Python 3.13 is the newer GA release for Azure Functions, offers a longer support lifecycle, and introduces runtime-level improvements (such as Python worker runtime version control and improved dependency isolation). Python 3.12 remains a stable and supported option, but it has a shorter support window and does not include some of the newer runtime capabilities introduced with Python 3.13.

    Refer below points to resolve this issue or this is the workaround

    Use Python 3.13 for new or actively developed Azure Functions apps

    • Python 3.13 is GA on Azure Functions Runtime 4.0 and has the longest support timeline compared to Python 3.12.
    • It is the recommended choice for App Service Plan–based Function Apps where long-term maintainability and reduced future upgrades are important.

    Take advantage of Python 3.13 runtime version control (optional)

    • Starting with Python 3.13, Azure Functions allows you to control the Python worker runtime version via requirements.txt.
    • You can either stay on the latest stable worker automatically or pin to a specific version once validated in lower environments.
    # Example (do not pin to prerelease versions for production)
    azure-functions-runtime
    

    Continue using Python 3.12 if you need a conservative or compatibility-first approach

    • Python 3.12 is still fully supported (GA) on Azure Functions Runtime 4.0.
    • This may be preferred if internal standards, compliance requirements, or third‑party dependencies are already standardized on Python 3.12.

    No library changes are required for either option

    • The Azure SDK libraries you listed (azure-core, azure-functions, azure-storage-blob, azure-storage-queue) are supported on both Python 3.12 and Python 3.13.
    • No code changes are required solely due to the Python version upgrade.

    Final recommendation

    • For new deployments: Python 3.13
    • For existing workloads prioritizing minimal change: Python 3.12, with a planned upgrade to 3.13 later
    0 comments No comments

  2. Praveen Kumar Gudipudi 2,195 Reputation points Microsoft External Staff Moderator
    2026-04-03T02:46:34.22+00:00

    Hello EBT,

    For new Azure Functions v4 deployments on an App Service Plan, Python 3.13 is the recommended runtime. It is fully supported (GA), offers the longest support lifecycle, and includes runtime‑level improvements that reduce dependency conflicts and improve maintainability. Python 3.12 remains a supported and stable alternative if required for compatibility reasons.

    Python 3.13 GA announcement for Azure Functions

    Azure Functions Runtime v4.0 (GA) supports both Python 3.12 and Python 3.13 on Linux hosting, including App Service Plans.

    Python version Azure Functions v4 Support Status
    Python 3.12 Supported (GA) Stable
    Python 3.13 Supported (GA) Latest & recommended

    Python 3.13 has the latest end‑of‑support timeline, making it more future‑proof than 3.12 for production systems.

    Starting with Python 3.13, Azure Functions introduces:

    • Runtime version control (opt‑in)
    • Improved dependency isolation between your app packages and the Functions Python worker
    • Reduced risk of package version conflicts for libraries such as:
    • azure-core
    • azure-functions
    • azure-storage-blob
      • azure-storage-queue

    These improvements are GA and specifically available for 3.13 workloads.

    You may prefer Python 3.12 if:

    • You require absolute stability with conservative change management
    • Internal tooling, compliance, or validation processes are already pinned to 3.12
    • You are aligning with another platform still standardizing on 3.12

    Python 3.12 remains fully supported and production‑ready on Functions v4.

    Please accept as answer and do a Thumbs-up to upvote this response if you are satisfied with the community help. Your upvote will be beneficial for the community users facing similar issues.

    0 comments No comments

  3. Q&A Assist
    2026-04-03T02:21:53.11+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    For an Azure Functions v4 app on an App Service plan using the listed Azure SDK libraries, Python 3.13 is the better long‑term choice, with Python 3.12 as a solid alternative if 3.13‑specific features are not yet needed.

    Key points from the current platform support:

    1. Both 3.12 and 3.13 are fully supported (GA) on Functions v4
      The supported Python versions for Azure Functions include:
      • Python 3.10 (GA, EOS October 2026)
      • Python 3.11 (GA, EOS October 2027)
      • Python 3.12 (GA, EOS October 2028)
      • Python 3.13 (GA, EOS October 2029)
      Python 3.13 has the longest support window, which is important for production workloads.
    2. Linux Consumption limitation does not affect an App Service plan
      The note that Python 3.12 is the last version supported on Linux Consumption applies only to that plan type.
      Since the environment is an App Service plan (not Linux Consumption), it can use newer versions like Python 3.13.
    3. Python 3.13 introduces runtime improvements and dependency isolation
      For Python 3.13+ function apps, Azure Functions adds:
      • Optional runtime version control via the azure-functions-runtime-v1 package in requirements.txt, allowing pinning to a specific Functions Python worker version or staying on the latest.
      • Dependency isolation between the app’s packages (such as azure-core, azure-functions, azure-storage-blob, azure-storage-queue) and the worker’s own dependencies, reducing version conflicts.
      • The PYTHON_ISOLATE_WORKER_DEPENDENCIES setting no longer applies for Python 3.13+ apps.
    4. Recommended choice for new development
      Given:
      • App Service plan (no Linux Consumption constraint),
      • Standard Azure SDK libraries in use, and
      • Longer support horizon and improved runtime behavior,
      Python 3.13 is recommended for new or actively developed Azure Functions apps. For production stability, consider:
      • Using azure-functions-runtime-v1 without a pinned version to stay on the latest stable runtime, or
      • Pinning to a specific version (for example, azure-functions-runtime-v1==x.y.z) once validated in non‑production, if strict stability is required.
    5. When to choose Python 3.12 instead
      Python 3.12 remains a valid choice if:
      • There are existing internal constraints or testing baselines on 3.12, or
      • A dependency has not yet been validated on 3.13.
      In that case, 3.12 still provides a long support window (to October 2028) and is fully supported on Functions v4.

    Summary:

    • Prefer Python 3.13 for new Azure Functions v4 apps on an App Service plan, to benefit from the latest runtime improvements, dependency isolation, and the longest support period.
    • Use Python 3.12 only if there are specific compatibility or validation reasons to stay on that version.

    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.