N23 is data acquisition and processing framework, optimized for Internet of Things and edge computing.
The framework is designed for programmers who want to implement applications on top of it.
Features
scheduler to asynchronously obtain data from sockets, sensors, devices and other data sources
flexible and efficient storage of data in a timeseries database
build applications using Python or Lisp (Hylang) API
configure applications using Lisp (Hylang) syntax; use macros for templating
based on Python asynchronous coroutines minimizing resource use and avoiding cost of context switching of threads
Scheduler
The scheduler executes concurrent tasks (to read and process data) and actions. Tasks can read data on regular basis or be event-driven. When reading data on regular basis, the time drift is minimized, for example data read every second shall produce sixty data points within one minute.
Storage
N23 framework provides default storage mechanism using PostgreSQL RDBMS with TimescaleDB extension. It supports multiple data types, compression, and chunking. This allows to use efficiently the available storage.
PostgreSQL without TimescaleDB extension can be used for small databases.
The TimescaleDB based storage is optional and any other system can be used. A system with very good asyncio support is recommended.
Analytics
The data can be analyzed and visualized with any popular tool supporting connection to the PostgreSQL RDBMS. For example, querying PostgreSQL database is possible with Python and R languages.
Demo Applications
Metadata
Release files for n23 0.10.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| n23-0.10.6.tar.gz | 41.7 kB | Details |
Release files / n23-0.10.6.tar.gz
| Download URL | n23-0.10.6.tar.gz |
|---|---|
| Size | 41.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
536c3af6492ea2a514607b0268c74f59dfb9c8c6d12b4175640cc122d3d12b84
|
|
BLAKE2b-256 checksum How to use checksums |
f6773b5a50434b17901466c31c33b988102fade2dd1417e10a69ebb4d848b728
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|