All Collections
Developer Guides
UbiFunctions & Plugins: Supported libraries
UbiFunctions & Plugins: Supported libraries

A list of supported libraries for our UbiFunctions and Plugins' Node.js and Python runtimes

Agustin Pelaez avatar
Written by Agustin Pelaez
Updated over a week ago

Ubidots offers a serverless environment that allows you to code your own functions using Node.js or Python, be it for data decoding, analytics, or integration with 3rd party APIs. Use cases range from LoRaWAN integrations, managing Sigfox downlinks, to determining GPS coordinates using Google Geolocation API.

We are constantly updating our supported libraries as more and more IoT applications extend the use of our serverless engine.

Layers

At the core of Ubidots' runtime architecture are three distinct layers, each with a specific set of libraries that define its capabilities and use cases.

  • Lite: This is the most basic level, offering a minimalist environment that's lightweight and fast.

  • Base: This layer is a step up from the Lite version, providing a more robust environment with additional libraries that offer enhanced functionality.

  • Full: This is the most complete option. Only available in the Python runtime and for Enterprise license holders and above.

Runtime difference between Plugins and UbiFunctions

The layers mentioned above are only available for UbiFunctions. The Plugins engine runs by default using the Base layer.

Python supported libraries

The Python layers run on the following versions:

  • Python 3.9

  • Python 3.11

Lite

Library

Version

request

2.31.0

Base

Library

Version

pytz

2023.3

msgpack

1.0.5

httpx

0.25.0

aiohttp

3.8.5

lxml

4.9.3

numpy

1.25.2

pandas

2.1.4

Full

Library

Version

pytz

2023.3

msgpack

1.0.5

httpx

0.25.0

aiohttp

3.8.5

lxml

4.9.3

numpy

1.25.2

pandas

2.1.4

scrapy

2.11.0

matplotlib

3.8.1

arrow

1.3.0

redis

5.0.1

pymongo

4.6.0

stripe

7.4.0

pytesseract

0.3.10

flask

3.0.0

holidays

0.35

zeep

4.1.0

Node supported libraries

The NodeJS layers run on the following versions:

  • Node.js 16

Lite

Library

Version

axios

1.5.1

Base

Library

Version

axios

1.5.1

qs

6.11.2

nexmo

2.9.1

lodash

4.17.21

mqtt

5.0.5

moment

2.29.4

mongodb

4.9.0

request-promise

4.2.4

node-fetch

3.3.2

Please note that all serverless containers will spin up a microserver with 128MB of RAM every time a function is invoked. If your application requires extra memory, please reach out to our support team.

Did this answer your question?