Skip to main content

pamoja

The whole pamoja framework in one package: every capability of one memory-safe Rust core, behind an idiomatic Python facade, for IoT, robotics, and drones. Each capability is also its own distribution, so an application that needs one thing can depend on pamoja-mqtt alone; this package depends on all of them.

API reference documentation

Install

pip install pamoja
from pamoja import mqtt, security

What it installs

Each module name opens its reference.

Distribution Module What it covers
pamoja-security pamoja.security ed25519 device identity: sign a reading and verify it, so a gateway can prove it is authentic
pamoja-codec pamoja.codec CBOR, JSON, and raw codecs behind one trait, delta and varint batch packing, and an f32 quantizer for metered links
pamoja-kit pamoja.kit Plain-language helper math: smoothing, calibration, PID and thermostat control, trend and surge prediction, rolling windows, kinematics, and geo
pamoja-serial pamoja.serial SLIP and COBS byte stuffing with streaming decoders, so a UART byte stream carries discrete packets
pamoja-modbus pamoja.modbus Modbus RTU requests and replies with CRC-16/MODBUS for RS485 field devices
pamoja-can pamoja.can CAN 2.0 and CAN-FD frames with 11- and 29-bit identifiers, plus J1939 decode and compose
pamoja-gpio pamoja.gpio I2C address frames with reserved-range checks, the four SPI clock modes, and active-high or active-low pins
pamoja-sensors pamoja.sensors Datasheet-anchored decoders for the BME280, DS18B20, INA219, and ADS1115
pamoja-actuators pamoja.actuators PCA9685 PWM and servo pulses, and stepper coil sequencing
pamoja-lora pamoja.lora Time-on-air, duty-cycle off-time, and the regional channel plans a LoRa node must keep to
pamoja-lorawan pamoja.lorawan LoRaWAN 1.0.x MAC framing, AES-CMAC and AES encryption, and both halves of the OTAA join
pamoja-mesh pamoja.mesh Addressed, hop-limited, CRC-checked frames and duplicate suppression that floods a packet exactly once
pamoja-routing pamoja.routing Reverse-path routing that learns the cheapest route from overheard traffic
pamoja-mavlink pamoja.mavlink MAVLink v1 and v2 framing, signing, named message fields, and the mission, command, and offboard protocols
pamoja-audit pamoja.audit A tamper-evident, hash-chained log; altering, reordering, or dropping a record breaks verification
pamoja-session pamoja.session X25519 key agreement, HKDF, and ChaCha20-Poly1305 with an anti-replay window, with no TLS stack
pamoja-update pamoja.update Signed firmware manifests, streaming image verification, and A/B slots that fall back on their own
pamoja-power pamoja.power Duty cycling and an energy-aware governor that stretches work as the battery drains
pamoja-telemetry pamoja.telemetry Observability that ships only what is worth the bytes as link cost rises, while counting everything
pamoja-mqtt pamoja.mqtt An MQTT client with the topic and wildcard rules, as the core transport
pamoja-coap pamoja.coap A CoAP client over UDP with confirmable delivery and observe
pamoja-loopback pamoja.loopback An in-process transport with topic matching and a fault injector, for testing with no broker
pamoja-sync pamoja.sync Offline-first queues: in memory, and a crash-safe on-disk queue that survives power loss
pamoja-ladder pamoja.ladder Cheapest reachable link first, buffering to a store when every link is down
pamoja-bus pamoja.bus An in-memory typed publish and subscribe event bus
pamoja-core pamoja.core The transport every link shares (send, receive, subscribe, and a faulty wrapper for tests) and the runtime version
pamoja-sim pamoja.sim Noisy and replay sensors, a recording actuator, and a simulated robot that dead-reckons its pose
pamoja-profile pamoja.profile Named, ready-to-run device profiles from plain data or a JSON manifest
pamoja-ros2 pamoja.ros2 ROS 2 names, RIHS01 type hashes, CDR encoding, and rmw_zenoh key assembly, with no ROS 2 installed
pamoja-zenoh pamoja.zenoh Zenoh key expressions: validity, canonical form, and wildcard matching

All of them run on pamoja-native, the compiled engine, which is one extension whichever distributions you install.

Documentation

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pamoja-0.1.16.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pamoja-0.1.16-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file pamoja-0.1.16.tar.gz.

File metadata

  • Download URL: pamoja-0.1.16.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for pamoja-0.1.16.tar.gz
Algorithm Hash digest
SHA256 b45962a943697eca3ebb3e4f06d822563dede299d95a359087ea9b11ca9af5fb
MD5 2b6c2c73231d613f3aaa3cfba4aeb951
BLAKE2b-256 9daf2d0232bcb432d754dbf5dd3d40ee0785633d0a6f847e9bd4af84b090846d

See more details on using hashes here.

File details

Details for the file pamoja-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: pamoja-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for pamoja-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 98f49e2dfc6519527d7f610a3e08272ba9acc008c126583fe543a66f0e695216
MD5 68c2410361d302cc3ae4c2b5320f4f9e
BLAKE2b-256 d6d2e901d33ed5f2e802f7fe14cc9ab11b5e279941013b415a9bf5c188d62ec8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.17

2 files

This release

0.1.16 This release

2 files

0.1.15

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page