Skip to content

Preinstalled Python Libraries

Hanzhang Zeng edited this page Jun 18, 2020 · 9 revisions

Official Link: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#preinstalled-libraries

There are a few libraries come with the Python Function App runtime.

Tl;dr

azure-functions
grpcio
grpcio-tools
six
protobuf
setuptools
os, urllib, collections... (Python Standard Library modules)

Python Standard Library

The Python Standard Library contain a list of built-in Python modules which will be shipped with each Python distribution. Most of these libraries help the Python developer to access the system functionality, like File I/O. On Windows platform, these libraries are shipped with the Python installer. On the Unix-like platform, they are provided by a list of collection. To view the full details of the list of these libraries, please visit the links below:

Azure Functions Python Worker Dependencies

Our Python Worker requires a certain number of libraries for it to fully operate. These libraries can be used by Azure Functions Python developers, but they are not a part of the Python standard. Be cautious when moving function app from Azure to other platforms if the project relies on any of them.

  • List of dependencies can be found in install_requires section in the setup.py. The current version consists of the packages below:
grpcio [1.26.0]
grpcio-tools [1.26.0]
six [1.14.0]
protobuf [3.11.3]
setuptools [40.6.2]

Azure Functions Python Library

Every Python Worker update includes a new version of Azure Functions Python Library (azure.functions). The runtime library version is fixed by Azure, and it cannot be controlled by requirements.txt (the azure-functions definition in requirements.txt is for linting and customer awareness only).

The reason of making this decision is for the ease of continuous update in Azure Functions Python apps. The update of Python Library should not be customer aware since each update is backward compatible. A list of release of the library can be found in azure-functions PyPi. You can track the actual version of Python Functions Library in your runtime by

getattr(azure.functions, '__version__', '< 1.2.1')

Linux System / Third-Party Libraries

The V2 Function apps are running on Debian Stretch.

The V3 Function apps are running on Debian Buster.

Here is a table of preinstalled libraries in Python Worker images

Python 3.6 Python 3.7 Python 3.8
v2 Dockerfile Dockerfile
v3 Dockerfile Dockerfile Dockerfile