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.10.tar.gz (27.2 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.10-cp310-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

pamoja_core-0.1.10-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.10-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.10-cp310-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

pamoja_core-0.1.10-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.10.tar.gz.

File metadata

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

File hashes

Hashes for pamoja_core-0.1.10.tar.gz
Algorithm Hash digest
SHA256 8ea45c1d4de41dc7025ab6d97081c2d418476a45c0ab5580c583d5cb1dc62ca7
MD5 751e8cd0a2433d7c2f73b9aa2cd7ac03
BLAKE2b-256 c1d6358da898a95436ef0e1dd4314bcdbbdcd634930381979b662a0f2da988ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pamoja_core-0.1.10-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fde65e1b8447f6bdac33004ba332afed272ea406f4ed81fa48c9d6d1b91d3ee3
MD5 6279db637e76c12fc3be2692c1d50d36
BLAKE2b-256 03f0ba1dec0a93f80511b50d5845ed945b9272ce3a40e43d3fc51b000d2e73cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pamoja_core-0.1.10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d32171b63bd76fa475e9eaae656de42e958366ffd93c12c27353c4118c09c900
MD5 5902944199b4e718ffeb96728d5e6e22
BLAKE2b-256 fb7af88ae186599d70c88ef75bbcae60d3bfcefdcc619bb93ff09aa67a2f559d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pamoja_core-0.1.10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 36d2b67681c6ea7e41c39f025f8bbc6aa23f725d075d57c3feeac587ea81b1f5
MD5 ce5b3924cfaedae50f1e9512d93a1176
BLAKE2b-256 48435151e64a248ab51cdd30dcd76a17bc7e5a9ec52df9d14b296866b555338c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pamoja_core-0.1.10-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce2a6c193048e1e972de4435b53e349b73c770e8132ab069c1b1f7188cdac053
MD5 2ae6804f712df6d6fdfa08b8fad63b46
BLAKE2b-256 b155e5f48890729327c978d3977d2217bba66e0a9a4f4e8f65ce88b605c8cea5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pamoja_core-0.1.10-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aed40666bca6e6f4f034dbaade82959da086a2212cde9345c84343c358fa6e1b
MD5 3592b1b8b8801d5ab6aacd2fe42f0f94
BLAKE2b-256 c8986050bd7dad1c7fec5425c52c2179b35d4bfeabd8a68aefc584f7981918eb

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