pamoja-radio
Budgeting airtime, framing a mesh packet, routing it, and securing a LoRaWAN uplink: everything a node needs to reach a network it cannot see.
One install for the 6 capabilities of this domain. Each is also its own
distribution, and pamoja is the whole framework in one.
pip install pamoja-radio
from pamoja.radio import lora
| Capability | Module | What it covers |
|---|---|---|
| LoRa airtime and range | pamoja.lora |
Time-on-air, duty-cycle off-time, the regional channel plans a LoRa node must keep to, and the link budget that sets its range |
| LoRaWAN | pamoja.lorawan |
LoRaWAN 1.0.x MAC framing, AES-CMAC and AES encryption, and both halves of the OTAA join |
| LoRa radios | pamoja.radios |
The Semtech SX126x and SX127x LoRa radios and the SX1302 and SX1303 gateway concentrators: their commands, registers, and decoders, the amplifier setting a regional EIRP ceiling allows, a duty-cycle guard, and simulated chips that stand in for a module |
| LoRaWAN gateways | pamoja.gateway |
What a LoRaWAN gateway speaks: the Semtech packet forwarder protocol and the Basics Station protocol on both sides, the network side of a single site, and a bridge from the radio to the link that leaves it |
| Mesh frames | pamoja.mesh |
Addressed, hop-limited, CRC-checked frames and duplicate suppression that floods a packet exactly once |
| Routing | pamoja.routing |
Reverse-path routing that learns the cheapest route from overheard traffic |
The guides, with a worked Python example for each, are at https://pamoja.molex.cloud/docs.
License
MIT
Release files for pamoja-radio 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pamoja_radio-0.2.0.tar.gz | 2.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pamoja_radio-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 kB
Release files / pamoja_radio-0.2.0.tar.gz
| Download URL | pamoja_radio-0.2.0.tar.gz |
|---|---|
| Size | 2.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2eea876cfd074017a4227ee7b95dc98610997a38120fb94906635cd6a3e2506c
|
|
BLAKE2b-256 checksum How to use checksums |
e2e918a75ca5d3b222a72d871f311e2c5c59860bdbb24c25d5436582b3749d88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / pamoja_radio-0.2.0-py3-none-any.whl
| Download URL | pamoja_radio-0.2.0-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f31bb615a7bec1f2a9de1eb340bf06f3a2c90ac99e12a84bde92f4e74cabec9d
|
|
BLAKE2b-256 checksum How to use checksums |
ea536def87e96c70132fb7472bd899c2a4613a5ba0116b767fb42d4c938112bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|