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/PORTING.md for the file-by-file port status against upstream rp2040js.

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.

Environments without compiled-extension support (iOS/Android)

rp2040py ships an optional Cython-accelerated backend as a compiled extension (see Performance) alongside a pure-Python fallback with identical behavior - but a handful of environments, notably iOS apps like Pythonista and some Android Python apps, sandboxed by the OS, can't load compiled .so extensions or import native code dynamically at all. A plain pip install rp2040py there resolves to a platform-specific wheel that simply won't load. Force the pure-Python universal wheel instead:

pip download rp2040py --only-binary=:all: --platform any --abi none
pip install rp2040py-*.whl --upgrade

This is the exact same artifact rp2040py's own release pipeline builds and publishes for every release (RP2040PY_SKIP_NATIVE_BUILD=1, see .github/workflows/publish.yml's build-pure job) - not a degraded or unsupported build, just the emulator without the compiled speedup.

To confirm you actually got it:

  • Before installing: the downloaded file's name - a genuine pure-Python wheel is rp2040py-<version>-py3-none-any.whl, with no platform/ABI tag (e.g. no cp310-abi3-manylinux...) anywhere in the filename.
  • At runtime: rp2040py.rp2040.RP2040.__module__ is "rp2040py._rp2040" (pure Python) rather than "rp2040py.native._rp2040" (compiled) - equivalently, watch for the UserWarning ("Native extensions are not available...") rp2040py.native raises on import once the compiled backend isn't present, which is the expected, harmless case here rather than an error.

Tested:

  • iOS
    • Pythonista - full support (no [fs] optional dependency, no mpremote support for now)
    • PythonIDE - full support (no [fs] optional dependency, no mpremote support for now)
  • Android

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 ...

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, which is dramatically slower than V8 JIT-compiling the equivalent JS in rp2040js. Measured with demo/benchmark.py booting MicroPython 1.28 + littlefs, then running a typical resident script (while True: print(...); time.sleep(1), same as ci-micropython.yml's fixture) to its first output:

Interpreter Time
CPython 3.10 188.98s
CPython 3.10 + rp2040py.native (Cython, on by default) 25.83s (~7.3x)
CPython 3.14 + PYTHON_JIT=1 113.77s (~1.7x)
PyPy 3.10 8.75s (~22x)

The rp2040py.native figure improved from an earlier 46.65s (~4.1x) after fixing two Cython compilation gotchas in the bus/interpreter hot path (untyped address/value parameters forcing a PyLong box on every memory access, and bare 0x80000000+ hex literals silently compiling as Python-object constants instead of C literals) - see docs/BACKLOG.md for the full writeup, including why PyPy's gap didn't close by the same amount (a real boot spends a large, unchanged share of its time in still-Python peripheral emulation that these fixes don't touch). This row is CPython 3.10 specifically (this project's default target, and below the abi3 floor - see Performance below): CPython 3.11+ actually measures slower in absolute terms (33.90s, ~5.6x) on the same fixed source, purely from the stable-ABI (Py_LIMITED_API) build every 3.11+ wheel uses - see the same BACKLOG.md section for that gap too, found (and initially mismeasured!) while producing these very numbers.

The rp2040py.native row is what most installs actually get with no extra effort - see Performance below. It doesn't help PyPy (compilation is deliberately skipped there - PyPy's own JIT already does better on its own than routing through rp2040py.native's CPython-C-API-based extension would), so for CPU-bound runs PyPy is still the clear winner: uv run --python pypy3.10 --no-dev -- rp2040py micropython ... (or ... -- python demo/micropython_run.py ... from a checkout). See docs/PORTING.md for the full breakdown (including a synthetic instructions/sec benchmark) and CI's python_runtime matrix, which tests all three.

This is also why 1.21 is the recommended version: reaching the bare REPL prompt is fast on both 1.21 and 1.28 (well under a second, whether or not a littlefs main.py auto-runs first) - the gap above is specifically about running a script shaped like the one above afterward. On the same machine and CPython 3.10, that same script reaches its first print() in 3.72s (1,418,835 steps) under 1.21 versus 188.98s (64,679,599 steps) under 1.28 - identical instruction counts run-to-run (this is deterministic, not host-speed noise), so the ~45x gap is a real difference in how much work 1.28 does per loop iteration, not an emulator bug: profiling shows the core essentially never reaches WFI/idle during that time, so it's real Thumb instructions being interpreted, not something hanging. 1.28 still boots and mounts a mklittlefs-built littlefs image correctly (that's exactly the version pinned disk_version fixed compatibility for, see below); it's simply much more expensive to actually run typical resident scripts on.

