pamoja-core (Python)
Python bindings for the pamoja device SDK core, built with PyO3 and maturin.
The generated surface is intentionally thin. A hand-written, idiomatic layer is
added on top of it so Python callers get a native-feeling async API - awaitable
methods, async for over incoming messages, async with lifecycle, and
exceptions for errors - while all behavior stays in the Rust core.
The generated low-level contract remains available at pamoja.raw.
Install
pip install pamoja-core
Build from source
python -m venv .venv
.venv/bin/pip install maturin pytest
.venv/bin/maturin develop
.venv/bin/python -m pytest
maturin develop compiles the Rust core into a native extension (pamoja._core)
and installs the pamoja package into the active environment.
cargo run --bin stub_gen regenerates the committed type stub
python/pamoja/_core.pyi. It is a generated artifact, drift-checked in CI so it
can never fall behind the Rust source.
Usage
import asyncio
from pamoja import MqttClient
async def main():
async with MqttClient(client_id="sensor-1", host="localhost", port=1883) as client:
await client.subscribe("sensors/+/temperature")
await client.publish("sensors/1/temperature", "21.5")
async for message in client:
print(message.topic, message.payload.decode())
asyncio.run(main())
Release files for pamoja-core 0.1.14
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_core-0.1.14.tar.gz | 27.3 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pamoja_core-0.1.14-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| pamoja_core-0.1.14-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| pamoja_core-0.1.14-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 3.3 MB
Release files / pamoja_core-0.1.14.tar.gz
| Download URL | pamoja_core-0.1.14.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61a41111d101b2ff20bfca1818f6c362c6dd6ea2905800737ad971e7fd6cf01a
|
|
BLAKE2b-256 checksum How to use checksums |
f0ffb38fd4c0d11ab0e9a5f5c1c29992620143200347550d03d6687d6abab1c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pamoja_core-0.1.14-cp310-abi3-win_amd64.whl
| Download URL | pamoja_core-0.1.14-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 531.0 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
6b251a54a56118b58a9f25138f7ad74291f1bdb046b16491c05d5f5967624566
|
|
BLAKE2b-256 checksum How to use checksums |
1faa07488f7b7230c582f0ce0f6abc4fa827151fd2ad9e67de46846b2e8ebc64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 748.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8665832563cd091ec779385066422055be735a397dde9e4a451d4c73cb7f7789
|
|
BLAKE2b-256 checksum How to use checksums |
7520e480cce3debd830e4cdb0c5405cfdffe8bbfaec358da7a6405bfdb26bfc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | pamoja_core-0.1.14-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 741.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f4bf9afee85f9d1447a69b07252aa035b9dfeeafd2a4fb4ff980763b689185b9
|
|
BLAKE2b-256 checksum How to use checksums |
a2b4b9f0dcd2a8ab7918d64a07dd7b83af1b4c2ece251b74ad2771f20ce0a95c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pamoja_core-0.1.14-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | pamoja_core-0.1.14-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 644.8 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
97774f167170fe48d091b49cd1121c72c91882df619b04d4061d43ebf0275614
|
|
BLAKE2b-256 checksum How to use checksums |
06ab3e080acfdd5c60bafca9909c86ac1b8c716de3499ae01c724b53199b4f26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pamoja_core-0.1.14-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | pamoja_core-0.1.14-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 636.7 kB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
8bf7b4d7337ffe0c8ba53e5e95c519a9a3970f7904104dde022bd6a613ec565d
|
|
BLAKE2b-256 checksum How to use checksums |
c6adf191b9dc801d5e558d070de1959e23a578b706ada59cf4516b2bd3b803a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|