--- title: Python modules available to indexing pipeline extensions slug: '116' canonical_url: https://docs.coveo.com/en/116/ collection: index-content source_format: adoc --- # Python modules available to indexing pipeline extensions A large number of modules are available for import in [indexing pipeline extension (IPE)](https://docs.coveo.com/en/206/) scripts. The following Python 3 modules may be especially useful: > **Note** > > This list is maintained manually, and might therefore be slightly out of date (for example, new modules may have been added, or existing modules may have been updated to a newer version since the last edit). > Last updated: July 2023. > > You should validate the complete list of modules and their versions programmatically (see [Listing available modules programmatically](#listing-available-modules-programmatically)). * Modules from the [Python 3 Standard Library](https://docs.python.org/3/library/). * [`beautifulsoup4`](https://pypi.org/project/beautifulsoup4/): A Python library for pulling data out of HTML and XML files. * [`boto3`](https://pypi.org/project/boto3/): Amazon Web Services (AWS) Software Development Kit (SDK) for Python. * [`cryptography`](https://pypi.org/project/cryptography/2.2.2/): A cryptographic library. * [`lxml`](https://lxml.de/index.html): Feature-rich and easy-to-use library for processing XML and HTML. * [`markdown`](https://github.com/Python-Markdown/markdown): A text-to-HTML conversion library. * [`python-dateutil`](https://pypi.python.org/pypi/python-dateutil/): Provides powerful extensions to the datetime module. * [`requests`](https://pypi.python.org/pypi/requests/): HTTP library for Python. * [`urllib3`](https://urllib3.readthedocs.io/): An HTTP client. ## Listing available modules programmatically To get a log message containing the current, exhaustive, up-to-date list of all Python 3 modules/versions available for import in any given Python 3 indexing pipeline extension script, you can run a Python 3 indexing pipeline extension that has the following script: ```python import pkg_resources modules = pkg_resources.working_set modules_list = sorted(["%s, version %s" % (i.project_name, i.version) for i in modules]) log(str(modules_list)) ``` ## Getting the Python version programmatically To get a log message containing the current Python version used for indexing pipeline extensions, you can run or test an indexing pipeline extension that has the following script: ```python import sys myPythonVersion = sys.version_info log(str(myPythonVersion)) ``` ## Deprecation of `time.sleep` Do not use `time.sleep` in extensions to delay outgoing requests. Doing so introduces idle delays, and since index pipeline extensions are a multi-tenant service, it leads to processing time issues. The use of `time.sleep` in extensions will be completely deprecated in the future. ## Suggesting support for new modules If you would like to use a Python module which isn't currently supported by indexing pipeline extensions, you can suggest the addition by posting an idea on [Coveo Connect (Ideas tab)](https://connect.coveo.com/s/ideas).