Core-level per-instruction throughput work continues independently of this version gap (most recently: RP2040.write_uint32() was checking a peripheral dict lookup before cheap RAM/flash range comparisons - see docs/PORTING.md for the running log). These are general wins, not something that closes the 1.21-vs-1.28 gap itself - that gap is real work MicroPython 1.28's own compiled firmware does per loop iteration, not something this project's emulator code controls.

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 - for tools that expect a serial port but can't open one, notably mpremote in a sandboxed environment with no serial support at all (e.g. Pythonista, see above). No client-side patching needed - mpremote connect socket://host:port just talks directly to rp2040py, via pySerial's own built-in socket:// URL support:

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 instead of a TCP socket, whose slave side (e.g. /dev/pts/3) is a genuine POSIX serial device path - everything --tcp-port supports also works here, plus mpremote's own bare interactive REPL, which does not work over --tcp-port's socket:// transport through the real mpremote binary (see below) - though rp2040py mpremote (a thin proxy subcommand, same arguments as mpremote itself) patches around that specific crash, so rp2040py mpremote connect socket://host:port repl works too, no --pty needed.

See docs/mpremote.md for the full picture: connection details for both flags, the rp2040py mpremote proxy and the upstream bug it patches around (micropython#18660), how to quit the emulator when mpremote owns the console, and an explicit list of which mpremote commands are verified working against each transport (exec, fs, mount, run, reset/bootloader, the interactive repl over --pty or rp2040py mpremote, ...) versus the remaining documented limitations (the real mpremote binary's own bare interactive REPL over --tcp-port, --pty on Windows, and df on MicroPython ≤1.21).

Filesystem support

With MicroPython, you can use the filesystem on the Pico. This becomes useful as more than one script file is used in your code. Build a LittleFS formatted filesystem image (see mklittlefs below) and pass it with --littlefs path/to/littlefs.img, and your main.py will be automatically started from there (it's silently skipped, not an error, if the file doesn't exist - but it's never loaded unless --littlefs is given explicitly, even if a littlefs.img happens to sit in the current directory).

The mklittlefs subcommand builds such an image (requires the optional fs extra: pip install rp2040py[fs] / uv sync --extra fs). Every file keeps its own basename; pass --main to mark one of them as main.py (auto-run on boot) - omit it entirely for a filesystem with no auto-run script, e.g. modules staged for a raw-REPL-driven test, or omit files entirely for an empty formatted image. Always builds fresh - pass -f/--force to overwrite an existing --output (there's no "add these files to the existing image" mode; rebuild from the full file list):

rp2040py mklittlefs -o littlefs.img your_main.py your.py files.py here.py --main your_main.py
rp2040py mklittlefs -o littlefs.img --force your_main.py --main your_main.py  # to overwrite it later

--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, while 1.28's reads both - see docs/PORTING.md for why.

--target {micropython,circuitpython,kaluma} presets --block-size/--block-count to a known firmware's own filesystem layout instead of spelling them out by hand (mutually exclusive with passing them explicitly) - see the Kaluma section below for why its layout differs from MicroPython/CircuitPython's.

The filesystem is writeable - MicroPython's os/rp2.Flash calls go through a real JEDEC SPI-NOR flash command emulation in the SSI peripheral (RPSSI), the same peripheral real hardware uses to erase/program flash.

--dump-fs <path> dumps the device's filesystem flash region back out to a local file when the micropython/kaluma subcommand exits (Ctrl+X, --expect-text, or the end of a -c/-m/script run) - the same layout --littlefs path/to/littlefs.img reads back in, so a dump can be fed straight back with --littlefs/--dump-fs pointing at the same path for persistence across runs:

rp2040py micropython --littlefs littlefs.img --dump-fs littlefs.img -c "open('log.txt', 'a').write('run\n')"

[!TIP] This makes --dump-fs a littlefs-python-free alternative to mklittlefs: instead of building the image on the host with littlefs-python, boot the real emulated MicroPython firmware against blank flash, write files to it the normal way (open(path, "wb").write(data), exactly as code running on a real Pico would), and dump the resulting filesystem - built by MicroPython's own bundled littlefs, not a separately-installed library. demo/mklittlefs_dump.py generates such a script from a list of local files (mirroring mklittlefs's own --main semantics) for use as the positional <filename> argument:

python demo/mklittlefs_dump.py your_main.py your.py files.py here.py --main your_main.py \
    --output flash_script.py
rp2040py micropython --dump-fs littlefs.img flash_script.py

Useful when the fs extra isn't installed, or to build against exactly the same littlefs version/behavior a given firmware boots with instead of whatever littlefs-python happens to bundle.

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

For CircuitPython, you can create a FAT12 filesystem in Linux using the truncate and mkfs.vfat utilities:

truncate fat12.img -s 1M  # make the image file
mkfs.vfat -F12 -S512 fat12.img  # create the FAT12 filesystem

You can then mount the filesystem image and add files to it:

mkdir fat12  # create the mounting folder if needed
sudo mount -o loop fat12.img fat12/  # mount the filesystem to the folder
sudo cp code.py fat12/  # copy code.py to the filesystem
sudo umount fat12/  # unmount the filesystem

Then pass it explicitly with --fat12 (no default - fat12.img sitting in the current directory is never picked up implicitly):

rp2040py micropython --circuitpython --fat12 fat12.img

CircuitPython doesn't typically write to its own filesystem at runtime the way MicroPython's os/rp2.Flash does, so this hasn't been separately exercised - but the underlying flash-write path (see the MicroPython filesystem support section) is the same SSI peripheral either way.

Kaluma (other USB-CDC firmware, not MicroPython/CircuitPython)

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

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.

Separately, Kaluma has its own pluggable littlefs-backed filesystem (see its docs), mounted from a 512K region of flash with 4096-byte blocks - a different flash region than the user-program one above, with no auto-run semantics of its own (plain storage, accessible from JS via require('fs')). Build a compatible image with mklittlefs and pass it via --littlefs explicitly (no default - unlike MicroPython's --littlefs, it's never picked up implicitly, even from a kaluma_littlefs.img sitting in the current directory):

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

--target {micropython,circuitpython,kaluma} presets --block-size/--block-count for a known firmware's filesystem layout (mutually exclusive with passing them explicitly) - omit both for MicroPython's own defaults.

--dump-fs <path> works here too, dumping the same littlefs-formatted region back out on exit - but unlike micropython, kaluma has no non-interactive exec mode to script filesystem writes through (no -c/<filename> raw-REPL equivalent, see above), so the mklittlefs-without- littlefs-python trick above doesn't apply the same way; use it interactively via require('fs') at the REPL instead, or stick with mklittlefs.

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

[!NOTE] Without a valid --littlefs image, board.js's unconditional mount-at-startup logs Bad block at 0x0/Superblock 0x0 has become unwritable/Error: No space left on device against the unformatted flash region - purely cosmetic, Kaluma catches and prints the error without aborting, so boot and <script.js> auto-run both continue normally past it. This used to reproduce even against a validly-built mklittlefs image, not just blank flash - no longer reproduced after the SSI flash-read/write fixes in docs/BACKLOG.md (a real --target kaluma image now mounts and reads/writes cleanly, verified via tests/kaluma/index-flash-rw.js), though that wasn't a deliberate target of those fixes and hasn't been separately root-caused - flag it if it resurfaces.

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

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

Blocking (exec()/exec_file()) is the simplest form - each call returns once the device finishes, or raises TimeoutError after timeout elapses (30s by default, since unlike the CLI there's no Ctrl+C to fall back on):

from rp2040py.device import MicroPythonDevice

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

    stdout, stderr = device.exec_file("my_script.py")

Callback style, via exec_async()'s concurrent.futures.Future - no separate API needed, Future.add_done_callback() does this out of the box:

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


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

asyncio, via astart()/aexec()/aexec_file():

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

All of these - blocking, callback, and asyncio - share one ThreadPoolExecutor(max_workers=1) 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()/start_async()/stop() are available directly if you want more control over the lifecycle than the context manager gives you.

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/BACKLOG.md for the full measured breakdown).

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/PORTING.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/BACKLOG.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 docs/PORTING.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

  • rp2040js — the upstream TypeScript emulator this project is ported from.
  • docs/PORTING.md — port status, file by file.

License

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

Download files

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

Source Distribution

rp2040py-0.2.0b1.tar.gz (466.5 kB view details)

Uploaded Source

Built Distributions

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

rp2040py-0.2.0b1-py3-none-any.whl (213.9 kB view details)

Uploaded Python 3

rp2040py-0.2.0b1-cp314-cp314t-win_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14tWindows ARM64

rp2040py-0.2.0b1-cp314-cp314t-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14tWindows x86-64

rp2040py-0.2.0b1-cp314-cp314t-win32.whl (1.0 MB view details)

Uploaded CPython 3.14tWindows x86

rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7lmanylinux: glibc 2.31+ ARMv7l

rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

rp2040py-0.2.0b1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

rp2040py-0.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_universal2.whl (1.5 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

rp2040py-0.2.0b1-cp314-cp314-android_24_x86_64.whl (1.1 MB view details)

Uploaded Android API level 24+ x86-64CPython 3.14

rp2040py-0.2.0b1-cp314-cp314-android_24_arm64_v8a.whl (1.1 MB view details)

Uploaded Android API level 24+ ARM64 v8aCPython 3.14

rp2040py-0.2.0b1-cp313-cp313-android_24_x86_64.whl (1.1 MB view details)

Uploaded Android API level 24+ x86-64CPython 3.13

rp2040py-0.2.0b1-cp313-cp313-android_24_arm64_v8a.whl (1.1 MB view details)

Uploaded Android API level 24+ ARM64 v8aCPython 3.13

rp2040py-0.2.0b1-cp311-abi3-win_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11+Windows ARM64

rp2040py-0.2.0b1-cp311-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11+Windows x86-64

rp2040py-0.2.0b1-cp311-abi3-win32.whl (1.0 MB view details)

Uploaded CPython 3.11+Windows x86

rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ i686

rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARMv7l

rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

rp2040py-0.2.0b1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rp2040py-0.2.0b1-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARMv7lmanylinux: glibc 2.31+ ARMv7l

rp2040py-0.2.0b1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

rp2040py-0.2.0b1-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.2 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

rp2040py-0.2.0b1-cp311-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 10.9+ x86-64

rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_universal2.whl (1.4 MB view details)

Uploaded CPython 3.11+macOS 10.9+ universal2 (ARM64, x86-64)

rp2040py-0.2.0b1-cp310-cp310-win_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows ARM64

rp2040py-0.2.0b1-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

rp2040py-0.2.0b1-cp310-cp310-win32.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86

rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rp2040py-0.2.0b1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

rp2040py-0.2.0b1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7lmanylinux: glibc 2.31+ ARMv7l

rp2040py-0.2.0b1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

rp2040py-0.2.0b1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

rp2040py-0.2.0b1-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_universal2.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file rp2040py-0.2.0b1.tar.gz.

File metadata

  • Download URL: rp2040py-0.2.0b1.tar.gz
  • Upload date:
  • Size: 466.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1.tar.gz
Algorithm Hash digest
SHA256 6100576e7a8ddf0ca6167275ab57874bcfc3dc6a30e6f63d029f619dd18531d3
MD5 5a68f7ddaabaf1ca437e20c0fb3d176c
BLAKE2b-256 5b61ff8b381aa0437dc727a5cb17ab8af2e290749b3a7fcbfceae4286ed70f92

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1.tar.gz:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-py3-none-any.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-py3-none-any.whl
  • Upload date:
  • Size: 213.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1b2329477139622ada338a5ad89b6e83d402a7918552a08f124afdcff47b27b
MD5 d693c589399c019764fc169eb9408f33
BLAKE2b-256 e6af2692d5b4813b417aa7e575032b9c54a54652214b056f82e265349825a55e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-py3-none-any.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 df734ce7bed08b99078a3aa73d4b8e10101b4b1b6698856d8422dca9bf840364
MD5 bda72de0fb1f9a27a9a9879e0d98f283
BLAKE2b-256 538a819501bbde42f398e461536c9d1c7e759249265fe6c17b550394c7a97d3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-win_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 279e07573a973321cff2c5385e0bfddde62a6351b5f92a530f84faa6d9b00175
MD5 4eb5a37cb3ef9a4e670ef09ac92c8334
BLAKE2b-256 de49d956e0b2850c199cd60948a2b71ba508d53ea524b8ae75e1d223689f73d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-win_amd64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-win32.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 171d33fcf90d059bc1049a5a98c0d38430acc140a23ed9851b0715997ad9a314
MD5 5fd5f66602165185607517c25fd62ebb
BLAKE2b-256 3728e527a9274d3fb60b8645d4c66386a7aee99a0837db16259f2a8e9a22f204

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-win32.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 925b99890fb0c8d7c5bf00973b9da541c3217b69c1ad6063710f1065a82ac32b
MD5 68af4c4dc8a7185e4d8e902d868168f0
BLAKE2b-256 2dfb5bb52cb21b3d246233d940eab75befece9666cc3411c2b75244441139370

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4db465f1ed3a999fff9b66169b6b7e3d9268559f85127f66f3a8c4bfd4c03c0e
MD5 3444e7ad62e1078713c15f112b458dc0
BLAKE2b-256 f4de6b9d516bc6fe2d9700291e0254c967404d2f54b1256cfc6bbf0e18e6e005

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 30e1da93bca93f19d3905ef93a9992660c19167ef3486569a6f2eea5a784c0eb
MD5 94bc7c5a3cedd949a9aca090c1c12d31
BLAKE2b-256 350b6bf406ba326bfd8df357aff620ad592714107f9b1a7e017348aa1cbd0d1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 904e4753c611cef51125dfdb38f11a524cceacf1de774e41b557d9e7c9ae3069
MD5 7e571f71c8423d93aed7641534c3d0f3
BLAKE2b-256 c383e119b8c11d9153706c9dd3ec7fa3b9f9629398b8c5921f986cfa08528c3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee87216232868077998e8a4b24e71a2f3de9e619f0053fff6550eba6f29deb4b
MD5 d6cf96bca992cd3a9060a6d617771ae9
BLAKE2b-256 4fe9dca248f81e199419824f517905f236fbace85247b41b5fcab684713f4603

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 29dcbbe8775618b52486a9625509d702b06dba4c3d19c540a01d7f1dc7425f8a
MD5 077559edec07243bf592017337c014a0
BLAKE2b-256 10d2da6fd360a72455f248fb88577aec5649bdecf52c662d32eb48de15cf1de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9749118421a57c2f5a84852342b5ff5ad1143b9e1849292655f18677866646bd
MD5 889395959bf6aafa1fe4dcf64d6989a9
BLAKE2b-256 19bead5a57592ffac760fde6f1499273321fec46e197dfe1c75a8a9372bca252

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 7774468ab470db5f8ee1ecbc5ecacc9f881828a71f2364f6f7cbb771dbf05762
MD5 119156d53ef1a05a7de0465d67bf802f
BLAKE2b-256 3fc64b59c98af19f267f5f32cb3e332944bd7c8c148a9f330f008dd9620d413b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a044e937c746511a44814e9e4686ab5605ae36684e8ba34d867ea3ade967078b
MD5 4b163351f83f871ab0c6c1ec9f5e2040
BLAKE2b-256 8966902e936fa7bf63f1d46e64d30df2966c25727ae268092ca6f169b0961091

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a8fb71b918699439b69de60b92008e5dc31c18a01c3c4cb2c95747c1ddc93e90
MD5 4cc174b9e6e8b16ee6870c26ebfd83a4
BLAKE2b-256 6dae56951d6201e45f865b4a031a31d3c3fa6397e4d46534a64eed51355d6783

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 16c063c5fb4442470a6c3e88c013cd9fcf744dc55b7e4220292bf639bb6766e8
MD5 95d085f912dfb4d7e6f291efc08f1326
BLAKE2b-256 7fa74b32375605401148b52663f99fc3df6517e575e2dece45ab932a8c86d866

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314t-macosx_10_15_universal2.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314-android_24_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314-android_24_x86_64.whl
Algorithm Hash digest
SHA256 7e7fce0d82b67a23f6451ad91d684683cab6d86e9fa39063c511f52d3ba732e9
MD5 07341ac68c511bdf6b9e15e9e50210a7
BLAKE2b-256 7b66b4c979888e3e9481104b5f87e886aaa6d9dbf058438004f9d9618003fa44

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314-android_24_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp314-cp314-android_24_arm64_v8a.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp314-cp314-android_24_arm64_v8a.whl
Algorithm Hash digest
SHA256 c34a59ae356993b7faf246463f36a08315bed4097c70bc32b0bde368abcf434c
MD5 e0ddb408d8f3cbd3a9fc0ea44d96cb89
BLAKE2b-256 1c86a0ddfb397e24be9d8f6ce01d125450d8ecc64f06a01b1f40a6dd3d143edb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp314-cp314-android_24_arm64_v8a.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp313-cp313-android_24_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp313-cp313-android_24_x86_64.whl
Algorithm Hash digest
SHA256 8d41109a4c7afe234e182c9f8d31031651dda82bee54f8595c468cf8cbc56ca9
MD5 42d904b39efc4603ec921a804d9fdf85
BLAKE2b-256 b12fd39d7ba7e73af3837b3dfa3ef7bb06a7ab9d6f9245157515ad8914061a52

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp313-cp313-android_24_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp313-cp313-android_24_arm64_v8a.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp313-cp313-android_24_arm64_v8a.whl
Algorithm Hash digest
SHA256 8412de9d319e2b9db2adba58b4d8f388c856dff35ba8a76e0f0f325750e35ede
MD5 103b3b9b8b1b3b6a9f45f15f9c0392d0
BLAKE2b-256 b8a96d6ab1e15deb78c76c99833b31bd977ad1476a6364a03df8280725ed5ed9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp313-cp313-android_24_arm64_v8a.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-win_arm64.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp311-abi3-win_arm64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 09b19ff6995aa5be7a2a32b86b8cd81d1d6b47dc0afbe4c9403a855e9c43c0d7
MD5 a679b341f4e90fe6cc2bcccd56827caa
BLAKE2b-256 7a60778cbc91d90703ae0585cede5fe60f340ffff4fc49a0a393ee93dbda97b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-win_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 38ee31c0bafd0c216ca23d9111cb29064e715c6843581053ceaacb60ffaea544
MD5 b92e370ce7c973b821788425f7d56a64
BLAKE2b-256 f880da695ec2ebd3b4406a799390e46aab128953bf9aec65b2ce0d588ef35193

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-win_amd64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-win32.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp311-abi3-win32.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-win32.whl
Algorithm Hash digest
SHA256 37a2f97f2d2b9f06c6dfcd2b8b490e581ff42e2bec92a3e29380074945000e69
MD5 7d8f752166bd553690f6e3a06ada219b
BLAKE2b-256 516551447247ba76b674336c5de56ab6108dde6d5f0836aa1160c3629dd8b1a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-win32.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aac48ec5b04dd16bd9c65acee96ab2d4f08a58f2030bdd33f69ccae09320e352
MD5 028afc9518cb0c575627c55bf17d7324
BLAKE2b-256 a177036baf1e76372fc8148dbdd13f314ef6422a6e676ea5a86f5a3788d187bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7ed0f5c25366b69ceb9d89a9a3ce093887fae5799683f862fa67a9396085e435
MD5 6a9afefa6029818d28968410111451f4
BLAKE2b-256 7413f8d7c3ab91c106578d2ae5d29b3714e4625297ee2668cd0d423922cd600a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5a1e727506a468c9f647b9993796837409820c585973702346f03afe1565da55
MD5 5ff5a8f9b307cb25986aafaee63d42b3
BLAKE2b-256 ff028cb1336996ef0d8b58177f9dc32381a45a62625f5c548c23a5aed2da0057

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d75170c16cfb507ae407b7eb091518843ed98bcb497db56dcc7a1c09824ada82
MD5 ff310e7de27b4962216cf6624140d6ac
BLAKE2b-256 960942e552829ee4ec9ac32ca398107e5cce11dc29f5362e6ae80565e82c557c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f13a7bb537a4961428a35679d957bcb84cd92e8f64b47f6e4ff6b465c30bb7a
MD5 7f7ab51f35fcdf024bf0898c65693bd9
BLAKE2b-256 bf5d73a1a7836cfbf642bd2d5f71b376627c909f1d7340558f6f67a92e805bc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 180363450f15460ed0151f3198d3840688ab81ce7c5bf4917c1a411014241952
MD5 bdf413b9ab51e0ce20713b31be64dc26
BLAKE2b-256 76b8ca04b46904d1c5672559751a438e22ef70d38b1635e63544c02b70215fec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bc14eaeb227706702d954c3c6c94cc96e770f968981d92c5fada2917c2bb6172
MD5 98b90c534aced33f5c0e8e9b66ae3fa1
BLAKE2b-256 391fbe43ff1dbf2d6a8aa6de4cb5f53f7146f2d5535ce0a7665b4fdd0e65d6fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 b7387b9f0f4690e95d5a79b65214172992aa012a3360ecddc33960ccd52d423a
MD5 cf20b31d5917f0c879c317b6d1e2a371
BLAKE2b-256 cb05ce6187c8c488d99096c8cdd34ef30d71c4cab6026d0a0e14223026aadb02

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e979a0579f55e1a83b5d5bb6fc679b4797d9d9c20cbcfe7c1b54b9d57438ba49
MD5 8f65311cd72f2b88c4d9654726e3d1bc
BLAKE2b-256 9f48bd300cc4b90af9b150b0cc9875013fa9375c26a356d25e5efef35f6f987c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7627297ecbc9c63dc197d07769f1835f5e00fc79821d132bd605a27319b4dc04
MD5 73ecb15c40b8706f7442229c46369cf9
BLAKE2b-256 6e547de3786d44dea09a14d278070dfdd3d9e91dfd4d564e0633e794a5c97b27

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f9cbe382ada25112418b598d0b47b223fedc28068d494b9dba417e285ed04fcf
MD5 03a605b5fbd1ca7eeca67cf88704d9f8
BLAKE2b-256 06356013482fbdeadcb8975a64f344dd7e205a919122765d4c0af762f3ec5c28

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp311-abi3-macosx_10_9_universal2.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 867b2b6b308fbc918602dde54303012ee2e86023604b367cabb31fc791313df4
MD5 2ad3fc761c204c47658604d6e0a648ac
BLAKE2b-256 c1c71c5432f4851045064787023427e38bb2f1e7fa03b1210934f55e54037867

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-win_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a450d10537e8351b953832006ace22c4398909e7ea33e8288ec6918e263a8f39
MD5 e60784a5e4ca429aa7f51e393b21aa1e
BLAKE2b-256 105dcbb2b99627c04c6c7a14a265214e740e29c3343fb600e42c3dfe4651a809

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-win32.whl.

File metadata

  • Download URL: rp2040py-0.2.0b1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 af9591f3d6f07dce2b3c8b0c5839c2f5b7d2489679b945496d339817c74f727a
MD5 7b2b05cb1a5ab8e5a21e94dcb66af803
BLAKE2b-256 a88083ccec1403f1308fbb9aae8285c5e856f06a2bdd847a674e762f94c18da2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-win32.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0bf10f94202df863b5a27f27d4d8c57528320ba44ee48efd9ac54a91224ca21b
MD5 c6eb32cea6d7bab353f619e2e5989f84
BLAKE2b-256 61ba042967b897a03d158586a7bb8ea81c6693e5ea48ea25281ac01410fb8d6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 54d88ab8a7d3fb8a7e5386ab58ca8bc72cd68e2507b64c3e4182fccfee41606f
MD5 68bbb2175ecaa3302f0edc9898ebbce7
BLAKE2b-256 efb2d5016be596564c6183c128898376a0ff94872828c3892485d00f7f8c064b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 42dac1085ff0b1aba4b007bb45abc8d6278dfc6c320871a418b72881fa069a4a
MD5 6f412dc99c56beba429d9eb18747014f
BLAKE2b-256 82bab7ab1bb364a96faf3eb84c65e4f9caea5def08dcbc05df914b7f76988a8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6957afe0caac806a2a0fc9491f3da03ed9fdab57dc4fc4e32742723f94dc3f91
MD5 27dfed6f011b909b4cff483508a78744
BLAKE2b-256 46d49e7ba7e05d7e57be8e2bb7d876f6dcd667caf6aa3e0a7bad19dd88d72a3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10bd1b1215864af5344bcf998a32276b81a3470465c13d1a844cbe951d53ed77
MD5 0e91ca30647cb6cac1e025750067cfad
BLAKE2b-256 5382ba06cd45a221f8165877dd85949b8bbdabc33754d4bf54fce697316d3ec5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 69ddd621e6706ad29d8abf10d06b8677af6692e1a2b5bc235956f10a2b17fff1
MD5 00486f2f76aad3a6ec3592635ed8471f
BLAKE2b-256 906a4376932ebfe24323194146ad5256ef7ff998400917b1e1fabeb815fe594d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 52c246cfe9901f993e15129bf7de639d391cc76a0bf2d194427c33a7f84737b7
MD5 7ee8e03343cd3432b916f5618dc23e38
BLAKE2b-256 2f99042ccfdfde06be8b74583588efb2318f6fed545a6378054f86c5a930ed26

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 808250dcef823354b6486d40f43a16d15f946ff92429632f7437879d14865f4d
MD5 5e51c716f085164261ae2c9684a6d3f1
BLAKE2b-256 e8ae2d51a212f6458e55cf473d094fba89e8e735ad1b16fa0c1aa9e51a3608ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21ed087b4a8b893206cf4a6e2fcb7d8453be1f6b90d8b4f96256e1ece0483bbb
MD5 b5a18ad30c1239b1816f99027df59118
BLAKE2b-256 cfb6e309134615dcd1f6db2deee441184c6c3da5fcc8f29493d486c8e3dca9b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f4e78f071c1e9c0b990ca4f10f3c0f6c997099cbe0671ab826f4e0874382065
MD5 194ae9cee03395e8285e14c31b3cdad2
BLAKE2b-256 af8552bb3b930af121d28ea11e3431cdca656d8e645873723fe5a8e40bc7d2ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a1e0af6a679b6dd5d9c55074aa9757074d1faa8ee8258c73ef2f0321c2d8506e
MD5 94f2e350869dba054cef3e8e16d83a97
BLAKE2b-256 ea2fa652cc2969893082592b0ba1c89f89f04bd3b1dd576cc5dd6a36863b30b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rp2040py-0.2.0b1-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: publish.yml on o-murphy/rp2040py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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