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 libraries as more and more IoT applications extend the use of our serverless engine.
1. 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 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.
2. 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.
3. Python supported libraries
The Python layers run on the following versions:
Python 3.9
Python 3.11
3.1. Lite
Library | Version |
requests | 2.32.3 |
3.2. Base
All libraries included in the Lite runtime, plus:
Library | Version |
pytz | 2024.1 |
msgpack | 1.0.8 |
httpx | 0.27.0 |
aiohttp | 3.9.5 |
lxml | 5.2.2 |
numpy | 2.0.0 |
pandas | 2.2.2 |
python-aqi | 0.6.1 |
3.3. Full
All libraries included in the Base runtime, plus:
Library | Version |
scrapy | 2.11.2 |
matplotlib | 3.9.0 |
arrow | 1.3.0 |
pymongo | 4.8.0 |
psycopg | 3.1.18 |
pyodbc | 5.1.0 |
stripe | 8.7.0 |
pytesseract | 0.3.10 |
holidays | 0.52 |
zeep | 4.2.1 |
scipy | 1.14.0 |
pyod | 1.1.2 |
openpyxl | 3.1.5 |
4. Node supported libraries
The NodeJS layers run on the following versions:
Node.js 16
4.1. Lite
Library | Version |
axios | 1.5.1 |
4.2. Base
All libraries included in the Lite runtime, plus:
Library | Version |
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.