These packages are available on the Barionet operating system out of the box. They are already present and can be imported or used directly.
Python 3 (v3.8.11) — Standard Library + Pre-installed Packages
Python apps can import any of these without installation:
Networking & HTTP
|
Package |
Version |
Notes |
|---|---|---|
|
|
2.23.0 |
HTTP client |
|
|
1.25.7 |
Low-level HTTP |
|
|
1.5.0 |
MQTT client (use instead of raw mosquitto) |
|
|
1.1.1 |
Lightweight web server / REST API |
|
|
20.0.4 |
WSGI server for Flask |
|
|
1.0.1 |
WSGI utilities (Flask dependency) |
|
|
1.0 |
mDNS / service discovery |
|
|
0.1.7 |
List network interfaces |
|
|
1.7.1 |
SOCKS proxy support |
|
|
0.5.1 |
HTTPS via PyOpenSSL |
Security & Cryptography
|
Package |
Version |
Notes |
|---|---|---|
|
|
2.8 |
TLS, encryption primitives |
|
|
19.1.0 |
OpenSSL bindings |
|
|
2019.11.28 |
CA bundle |
|
|
1.3.0 |
ASN.1 parsing |
|
|
0.4.8 |
ASN.1 types |
Protocols & Automation
|
Package |
Version |
Notes |
|---|---|---|
|
|
3.6.7 |
Modbus TCP/RTU client & server |
|
|
3.4 |
Serial port (RS-232/RS-485) |
|
|
0.18.8 |
BACnet protocol |
|
|
3.0.7110 |
Audio/video playback via libVLC |
|
|
0.10.0 |
ALSA audio (direct sound card access) |
|
|
1.0 |
SIP/VoIP client via PJSIP (make/receive calls, audio) |
Data & Serialization
|
Package |
Version |
Notes |
|---|---|---|
|
|
3.17.0 |
Fast JSON (use alongside stdlib |
|
|
3.2.0 |
JSON schema validation |
|
|
2.0 |
JSON Pointer (RFC 6901) |
|
|
0.1.12 |
ISO 8601 date parsing |
|
|
3.6.0 |
M3U8 playlist parsing |
System & Process
|
Package |
Version |
Notes |
|---|---|---|
|
|
5.7.0 |
CPU, memory, process info |
|
|
0.9.24 |
Multi-process safe logging |
|
|
2.8.2 |
File locking |
|
|
7.0 |
CLI argument parsing |
|
|
1.14.0 |
Python 2/3 compat |
|
|
4.1 |
I2C / SMBus access |
Web / Templating
|
Package |
Version |
Notes |
|---|---|---|
|
|
2.11.3 |
Templating engine |
|
|
1.1.1 |
Safe HTML escaping |
|
|
1.1.0 |
Signed tokens |
SNMP
|
Package |
Version |
Notes |
|---|---|---|
|
|
2.0.0 |
SNMP pass-persist subagent |
UCI (OpenWrt config)
|
Package |
Version |
Notes |
|---|---|---|
|
|
0.6 |
Read/write UCI config files (OpenWrt) |
Text & Encoding
|
Package |
Version |
Notes |
|---|---|---|
|
|
3.0.4 |
Character encoding auto-detection (useful for serial/text data) |
|
|
2.8 |
Internationalized domain names |
|
|
1.8.1 |
CSS color name ↔ hex/RGB conversion |
|
|
0.7 |
Strict RFC 3339 date/time validation |
|
|
1.3.8 |
URI/IRI validation per RFC 3987 |
Native Interop
|
Package |
Version |
Notes |
|---|---|---|
|
|
1.14.0 |
Call C libraries from Python |
|
|
2.20 |
C source parser (cffi dependency) |
Data Structures
|
Package |
Version |
Notes |
|---|---|---|
|
|
19.3.0 |
Declarative Python classes |
|
|
0.15.7 |
Immutable/persistent data structures |
|
|
3.11 |
Lexer & parser toolkit (useful for custom protocol parsing) |
Lua (v5.3.6 and 5.1.5)
Both Lua 5.3 and Lua 5.1 are available. The following libraries are pre-installed:
|
Library |
Notes |
|---|---|
|
|
JSON encode/decode |
|
|
MQTT client |
|
|
TLS / crypto |
|
|
TCP/UDP networking |
|
|
TLS over luasocket |
|
|
XML parsing |
|
|
SOAP/XML web services |
|
|
OpenWrt UCI config |
|
|
HTTP via libcurl |
|
|
Async I/O (libuv bindings) |
System-level Tools & Daemons
Available as shell commands or via subprocess:
|
Tool |
Notes |
|---|---|
|
|
MQTT broker (v1.6.10) — can run a local broker or use as client |
|
|
HTTP/HTTPS requests from shell |
|
|
JSON processing in shell scripts |
|
|
Audio/video transcoding (v4.2.2) |
|
|
Audio streaming server (v2.4.4) |
|
|
MP3 playback |
|
|
mDNS/DNS-SD daemon |
|
|
SNMP agent |
|
|
Time sync |
|
|
HTTP server (v1.4.55) |
|
|
CGI scripting for lighttpd (embed scripts in HTML) |
|
|
Full Bash 5.0 (not just busybox sh) |
|
|
CLI for certs, hashing |
|
|
Python 3.8.11 interpreter |
|
|
Lua 5.3.6 interpreter |
|
|
Lua 5.1.5 interpreter |
|
|
Embedded SQL database |
|
|
Terminal multiplexer |
|
|
Cron daemon — available for scheduled/recurring tasks |
|
|
Raw TCP/UDP testing |
|
|
Network interface diagnostics |
|
|
Serial terminal (debugging) |
|
|
I2C bus utilities ( |
|
|
USB Device Firmware Upgrade utility |
|
|
Java 8 runtime (v272) |
|
|
SSH server — present on device (users cannot SSH in by default) |
C / Native Libraries (for compiled extensions or subprocess use)
|
Library |
Notes |
|---|---|
|
|
WebSocket support |
|
|
Secure Reliable Transport |
|
|
RIST streaming protocol |
|
|
Audio file I/O |
|
|
Audio resampling |
|
|
GPIO line access |
|
|
Async I/O event loop |
|
|
C++ networking/utility framework |
|
|
SIP/VoIP (PJSIP) |
Key Practical Notes for App Development
-
MQTT: Prefer
paho-mqtt(Python) orlua-mosquitto(Lua) over shelling out tomosquitto_pub/sub. -
Modbus:
pymodbus3.6.7 is available — no need to implement raw TCP framing. -
Serial/RS-485: Use
pyserialfor serial comms. -
Audio:
pyalsaaudiofor direct ALSA access;python-vlcfor higher-level playback;ffmpegvia subprocess for transcoding. -
Web API:
flask+gunicorncan expose a REST API from within an app. -
SQLite:
sqlite3is in both the Python stdlib and as a system binary — safe for local persistent storage. -
I2C: Use
python3-smbusfor I2C bus access (in addition toi2c-toolsCLI). -
Scheduled tasks:
cronieis available — use it for recurring jobs instead of implementing sleep loops where a cron schedule is more appropriate. -
Java:
openjre-8is present if a task requires running a.jarfile via subprocess. -
CGI / lighttpd:
haserlenables CGI scripts embedded in HTML served bylighttpd— an alternative to Flask for very lightweight web UIs. -
No pip: There is no pip/package manager available to end users. Only the packages listed here are available.