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.17.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.17-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pamoja-0.1.17.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.17.tar.gz
Algorithm Hash digest
SHA256 bfa572668477dd88cfa1d0b12c646579a81c74af92bf80b1c1fb93f3bb7b34f7
MD5 594566f1d8b70efa82b80c292b266506
BLAKE2b-256 3842f71b2463f417e969cc00f6007db8ba9d1d56270701f13eef6de8be53d6ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pamoja-0.1.17-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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 52113200fa6492c2cd8f18fa8931245c019737d4450eaad2adff858f326ed9b1
MD5 6e5dd995061c5d7743d24ff45889c511
BLAKE2b-256 b5ee64924b41feadd4a11807e26819fad9b7fdfa233ddf74bca9ab6d27653661

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.17 This release

2 files

0.1.16

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