ChuMicro

Cross-runtime Python libraries for CircuitPython, MicroPython, and CPython, built for ESP32, RP2040, and other microcontrollers.

CircuitPython MicroPython CPython

Libraries

Cross-runtime Python libraries for CircuitPython, MicroPython, and CPython.

chumicro-timing

Wraparound-safe millisecond tick helpers plus wait value objects (deadlines, rates, signals) for CircuitPython, MicroPython, and CPython.

chumicro-runner

Tick-based task runner for CircuitPython, MicroPython, and CPython: non-blocking check/handle scheduling without async.

chumicro-wifi

Unified wifi supervisor across CircuitPython, MicroPython, and CPython: sole-supervisor model with reconnect, state machine, and per-runtime adapters.

chumicro-requests

Non-blocking HTTP/1.1 client for CircuitPython, MicroPython, and CPython.

chumicro-http_server

Non-blocking HTTP/1.1 server for CircuitPython, MicroPython, and CPython.

chumicro-mqtt

Non-blocking MQTT 3.1.1 client (QoS 0+1) for CircuitPython, MicroPython, and CPython.

chumicro-websockets

Non-blocking WebSocket (RFC 6455) client and server for CircuitPython, MicroPython, and CPython.

chumicro-sockets

Cross-runtime TCP, TLS, and UDP sockets for CircuitPython, MicroPython, and CPython

chumicro-ntp

Runner-shaped SNTP client over an injected UDP socket: pure Python, cross-runtime.

chumicro-config

Standardized runtime-config helpers for ChuMicro libraries: section loader plus on-device runtime-config reader.

chumicro-kvstore

Tiny mutable key-value store for persisted runtime state (counters, timestamps, tokens) across CircuitPython, MicroPython, and CPython.

chumicro-msgpack

Compact MessagePack serialization for CircuitPython, MicroPython, and CPython: delegates to the native C module when available.

chumicro-compat

Cross-runtime compatibility polyfills for CircuitPython, MicroPython, and CPython: functools.partial and more.

Install: libraries

Library packages run on devices and ship through three channels:

pip (CPython, host-side use)

pip install chumicro-timing

circup (CircuitPython)

circup bundle-add ChuMicro/ChuMicro-Bundle
circup install chumicro_timing

mip (MicroPython)

mpremote mip install github:ChuMicro/ChuMicro-Bundle/chumicro_timing

Release channels: libraries

The CircuitPython bundle is the distribution path for library code. Workbench packages ship to PyPI only and don't appear in the bundle.

ChannelBundleDescription
Stable ChuMicro-Bundle Released, tested versions, recommended for production
Experimental ChuMicro-Bundle-Experimental Pre-release: latest features, may contain breaking changes

Each library has a version selector in its docs header. Use it to switch between stable, experimental, and pinned versions.

Workbench

Host-only CPython tools for deploying, probing, and flashing devices.

chumicro-workspace

Host-side runtime for ChuMicro project workspaces: config merge, secrets resolution, deploy orchestration, command dispatch.

chumicro-deploy

Host-side device transports and deploy tooling for CircuitPython and MicroPython boards.

chumicro-repl

Host-side serial REPL for CircuitPython and MicroPython boards with traceback highlighting.

Install: workbench

Workbench tools run on your laptop, not on a device. CPython only:

pip (CPython)

pip install chumicro-workspace