Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

rp2040py

license pypi version python versions Pre-commit Test MicroPython Releases Test Pi Pico SDK coverage

Raspberry Pi Pico (RP2040) Emulator in Python — started as a port of rp2040js, now grown into its own CLI/SDK toolkit around it (see Differences from upstream rp2040js below). It blinks, runs native code, and even the MicroPython REPL!

See docs/reference/porting-checklist.md for the file-by-file port status against upstream rp2040js.

[!IMPORTANT] Single-core only. rp2040py emulates core0; there is no core1, and SIO's inter-core FIFO registers (FIFO_ST/FIFO_WR/FIFO_RD) are unimplemented — reads log a warning and return all-ones, writes are dropped, and CPUID always reads 0. Firmware that starts the second core (multicore_launch_core1(), MicroPython's _thread) will not work. This is deliberate rather than pending: adding the FIFO registers without a second core to answer them would turn today's loud failure into a silent infinite hang inside multicore_fifo_pop_blocking(), which is strictly worse — see docs/records/0053 for what building it properly involves. Single-core firmware — the default for MicroPython, CircuitPython, Kaluma and the pico-examples — is unaffected.

Quick start

pip install rp2040py
rp2040py micropython          # boots real MicroPython firmware, drops you into its REPL (Ctrl+X to quit)
rp2040py micropython -c "print(1 + 1)"   # or run one command non-interactively and exit

That's it — no manual firmware download, no board wiring. Everything below is depth: more firmware families (CircuitPython, Kaluma), WiFi, filesystems, a programmatic API, and how to add your own boards/devices. See Run the demo project for the full CLI, or jump straight to External devices & custom boards if you're here to extend it.

Table of Contents

Installation

pip install rp2040py

or, with uv:

uv add rp2040py       # into a project
uv tool install rp2040py   # as a standalone CLI tool
uvx rp2040py ...           # run without installing at all

Any of these gives you the rp2040py console script (python -m rp2040py works identically), so the emulator is runnable without a git checkout - see Run the demo project below for the checkout-equivalent commands.

[!NOTE] A handful of fully-sandboxed environments (iOS app runtimes - Pythonista, PythonIDE) can't load rp2040py's compiled extension; plain pip install rp2040py resolves to a wheel that won't load there. Force the pure-Python one instead: pip download rp2040py --only-binary=:all: --platform any --abi none && pip install rp2040py-*.whl --upgrade (the same artifact the release pipeline itself publishes, not a degraded build). Full platform × feature matrix - including Android, which works fine with the compiled extension - in docs/reference/os-compatibility.md.

Shell completions

rp2040py install-completion sets up tab completion for every subcommand and flag (--board, --log-level, --littlefs, ...) in Bash or Zsh, via argcomplete:

rp2040py install-completion
# then open a new shell, or:
source ~/.bashrc   # or ~/.zshrc

This appends the shell's register-python-argcomplete hook to ~/.bashrc/~/.zshrc (detected from $SHELL) - a one-time setup step, not something run on every invocation.

Run the demo project

