usqlite — это порт SQLite для MicroPython: модуль С/μPython с API в стиле
sqlite3, но заточенный под микроконтроллеры, ограниченную память и кастомную сборку прошивки. sqlite3, так что большинство привычных паттернов работы с БД переносится почти без изменений.import usqlite
if not usqlite.mem_status():
usqlite.mem_status(True) # включить мониторинг памяти
con = usqlite.connect("data.db")
con.executemany(
"BEGIN TRANSACTION;"
"CREATE TABLE IF NOT EXISTS data (name TEXT, year INT);"
"INSERT INTO data VALUES ('Larry', 1902);"
"INSERT INTO data VALUES ('Curly', 1903);"
"INSERT INTO data VALUES ('Moe', 1897);"
"INSERT INTO data VALUES ('Shemp', 1895);"
"COMMIT;"
)
with con.execute("SELECT * from data") as cur:
for row in cur:
print("stooge:", row)
con.close()
print("usqlite mem - current:", usqlite.mem_current(), "peak:", usqlite.mem_peak())
Поддерживаются параметризованные запросы
?, ?NNN, :name, @name, $name c передачей tuple/list/dict, как в sqlite3.micropython/ + modules/usqlite, подключение через корневой micropython.cmake. mem_current(), mem_peak(), mem_status() для контроля потребления. usqlite_config.h можно включать/отключать компоненты SQLite и перейти на статический heap для жёстко лимитированной памяти. #usqlite #MicroPython #SQLite #Embedded #ESP32 #RaspberryPiPico #IoT #DBAPI #CModule #Firmware
https://github.com/spatialdude/usqlite
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - spatialdude/usqlite: μSQLite library module for MicroPython
μSQLite library module for MicroPython. Contribute to spatialdude/usqlite development by creating an account on GitHub.
1 3🔥1