Skip to main content

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())

Download files

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

Source Distribution

pamoja_core-0.1.7.tar.gz (27.1 kB view details)

Uploaded Source

Built Distributions

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

pamoja_core-0.1.7-cp310-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

pamoja_core-0.1.7-cp310-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

pamoja_core-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file pamoja_core-0.1.7.tar.gz.

File metadata

  • Download URL: pamoja_core-0.1.7.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.0

File hashes

Hashes for pamoja_core-0.1.7.tar.gz
Algorithm Hash digest
SHA256 ee6d4c882c772c54575a3bd660c2242c8a5680cfac64ed10cb5c235833e12b41
MD5 6d23a981a9117175ebaf03265486e33c
BLAKE2b-256 1dde812c332e8ae686a31edb23d148eaa48931aaaf362bf823dce5c0012c1494

See more details on using hashes here.

File details

Details for the file pamoja_core-0.1.7-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pamoja_core-0.1.7-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3cad4c826ff0a704f16eebd2974b9ce1bc81ede5856271ebb004e7c35e322de5
MD5 18bd8efcb4fa3c67ff0d6189a0b08bbd
BLAKE2b-256 d64ac5fda2c9ded248dfe70c7e4ccc691c5f47a42c4aa6ed72addd21a2cc3ba9

See more details on using hashes here.

File details

Details for the file pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57ecae60c4b3dd7b51e310e9b820b1a39ec3de93e5254ec871cc25b78e8b5d29
MD5 ed0e6707e5d53f3dd144de78f51708b5
BLAKE2b-256 5d71ec09945513c29c8e64ebb0b2451013b949f183cae871a1ec51f60c63d444

See more details on using hashes here.

File details

Details for the file pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pamoja_core-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 95fc3d0f5662881a429eb467039fe4a33e7871cf901a17cc4fe43819b5d94946
MD5 ad9ac8411f3c8af373d4aae53e623c20
BLAKE2b-256 edce7064c4315f00c12244ee88006f6015d162b389d7a51f62fbe548924d1e71

See more details on using hashes here.

File details

Details for the file pamoja_core-0.1.7-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pamoja_core-0.1.7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a01220376616c0725d8e5da1541218a7a6f559e0cab6258207bffc7ed7c85114
MD5 a18fbea18d6d73e9501209ecf8fa3122
BLAKE2b-256 6c3a7d1eb009ffae0d23957d7eb79b95eb47a5dc555e2d54e84420b1045e5688

See more details on using hashes here.

File details

Details for the file pamoja_core-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pamoja_core-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f2ec16a0c018b2ec93b5b29b609eb855bc38275f03db3782e0595215fccb9c54
MD5 20cfb8a59916747c9ce937fc09cb6f78
BLAKE2b-256 a910ee1f2c3ee0d79c8f8dcd5d43087941101b7cb6bd03c2c1cc340648dc356f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page