The commands below assume rp2040py is installed (pip install rp2040py / uv add rp2040py / uv tool install rp2040py, or run ad hoc with uvx rp2040py ...). From a checkout of this repo instead, each maps 1:1 onto uv run python demo/*.py (demo/*.py are thin wrappers around the same src/rp2040py/cli code):

rp2040py subcommand Checkout equivalent
rp2040py run ... uv run python demo/emulator_run.py ...
rp2040py micropython ... uv run python demo/micropython_run.py ...
rp2040py kaluma ... uv run python demo/kaluma_run.py ...
rp2040py bench ... uv run python demo/benchmark.py ...

Two demos have no CLI equivalent because they emulate hardware rather than run firmware: the Waveshare 2.9″ e-Paper panel (demo/eink_run.py) and the RP2040-LCD-0.96's onboard ST7735S (demo/lcd_run.py). demo/README.md shows what both actually draw.

--board {pico,pico_w} (default pico) is available on all four and picks which board's fixed extras get attached alongside the RP2040 itself - the onboard LED and the BOOTSEL button on both, plus an emulated CYW43439 WiFi/Bluetooth chip on pico_w; see WiFi (Pico W / CYW43439) below.

Native code

You'd need to get hello_uart.hex by building it from the pico-examples repo, then copy it to the rp2040py root directory and run:

rp2040py run
# or, without installing:
uvx rp2040py run

You can also specify the path to the image on the command line and/or load a UF2 image:

rp2040py run --image ./my-pico-project.uf2

A GDB server will be available on port 3333, and the data written to UART0 will be printed to the console.

MicroPython code

No manual download needed: just run

rp2040py micropython
# or, without installing:
uvx rp2040py micropython

and enjoy the MicroPython REPL! Quit the REPL with Ctrl+X. The first run fetches the recommended MicroPython build (1.21.0, currently) from micropython.org into ~/.cache/rp2040py and reuses that cached file afterwards (falls back to the current directory if the cache directory isn't writable). 1.21 is recommended: it does far less work before dropping to the REPL prompt than newer releases, so it boots dramatically faster in the emulator (see the benchmark below). Newer releases work too, just slower to reach the REPL - e.g. 1.28.0.

A different version, a local UF2 file, or a CircuitPython version (--circuitpython, see below) can be loaded by supplying the --image option - a known version tag (1.28.0), or a path to a UF2 file already on disk:

[!TIP] Booting real firmware means executing millions of Thumb instructions through a pure-Python interpreter - dramatically slower than V8 JIT-compiling the equivalent JS in rp2040js, though the compiled rp2040py.native backend (on by default, see Performance below) closes most of that gap:

Interpreter Time to a resident script's first output (MicroPython 1.28 boot)
CPython 3.10 133.3s
CPython 3.10 + rp2040py.native (on by default) 11.3s (~11.8x)
PyPy 3.10 8.9s (~15x)

This is also why 1.21 is the recommended default version: both 1.21 and 1.28 reach the bare REPL prompt in well under a second, but running a typical resident script afterward is ~45x more expensive under 1.28 than 1.21 - real work MicroPython 1.28's own firmware does per loop iteration, not an emulator bug. See docs/records/0013-cython-core.md for the full measured breakdown (methodology, PyPy/CPython-JIT comparisons, the 1.21-vs-1.28 instruction-count numbers) and docs/reference/porting-checklist.md for a synthetic instructions/sec benchmark across all three runtimes.

rp2040py micropython --image 1.28.0
rp2040py micropython --image my_image.uf2

A GDB server on port 3333 can be enabled by specifying the --gdb flag:

rp2040py micropython --gdb

For using the MicroPython demo code in tests, --expect-text can come in handy: it will look for the given text in the serial output and exit with code 0 if found, or 1 if not found. It's repeatable (--expect-text foo --expect-text bar stops once both have appeared, on any line, not necessarily the same one or in that order) and, with --expect-regex, each --expect-text value is matched as a Python re pattern (via re.search) instead of a plain substring. You can find an example in the MicroPython CI test.

For one-shot, non-interactive runs (like micropython's own CLI), pass one of -c <command>, -m <module>, or a script <filename> - mutually exclusive, matching [-c <command> | -m <module> | <filename>]. Instead of dropping into the REPL, rp2040py boots the device, runs it via the raw-REPL protocol, prints its stdout/stderr, and exits with the device's exit status (0 on success, 1 if it raised):

rp2040py micropython -c "print(1 + 1)"
rp2040py micropython -m sys
rp2040py micropython path/to/script.py

mpremote

--tcp-port <port> serves the console over a plain TCP socket instead of this process's own stdio, so mpremote can connect directly via pySerial's built-in socket:// support - no client-side patching needed:

rp2040py micropython --tcp-port 4321
# in another terminal:
mpremote connect socket://127.0.0.1:4321 exec "print(1 + 1)"
mpremote connect socket://127.0.0.1:4321 fs cp your_script.py :main.py

--pty (POSIX only) is the alternative - a real pseudo-terminal, which additionally supports mpremote's own bare interactive REPL (rp2040py mpremote, a thin proxy subcommand, gets that working over --tcp-port too, patching around an upstream mpremote bug).

See docs/reference/mpremote.md for the full picture: connection details for both flags, the proxy and the bug it patches around, how to quit the emulator when mpremote owns the console, and exactly which mpremote commands are verified working where.

Filesystem support and WiFi both work here too, and cover MicroPython/CircuitPython/Kaluma in one place below - see Filesystem support and WiFi (Pico W / CYW43439).

CircuitPython code

To run the CircuitPython demo, follow the directions above for MicroPython but add --circuitpython:

rp2040py micropython --circuitpython

and start the CircuitPython REPL! As with MicroPython, the firmware (8.0.2 by default) is downloaded automatically on first use; a different version or a local file can be given via --image (e.g. --image 10.2.1 or a path to an already-downloaded UF2). The rest of the experience is the same as the MicroPython demo (Ctrl+X to exit, the --gdb option, etc). Filesystem support (a FAT12 image, not littlefs) and WiFi both work here too - see Filesystem support and WiFi (Pico W / CYW43439) below, which cover all three firmware families in one place.

Kaluma

rp2040py's USB/CDC emulation isn't MicroPython-specific - any firmware presenting a CDC-ACM serial console works the same way underneath. The kaluma subcommand runs Kaluma (a JavaScript runtime for RP2040), verified against 1.2.1 - it boots, USB enumerates, and evaluates real JS at its REPL prompt (e.g. sending 1+1 gets back 2):

rp2040py kaluma
# or, without installing:
uvx rp2040py kaluma
rp2040py kaluma --image 1.2.1
rp2040py kaluma --image my_kaluma_image.uf2

As with micropython, missing firmware is downloaded automatically (1.2.1 by default - the newest release still shipping a plain, non--w, RP2040 pico build; 1.3.0+ only ships pico2/pico2-w). Ctrl+X to exit, same as the MicroPython demo. Unlike micropython, kaluma is interactive-only - Kaluma has no raw-REPL-equivalent protocol, so there's no -c/-m/<filename>.

An optional <script.js> positional stages a local file into Kaluma's "user program" flash region before boot - the same one kaluma flash <file> writes to on real hardware, which Kaluma auto-executes on every boot:

rp2040py kaluma your_script.js

--board pico_w works here too - Kaluma's own require('wifi') scans, joins, gets a DHCP lease, and opens real net.Socket connections to the internet through the same bridge described under WiFi (Pico W / CYW43439) below (tests/kaluma/main-cyw43.js is a runnable example), and filesystem support is covered under Filesystem support below too, alongside MicroPython/CircuitPython's.

Give it a few real seconds after connecting before expecting output - like MicroPython, booting real firmware through an interpreted emulator takes actual wall-clock time (JerryScript engine init, then running your script), not something --expect-text needs to work around, just something to expect if driving this non-interactively.

--tcp-port <port>/--pty also work here, same as micropython - see mpremote above (that section is mpremote-specific, but the underlying mechanism, a plain socket/pty serving the console instead of this process's own stdio, is not).

Kaluma prints its "Welcome to Kaluma" banner exactly once, right at boot - but that's before the emulated USB-CDC connection to the host is actually up, so (same as real hardware racing a host terminal that isn't already attached - Kaluma's own docs: "if you cannot see the prompt, press Enter several times") those bytes are typically gone by the time anything's listening. kaluma doesn't send anything to work around this - type .hi yourself at the prompt to reprint the same banner on demand if you need to see it; if you're scripting against a device's output instead of typing at it interactively, stage a <script.js> and match against its output, which isn't racy (see the Kaluma CI test, which does exactly that).

Filesystem support

mklittlefs builds a writeable LittleFS-formatted image on the host (needs the optional fs extra: pip install rp2040py[fs] / uv sync --extra fs) - shared by MicroPython and Kaluma, which both boot from real littlefs flash:

rp2040py mklittlefs -o littlefs.img your_main.py your.py files.py here.py --main your_main.py

Every file keeps its own basename; --main marks one as auto-run on boot (omit it for a filesystem with no auto-run script, or omit files entirely for an empty formatted image). Always builds fresh - pass -f/--force to overwrite an existing --output. --target {micropython,circuitpython,kaluma} presets --block-size/--block-count to a known firmware's own layout instead of spelling them out by hand (mutually exclusive with passing them explicitly - the three differ, see the per-firmware notes below). --disk-version {2.0,2.1} selects the littlefs on-disk format (defaults to 2.0: MicroPython <=1.21's bundled littlefs can only mount 2.0, 1.28's reads both - see docs/records/0003).

  • MicroPython: --littlefs path/to/littlefs.img mounts it and auto-runs main.py if present (silently skipped, not an error, if it isn't - but never loaded at all unless --littlefs is given explicitly). The filesystem is writeable at runtime - os/rp2.Flash calls go through a real JEDEC SPI-NOR command emulation in the SSI peripheral (RPSSI), the same one real flash hardware uses.

  • Kaluma: its own pluggable littlefs-backed filesystem (see its docs) lives in a different, fixed 512K flash region (4096-byte blocks) than the <script.js> user-program staging area above, with no auto-run semantics of its own - plain storage, accessed from JS via require('fs'). Pass it via --littlefs explicitly (never picked up implicitly, even from a kaluma_littlefs.img in the current directory):

    rp2040py mklittlefs -o kaluma_littlefs.img --target kaluma your_script.js
    rp2040py kaluma --littlefs kaluma_littlefs.img
    

    Without a valid image, board.js's unconditional mount-at-startup logs cosmetic Bad block/ Superblock ... unwritable/No space left on device errors against unformatted flash - Kaluma catches and prints them without aborting, so boot and <script.js> auto-run continue normally.

  • CircuitPython: a FAT12 image instead of littlefs - build one with truncate/mkfs.vfat (not mklittlefs) and pass it via --fat12 (no default, never picked up implicitly):

    truncate fat12.img -s 1M && mkfs.vfat -F12 -S512 fat12.img
    mkdir fat12 && sudo mount -o loop fat12.img fat12/ && sudo cp code.py fat12/ && sudo umount fat12/
    rp2040py micropython --circuitpython --fat12 fat12.img
    

    CircuitPython doesn't typically write to its own filesystem at runtime the way MicroPython does, so this path hasn't been separately exercised - the underlying flash-write mechanism is the same SSI peripheral either way.

--dump-fs <path> dumps a device's littlefs flash region back out to a local file on exit (Ctrl+X, --expect-text, or the end of a run) - the same layout --littlefs reads back in, so it round-trips for persistence across runs. Works for both MicroPython and Kaluma; MicroPython additionally supports scripting it non-interactively via -c/-m/<filename> (see demo/mklittlefs_dump.py, which builds such a script from local files) - Kaluma has no non-interactive exec mode, so use require('fs') at its REPL instead. This makes --dump-fs a littlefs-python-free alternative to mklittlefs on either firmware: boot against blank flash, write files the normal way, dump the result - built by that firmware's own bundled littlefs, not a separately-installed library.

WiFi (Pico W / CYW43439)

--board pico_w (default: pico, any firmware) attaches an emulated CYW43439 - the WiFi/Bluetooth chip on a real Pico W - over the same gSPI bus real firmware drives it through. network.WLAN (MicroPython), wifi/socketpool (CircuitPython), and require('wifi')/net (Kaluma) all work against it - three independent network stacks over one bus, none of them needing anything CYW43-specific from the emulator:

rp2040py micropython --board pico_w

nic.active(True), nic.scan(), and nic.connect(ssid, key) all complete, answered by a fixed fake "RP2040PY-GUEST" access point built into the emulation. The association is fake, but the network behind it is real - a NAT bridge gives the guest a DHCP lease, answers its ARP, and splices its TCP connections and UDP datagrams onto real sockets on your machine, so code running on the emulated Pico W reaches the actual internet. Live-boot verified against real, unmodified MicroPython firmware on both 1.23.0 and 1.28.0:

import network, socket, mip, ntptime

nic = network.WLAN(network.WLAN.IF_STA)
nic.active(True)
print(nic.scan())  # [(b'RP2040PY-GUEST', ...)]
nic.connect("RP2040PY-GUEST", "key")  # any password is accepted
print(nic.isconnected(), nic.ipconfig("addr4"))  # True ('10.0.0.2', '255.255.255.0')

s = socket.socket()  # real TCP, out through your host's network
s.connect(("1.1.1.1", 80))
s.send(b"GET / HTTP/1.0\r\n\r\n")
print(s.recv(64))  # b'HTTP/1.1 301 Moved Permanently\r\n...'

mip.install("os-path")  # real DNS + a real HTTPS download
ntptime.settime()  # real NTP, sets the emulated RTC
nic.disconnect()  # link really goes down: isconnected() -> False, status() -> 0

TLS works through the same path (the reflector relays bytes without inspecting them), and so do WebSockets over both ws:// and wss://. CircuitPython (tests/circuitpython/main-cyw43.py) and Kaluma (tests/kaluma/main-cyw43.js) have their own runnable examples; CircuitPython additionally enforces WPA2's 8-64 character passphrase rule client-side, so the password you pass must be at least 8 characters even though the emulated AP accepts anything.

What is not emulated, so you don't discover it the hard way:

  • The AP is a fixture. scan() always returns the one fake "RP2040PY-GUEST" network, any password "succeeds," and there's no hidden-SSID or auth-failure path to test against.
  • No AP mode (network.WLAN.IF_AP), no IPv6, and one guest only (the guest/gateway IP and MAC are fixed constants, with no config surface yet).
  • No flow-control backpressure from the real destination onto the guest: the emulator always advertises a fixed TCP receive window, so a guest that outran a slow destination would grow the host process's socket buffer rather than being told to slow down. An emulated Cortex-M0 can't realistically outrun a real socket, which is why this hasn't mattered in practice.

See docs/records/0027-cyw43-wifi.md for what's emulated at the gSPI/SDPCM protocol level and docs/records/0048-cyw43-nat-reflector.md for the network bridge (how the reflector works, and the full list of what's still open).

Bootrom revisions

run, micropython, kaluma, and bench all boot a fixed bootrom (B1, bundled - no download needed) by default. --bootrom picks a different one: a b0/b1/b2 version tag (downloaded automatically from Raspberry Pi's pico-bootrom-rp2040 releases and cached locally, same as --image), or a local .elf/.bin path:

rp2040py micropython --bootrom b2
rp2040py micropython --bootrom path/to/custom.elf

Raspberry Pi only publishes .elf for each revision - pyelftools (a normal dependency, not an extra: it's a pure-Python wheel with no platform-specific build to justify gating it) parses out the ROM image on the fly, no separate conversion step needed. A local .bin (e.g. produced with objcopy -O binary) is loaded directly with no parsing at all.

Library API

Everything above is the CLI, but the emulator is also usable programmatically - e.g. to run code against a device and check its output the way Thonny does over a real serial port, from a test suite or another tool. rp2040py.device.MicroPythonDevice boots a UF2 image (optionally for a specific board, e.g. board="pico_w") and lets you run code on it via the same raw-REPL protocol mpremote run/tools/pyboard.py use, interrupting anything already running on the device first (e.g. an auto-run main.py from a littlefs image).

[!NOTE] Async-native only, no blocking API. MicroPythonDevice/KalumaDevice/BaseDevice boot and run as coroutines on an asyncio event loop (the same "engine room" the CLI itself runs on) - there is no blocking start()/exec()/exec_file() and no synchronous with device: form. Calling a blocking wrapper's Future.result() from the same loop it would need to run on deadlocks (the loop can't process the coroutine that resolves the Future while its own thread is stuck waiting on it), so this project stopped offering one rather than ship that footgun - wrap a call in asyncio.run(...) yourself if you want blocking behavior from a plain script.

asyncio, via astart()/aexec()/aexec_file(), entered as an async with context manager:

import asyncio
from rp2040py.device import MicroPythonDevice


async def main():
    async with MicroPythonDevice("RPI_PICO-20231005-v1.21.0.uf2") as device:
        stdout, stderr = await device.aexec("print(1 + 1)")
        assert stdout == b"2\r\n"

        stdout, stderr = await device.aexec_file("my_script.py")


asyncio.run(main())

Callback style, via exec_async()'s concurrent.futures.Future - no separate API needed, Future.add_done_callback() does this out of the box. Requires the device already started (astart()/start_async() first, or already inside async with):

def on_done(future):
    stdout, stderr = future.result()
    print(stdout.decode())


device.exec_async("print(1 + 1)").add_done_callback(on_done)

Both share one asyncio.Lock per device: since the device only has a single REPL channel and can't run two exec()s at once, calling exec_async()/aexec() again before a previous call finishes doesn't raise, it just queues behind it and runs once its turn comes. This is exactly what powers the CLI's own micropython -c/-m/<filename> batch mode - it's a caller of this same API, not a separate implementation. start_async()/astart()/stop() are available directly if you want more control over the lifecycle than the context manager gives you - stop() itself stays a plain synchronous call.

External devices & custom boards

Beyond the built-in --board {pico,pico_w} presets, the emulator has a real extension point for hardware it doesn't model out of the box:

  • ExternalDevice (rp2040py.external.device) - a device implements attach(rp2040) and gets wired up via attach_external_devices(). Devices already shipping in-tree this way: the onboard LED, the BOOTSEL button, a generic button/key, the CYW43439 WiFi chip behind pico_w, a Waveshare 2.9″ e-Paper panel, an ST7735S TFT controller, and a WS2812/WS2812B "NeoPixel" RGB LED.
  • boards.BoardSpec (what --board itself resolves to internally) - a public dataclass you build your own instance of: your own device mix on an existing firmware family, or a fully custom board with its own firmware and flash layout. Hand it to any Device class (board=...) or the CLI (--board-spec target:attr / RP2040PY_BOARD_SPEC, on run/micropython/kaluma/ mklittlefs). A board declares its firmware as data - a firmware dict keyed by family (micropython/circuitpython/kaluma), each entry a tag→URL-or-local-path map plus that family's flash layout - so one file covers one board for every firmware that runs on it, downloads nothing when imported, and works with --image/--fetch-fw-only exactly as --board does.

Adding your own

docs/reference/external-devices-and-boards.md is the full how-to: worked examples for both a new device and a new board, the attach-timing rule, and the caveats worth knowing before you start. If you're working in Claude Code, the external-devices-and-boards skill turns that into a step-by-step execution checklist (which template to copy, which test proves what, and the "3g rule" - every electrical fact cited to a real upstream source, never guessed).

Ready-made example boards

13 worked --board-spec targets for real third-party hardware live in boards/ - every number sourced from that board's own upstream firmware config (never guessed), live-boot-verified against real firmware. See docs/reference/external-devices-and-boards.md for the full list with what each one demonstrates. Screenshots of what the two emulated display panels actually draw are in demo/README.md; see docs/records/0049/ 0059 for the design history behind the extension points themselves.

Performance

The interpreter core (CortexM0Core) and the memory bus's hot read/write paths are also available as a compiled Cython extension (rp2040py.native), giving roughly 7x the instruction throughput of the pure-Python implementation on both a synthetic benchmark and a real MicroPython boot (see docs/records/0013-cython-core.md for the full measured breakdown).

That extension has since grown past the core itself: the PIO block and its state machines (0031, 0047), the per-batch execution loop (0034), the simulation clock (0039) and GPIO pins (0047) are all native too. Those are wins on top of the 7x above, on the paths each one covers rather than across the board - the most recent, measured end to end, is ~2.6x on a Pico W CYW43 boot through to scan() (0047), a PIO/GPIO-heavy workload the original core port barely touched.

This is on by default and needs nothing from you: pip install rp2040py builds it automatically when a C compiler is available (prebuilt wheels are published for common platforms, so most installs don't even need one) and falls back to the identical pure-Python implementation otherwise

  • correctness is the same either way, just the speed differs. A couple of environment variables exist for cases where you want to control this explicitly:

  • RP2040PY_SKIP_CYTHON=1 - force the pure-Python implementation at runtime, even if the compiled extension is installed (e.g. to rule out a native-specific issue).

  • RP2040PY_SKIP_NATIVE_BUILD=1 - skip compiling the extension at build time, for a deliberately pure-Python install/wheel.

Differences from upstream rp2040js

rp2040py started as a straight port of rp2040js - the core CPU/peripheral emulation still tracks it closely, and docs/reference/porting-checklist.md keeps a file-by-file checklist of that. But it's grown well past a 1:1 translation into its own toolkit with no rp2040js equivalent, built around actually running real firmware from a shell rather than embedding the emulator as a library (rp2040js's own primary use case, e.g. inside Wokwi):

  • A real packaged CLI - rp2040py/python -m rp2040py, installable via pip/uv, not just a checkout-only demo/*.ts script. Firmware (MicroPython/CircuitPython/Kaluma) is auto-downloaded and cached by version tag instead of needing to be fetched and placed by hand.
  • A real, writeable filesystem: RPSSI (the SSI peripheral MicroPython/CircuitPython's os/rp2.Flash calls go through to erase/program flash) implements the actual JEDEC SPI-NOR command set (WREN/WRDI, status/JEDEC-ID reads, page program, sector/block erase) - the same commands real flash hardware understands - not just a register stub. rp2040js has the same gap MicroPython/CircuitPython on rp2040py used to have (see docs/records/0008-ssi-flash-write.md's "SSI flash-write support"): on-device open(path, "w")/os.remove()/... genuinely persist to the emulated flash now, instead of raising/no-opping against an unimplemented peripheral.
  • A filesystem toolkit: mklittlefs builds a littlefs image on the host (needs littlefs-python, the optional fs extra); --dump-fs builds one without that dependency instead, by writing files to a booted device's real filesystem the normal way and reading the resulting flash region back out - see mpremote and Filesystem support above.
  • A programmatic device API (rp2040py.device.MicroPythonDevice/KalumaDevice) for driving a booted device from another Python program over the raw-REPL protocol (device.exec("print(1+1)")) - the same API micropython -c/-m/<filename> and --tcp-port themselves are built on, not a separate implementation. --tcp-port/--pty in particular let any serial-oriented external tool - mpremote chief among them, including its own bare interactive REPL via rp2040py mpremote (see mpremote) - drive the emulator over a real socket or pty, something rp2040js has no analogue for at all (no pty/socket-backed USB-CDC passthrough anywhere in its source, only stdio-driven demo scripts).
  • Broader firmware coverage: MicroPython, CircuitPython, and Kaluma (a second, independent USB-CDC-console JS runtime for RP2040 - unrelated to rp2040js despite both being JS) all boot and run against this emulator; a built-in GDB server (--gdb) works against any of them.
  • machine.reset()/machine.bootloader() actually reset the device: rp2040js's own RPWatchdog.onWatchdogTrigger (src/peripherals/watchdog.ts) defaults to logging "Watchdog triggered, but no reset handler provided" and does nothing else - the emulated CPU spins forever waiting for a reset that never happens. rp2040py's RPWatchdog.on_watchdog_trigger performs a real in-place reset (CPU core, PWM/DMA/USB-CDC peripheral state) and jumps back to flash's entry point, preserving flash/filesystem content and every externally-referenced peripheral object's identity - mpremote reset/mpremote bootloader (the latter performs the same reset rather than entering actual BOOTSEL mode, which isn't implemented) both return promptly instead of hanging.
  • Configurable bootrom revision (--bootrom b0/b1/b2, or a local .elf/.bin) - see Bootrom revisions below - auto-downloaded and cached the same way firmware images are. rp2040js ships exactly one hardcoded bootrom build (demo/bootrom.ts, revision B1), with no way to select a different revision at all.
  • An optional native-compiled backend (rp2040py.native, Cython) for when pure-Python instruction dispatch is the bottleneck - see Performance above - alongside a pure-Python universal wheel for environments that can't load compiled extensions at all (e.g. Pythonista, see Installation).
  • Pico W / CYW43439 WiFi emulation (--board pico_w) - real network.WLAN calls (active()/scan()/connect()) against a real, unmodified MicroPython firmware's CYW43439 driver are answered at the actual gSPI/SDPCM protocol level, not stubbed out, and a NAT bridge carries the guest's TCP/UDP traffic onto your host's real network (socket, mip.install() and ntptime all reach the actual internet) - something rp2040js has no equivalent of at all (no --board concept, no WiFi chip emulation). See WiFi (Pico W / CYW43439) above.
  • A real extension point for third-party hardware (ExternalDevice/boards.BoardSpec) - rp2040js has no board or device abstraction at all, only whatever's hardcoded into its own demo scripts. rp2040py ships 13 worked --board-spec examples for real vendor boards (WeAct Studio, Waveshare, VCC-GND Studio, three Adafruit boards, McHobby's PYBStick26, Machdyne, nullbits, Pimoroni), every electrical fact cited to that board's own upstream firmware source and live-boot-verified, plus a documented how-to for writing your own. See External devices & custom boards above.

See docs/reference/porting-checklist.md#known-differences-from-rp2040js for the exhaustive, file-level breakdown (including behavioral divergences found while porting, not just added features).

Used by

  • ballistics-lab/micropython-bclibc — tests its RP2040 usermod/natmod builds in CI by actually booting real firmware through this emulator (o-murphy/rp2040py/.github/actions/setup-rp2040py), not just compiling it.

Learn more

License

Released under the MIT license. Copyright (c) 2021, Uri Shaked. Copyright (c) 2026, Dmytro Yaroshenko.

Metadata

Release files for rp2040py 0.3.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rp2040py 0.3.0rc2
File Size Uploaded
rp2040py-0.3.0rc2.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rp2040py 0.3.0rc2
File
rp2040py-0.3.0rc2-py3-none-any.whl Python 3 none any Details
rp2040py-0.3.0rc2-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
rp2040py-0.3.0rc2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
rp2040py-0.3.0rc2-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_i686.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32 Details
rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l Details
rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
rp2040py-0.3.0rc2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
rp2040py-0.3.0rc2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details
rp2040py-0.3.0rc2-cp314-cp314-android_24_x86_64.whl CPython 3.14 CPython 3.14 Android API level 24+ x86-64 Details
rp2040py-0.3.0rc2-cp314-cp314-android_24_arm64_v8a.whl CPython 3.14 CPython 3.14 Android API level 24+ ARM64 v8a Details
rp2040py-0.3.0rc2-cp313-cp313-android_24_x86_64.whl CPython 3.13 CPython 3.13 Android API level 24+ x86-64 Details
rp2040py-0.3.0rc2-cp313-cp313-android_24_arm64_v8a.whl CPython 3.13 CPython 3.13 Android API level 24+ ARM64 v8a Details
rp2040py-0.3.0rc2-cp311-abi3-win_arm64.whl CPython 3.11 abi3 Windows ARM64 Details
rp2040py-0.3.0rc2-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
rp2040py-0.3.0rc2-cp311-abi3-win32.whl CPython 3.11 abi3 Windows x86-32 Details
rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details
rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_i686.whl CPython 3.11 abi3 Linux musl 1.2+ x86-32 Details
rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_armv7l.whl CPython 3.11 abi3 Linux musl 1.2+ ARMv7l Details
rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details
rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.11 abi3 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
rp2040py-0.3.0rc2-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.11 abi3 Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
rp2040py-0.3.0rc2-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_x86_64.whl CPython 3.11 abi3 macOS 10.9+ x86-64 Details
rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_universal2.whl CPython 3.11 abi3 macOS 10.9+ universal2 (ARM64, x86-64) Details
rp2040py-0.3.0rc2-cp310-cp310-win_arm64.whl CPython 3.10 CPython 3.10 Windows ARM64 Details
rp2040py-0.3.0rc2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
rp2040py-0.3.0rc2-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-32 Details
rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_armv7l.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARMv7l Details
rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
rp2040py-0.3.0rc2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
rp2040py-0.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 102.7 MB

Release files / rp2040py-0.3.0rc2.tar.gz

Download URL rp2040py-0.3.0rc2.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
b861d837d6ef027fee3bb61956efb3e8e6ce0bab9cd99b967a322ea2573579fa
BLAKE2b-256 checksum
How to use checksums
927fd8ad8820d044917c975177be5ae372acbced0d487c9ae9ac0b16595ee5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-py3-none-any.whl

Download URL rp2040py-0.3.0rc2-py3-none-any.whl
Size 349.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
636d96b4a9350b54c7cd8d5288bd5df31cb88fb7bfd88e37a0469143f9fcd089
BLAKE2b-256 checksum
How to use checksums
4b596fb2709f16973809fcb58df48e5131bc5ea09be9c4ac46c1712fe0d52004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-win_arm64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-win_arm64.whl
Size 2.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
27fb45ae19070eabb1ed3cf50bf8034632f3d9bdd362b207c0d0f29835f13f64
BLAKE2b-256 checksum
How to use checksums
f4684158c8a68bc921b61f60554fb5be405a3651119c90f5afce48ae4fb02923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-win_amd64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-win_amd64.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
58e30d0d00c6a6ed326b1ab877343aacf30c64895972673d89a4cb35476138ef
BLAKE2b-256 checksum
How to use checksums
c9d2efef2939bee441d858611b06fc59c070637e26a67a90686d9877240db2e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-win32.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-win32.whl
Size 2.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
0f20a512d655403fda9fbbc226930a61e693e690b96cb6d1d21342c6279f8962
BLAKE2b-256 checksum
How to use checksums
4f51df2ae52dbf2f864534fdb1ae93bfd93e27de4e2c2d006762fb92fe731a26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f08accae172df93ee65a1458e230b0aa07a5379d45a8f5d3ee8b9f8268da9d6a
BLAKE2b-256 checksum
How to use checksums
529fff4bda052e7664ab3c91822d30cc8ca6660603c4cc731cec65541af41756
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_i686.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_i686.whl
Size 2.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
9c17462d2080c0c17eda44b4e4da7531758dfe732bea9cb0117b294b27bceaa8
BLAKE2b-256 checksum
How to use checksums
acec2542de3f31978c6b628d30c9092cea0cfcaae69db708174a787384f558d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_armv7l.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
6db1b0d7bd07ada29ae36b2624eb8e64f93923b8651f15e21959842e790b2655
BLAKE2b-256 checksum
How to use checksums
067da0dc966b758e16239d142539ece52faf571f82c1043205f2b1a5498fb5e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7a9064339cfb3005785dbd007c3d04efd32f2677d07c517324da9db48d7815ac
BLAKE2b-256 checksum
How to use checksums
a1629f3ab6f6fca67c67f030c3f99edd28d9e1cec8ddfbbb04181b27f815edda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ef5893ff12a99972317e6742748a5390164fdc6dee35f3bbece418382fc723be
BLAKE2b-256 checksum
How to use checksums
78424d8e5d705f33aff37e0202c6cb7edb184683cd64c825df1b7bc370d94366
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
869010c9a79867778852b0266f74a4b30f8d5dc10a1e7b22da1bc856633e26e0
BLAKE2b-256 checksum
How to use checksums
90c3c003ea4406d86f020874749b629af375a7a2a1020be0a914f51e600c170a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
77f89021eccc536a29d93015c38e6c1816671028fe11cbebfadd116254beb3a6
BLAKE2b-256 checksum
How to use checksums
7c68a8e9dfe2e497293fae8b3b2ca01669802bb963ab0ae16e1f711ccdc3c794
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
fe13db9c195daeca4574b3272677a73e12f4e2312aed19751076710356f42937
BLAKE2b-256 checksum
How to use checksums
05dd8097b7da0651be1986a8ed2877a35b4f9328669e7ad2844723986ec1585b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-macosx_11_0_arm64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1e8ad48607bb030fb44495cd88cd3aa6316fa79dacfe0ebc87243b4aae873492
BLAKE2b-256 checksum
How to use checksums
ca1e2e3e24c6bccdb312dcb3522fd1f383fc0b29725d49fb155057919fff390b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a7aaf06de0f20eee298b8f665c8c60b66a949a3f85793ead6038a69a5c2560df
BLAKE2b-256 checksum
How to use checksums
d0b1e2853d87c86a66e5069227ac8c85b16d0fb72f9c0ec6e00d0828d239cf4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_universal2.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314t-macosx_10_15_universal2.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
49a04272f5966b9121026e178298c3051d3be54aa9a993e4ab08e3e465893ce3
BLAKE2b-256 checksum
How to use checksums
5c51549e97279791994b23767bf1be3d6d25174e338ace8a52d8165ed9f1bbf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314-android_24_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314-android_24_x86_64.whl
Size 2.1 MB
Tags Android API level 24+ x86-64 CPython 3.14
SHA-256 checksum
How to use checksums
55d800add9c76c58b22461d68810e1f3b45ef776d3cf5174036c0ef51f72d5a0
BLAKE2b-256 checksum
How to use checksums
c58b089996c7b693ddd6528a473d6e2d36e66947cb6f918d40c8876df0c7066d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp314-cp314-android_24_arm64_v8a.whl

Download URL rp2040py-0.3.0rc2-cp314-cp314-android_24_arm64_v8a.whl
Size 2.1 MB
Tags Android API level 24+ ARM64 v8a CPython 3.14
SHA-256 checksum
How to use checksums
bb87138ee368fb7a9b4af9c5b6de5b7ec6049b0966dfb8fa14362137eb2092de
BLAKE2b-256 checksum
How to use checksums
9608b2fdb01ef839a482313724c3b659e96bf95ff0df44642d4db2e0fa4fc7bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp313-cp313-android_24_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp313-cp313-android_24_x86_64.whl
Size 2.1 MB
Tags Android API level 24+ x86-64 CPython 3.13
SHA-256 checksum
How to use checksums
0f4fd60814d165e8786897531e4c0bfe12dfdf01d6f2dfd14a98b2c1f98f5c86
BLAKE2b-256 checksum
How to use checksums
4863fe2a4901bd765a56d2255aaba6db1ffcfb9de96621e150563908f66097a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp313-cp313-android_24_arm64_v8a.whl

Download URL rp2040py-0.3.0rc2-cp313-cp313-android_24_arm64_v8a.whl
Size 2.1 MB
Tags Android API level 24+ ARM64 v8a CPython 3.13
SHA-256 checksum
How to use checksums
8fe08e30db1f6ff2ca087819db165da91c29fa9d8f7e89c540df67b84d92e001
BLAKE2b-256 checksum
How to use checksums
f4fa8eef5aa742130cffd45f614f901c66690fdfa648a88cd1bf40953431abf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-win_arm64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-win_arm64.whl
Size 2.0 MB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
48f1c00bb98c0152d32302c234daf9b98a53a7100615db49fef5f574b18f5902
BLAKE2b-256 checksum
How to use checksums
122f8524161d84b91e7b1504dc0dd9a8a85154cb4709c0b6d11473f68d539c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-win_amd64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
680b952b9521c93a84d71065520480e7d9797fa545a31618991ff473344cc481
BLAKE2b-256 checksum
How to use checksums
79e6cc8862dde10fe466f1a048e28e7cbd09774990b570b6201a899267dae216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-win32.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-win32.whl
Size 2.0 MB
Tags CPython 3.11 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
e416bbe32f5f31c1c0941ae5474365b18d7d6326f9c5fbb9dd1b06e6af39d1c3
BLAKE2b-256 checksum
How to use checksums
d3b2d840f8c06b172cb7897e712f1bccb2bdb7466d64541bb7c8ebf4c468b00d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
2772546ccb30d0fc17a7599936884a03d5068a37286ccea3023a3e977492443c
BLAKE2b-256 checksum
How to use checksums
526de49aba38dcd9ea2c7c177548dea757c2229a24055eafdef3d532e2fd5d8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_i686.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_i686.whl
Size 2.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
9e8cf3b0e580bd972e9b6b153aba950906989c8b1b243bb1cd5a241aeec7ecc7
BLAKE2b-256 checksum
How to use checksums
7678027167ab27c61c8a19d136f878d5c96f76267d3329abb64ffa28116f04d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_armv7l.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
2fb61251685e27a8900027f0e51d1ef61a075fb2dae9ddae0a08d7b956bb13f2
BLAKE2b-256 checksum
How to use checksums
cef5c56272eef0d4facf48ae29c1a9ec90a89eb3ec62014209ffa3503ffe2efc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
2f48af62077c52cdaa4bc2539e690ef0d728ad3529c5a07f89049a0aacfbdaf1
BLAKE2b-256 checksum
How to use checksums
3f68fb9eee1174e6e1f2fb9e71bbeeebb8e9c7612bf9697a769f18b91994dc46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
c7c63418790d12f2f37fa387d13837ba56b3eb52757c8a286553cd215a81449a
BLAKE2b-256 checksum
How to use checksums
6dc835945e8d3ff2ac7547bede3e8d2b12511f5addfad78a56d6a99158f128b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l abi3
SHA-256 checksum
How to use checksums
1e08200c0fc8fbcac85478759b2bbecee19620071da9b57d8f603f889800c182
BLAKE2b-256 checksum
How to use checksums
dc2431c8be231f5a5e3eacd71d5b979579500d1b3ffa5cf97651fb5a80321b54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
7cd0fa616f44577f81190f13e5c48fa40919430f32b10b79a05ef80d1b9dc47e
BLAKE2b-256 checksum
How to use checksums
27e62c1034cdc507964e492cbf54760ccf92beb416a3426433f6761a77bac9a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32 abi3
SHA-256 checksum
How to use checksums
d26356b091fba8f6b811489d8d38e773146de4eb6ad7bbcf52c93bde47ff1cc0
BLAKE2b-256 checksum
How to use checksums
7473ed6071f12fe4daef0137bd35c2ca25a11c4b1b468ddfc65bd9a4f58e9d47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-macosx_11_0_arm64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b152ac2952baf46c454af860e5e7026d9163e78f8bbc75ad55a2dd8afb10716c
BLAKE2b-256 checksum
How to use checksums
777d349315be8fc557718ffe209130390b9202d40f1e499e68b642137e387caf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
edaf4abb389a230952ed4ac58e5ba261fc4d84058ab13ecca9e5a5357568f503
BLAKE2b-256 checksum
How to use checksums
b40ea0004a7ee0f9d2945b93488eccdd91ab8921ff7f55f51289d88b8ed97055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_universal2.whl

Download URL rp2040py-0.3.0rc2-cp311-abi3-macosx_10_9_universal2.whl
Size 2.7 MB
Tags CPython 3.11 abi3 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
9a97c0837bb062f9b7ccc88e59fb77bc08655d60d28d6d3f8aadbff6ff9804c4
BLAKE2b-256 checksum
How to use checksums
44a9202f35c992331ca4ebca7dc234fd845d92b25f15a73b459d8888b268f122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-win_arm64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-win_arm64.whl
Size 2.0 MB
Tags CPython 3.10 Windows ARM64
SHA-256 checksum
How to use checksums
ffcbba8317c088dece72c5316a0bf5178e4425282da97f13c3bb00a3d373b03c
BLAKE2b-256 checksum
How to use checksums
a4ac43383761e529d1130e5ad61eb9490fbb73e23d036fd1756ae2c0f32d5659
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-win_amd64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a4eb3cc9717958d92edce7f0a1e81d7737d7d8a35d220643bda347a21238dde5
BLAKE2b-256 checksum
How to use checksums
a3249b9c73eda894968a717b07ccc482ea71e48da35b82355466b3871e752cf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-win32.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-win32.whl
Size 2.0 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
81e8f4cda84758c1e8f0bf4bd808a68f33e33b3e2b5231d3e5652a6c2b271b7d
BLAKE2b-256 checksum
How to use checksums
fb81ba11a3c89eb50e5cc419f00c3190359e24bfdb02b745c7589bfeb771f048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a89148075610e4a6cd7cda657e0435b82dcc40deb8b807b6be7e98c37e6f0464
BLAKE2b-256 checksum
How to use checksums
836965dd292062306c0d72339f471e326c7021325100a7fb89e0b55a94e06f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_i686.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_i686.whl
Size 2.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
fcd016cdbb655cd3fc9ff4ac58fea417d95fdc9ca21c18897bd443156819e65f
BLAKE2b-256 checksum
How to use checksums
c5fce469e508410f31c7d66f4c4c52b4b362372c66a33d5a0a825cf7283400a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_armv7l.whl
Size 2.2 MB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
3b05965c2e0a6ea033476bef9283090ee7b588461051a1c9f0c9767e38676a39
BLAKE2b-256 checksum
How to use checksums
3329c4c84f09091734499056b6cdd4c0bb7f8e427ba782b96d48d43ee0ff1e7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c5c5117e123cab89ec2ff64a4325f192bea718cff14636ef2e0fc9fcbb7d816f
BLAKE2b-256 checksum
How to use checksums
8c9e3de5476ef982da9916d639d1f7546097ae233583d5b7ff59220ed52a8dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b91cde38e20d0fcbffc7694804435e1b7ef07b0ac3af8818aeac69c224cfbb22
BLAKE2b-256 checksum
How to use checksums
8a7a4f4be680c91d4540d1a21953c7bf187c3820248f232153cb651594a07681
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 2.2 MB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
2add80bd34a6ea84dd9b28fdba4be47821d644d8d137548cc728cdc99fb97245
BLAKE2b-256 checksum
How to use checksums
dd2ff3a5fe801daeb00e0d07ead3b71b0c7a04316a5345cb1b60b89ca5bd4f00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3354f3554aa5ac109de59976eec832b0bd49ad0b99a7dbfb1e5b2365fa39d8bf
BLAKE2b-256 checksum
How to use checksums
a07f011c8e2ebf7d986471ae59ab7d7c0e65ce3c073a6a31334c06583a73b692
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
c00b6628d59adacb2a7e59e9ec71b54f8bc17df48aee60b9c9fb7ad637cc986c
BLAKE2b-256 checksum
How to use checksums
877c4a261fe5631e966255d81c380cb28d748bcb4b2f5fe982b9416ae8c0a7c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
012e982279abd8b611f9ece67c39556e3db2eae6c91239eba3743ea8b89b05a9
BLAKE2b-256 checksum
How to use checksums
d69bfadaebb4f6d1829d3a823d353c5524be5af6d208bf85e14ddebe14c20c8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
Size 2.2 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ce481fecf845189f4624a4df90d9f03cb14d1855fa12130b13c51faa2def0925
BLAKE2b-256 checksum
How to use checksums
9bac31d0580ee7a10aa846878731bf0b3f99096370f22e2f1a81b01e7d5efe1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_universal2.whl

Download URL rp2040py-0.3.0rc2-cp310-cp310-macosx_10_9_universal2.whl
Size 2.8 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3dd4261e91573b6dc8dd6b526f1b60febc6c0c8216bca5cce5972af0607e28e5
BLAKE2b-256 checksum
How to use checksums
bea1cffc360324c4cc021792b6c3383e3a1ae59f46dc47fa19f80d644aa96c36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log
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