Skip to main content

Python bindings for McuBoot implementation in Rust, providing high-performance communication with NXP MCU bootloader.

Project description

Rblhost

Rblhost Logo

This is a concept implementation of the blhost tool in Rust programming language. It includes McuBoot implementation, similar to the one in spsdk, together with spsdk-like Python bindings using pyo3 crate.

Features

  • UART communication with configurable baudrate and timeout
  • I2C communication with configurable slave address
  • Command-line interface compatible with the original blhost tool
  • Python bindings for integration with other tools
  • C/C++ bindings

Documentation

Changelog

Version 0.2.0

  • Added support for flash-image command with S-record format parsing
  • Implemented S-record file format support in image parser
  • Fixed stub files for Python bindings

Performance Benchmark

The Rust implementation offers performance improvements compared to both the Python SPSDK implementation and the original C/C++ blhost tool.

Performance Benchmark

Benchmark performed on MacBook Air M2 comparing rblhost with SPSDK blhost and C/C++ blhost 2.6.7. Benchmark measures get-property 1 command execution time with MCXN236 board and 57600 baud rate. Resulting time is in miliseconds.

Key performance highlights:

  • Faster startup time compared to both Python and C++ implementations
  • Improved command execution speed
  • Native performance with the convenience of Python bindings

Installation

Prerequisites

  • Rust toolchain
  • For Python bindings: Python 3.8+ with development headers
  • libudev-dev package (for Linux)

Building from Source

Clone the repository and cd into it:

git clone https://github.com/nxp-mcuxpresso/rblhost
cd rblhost

Refer to sections below to build bindings or the CLI tool.

Building CLI tool

Build the CLI tool:

cargo build --release

The binary will be available at target/release/rblhost. For example usage of the library, look in examples folder.

Building Python bindings

  1. Create and activate a virtual environment.
  2. Build rblhost with Python bindings
    cargo build --release --features python
    
  3. Install pymboot into the virtual environment
    • Normal installation
      pip install .
      
    • Development installation:
      pip install -e .
      

For examples on how to use Python bindings, look into examples folder.

Building C bindings

Note: Compiling together python and c_api features/bindings may result in malfunctioning libraries.

Prerequisites:

  • Rust toolchain (rustc, cargo)
  • C compiler (gcc, clang)
  • For Linux: libudev-dev package
  • For macOS: Xcode command line tools
  1. Run the following to build C bindings:
    cargo build --release --features c_api
    
  2. This build process will:
    1. Compile the Rust library
    2. Generate C header files (compatible with C++) using cbindgen
    3. Create the shared library
  3. Output files are:
    • Library:
      • Linux: target/release/libmboot.so
      • macOS: target/release/libmboot.dylib
      • Windows: target/release/mboot.dll
    • Header file: include/mboot.h

For more information about the bindings, refer to C Bindings section. For examples on how to use C bindings and an example CMakeLists.txt file, look into examples folder.

System-specific Requirements

Linux

  • For UART: No additional requirements
  • For I2C: The i2c-dev kernel module must be loaded
    sudo modprobe i2c-dev
    

Windows

  • For UART: No additional requirements
  • I2C communication is not supported on Windows

macOS

  • For UART: No additional requirements
  • I2C communication is not supported on macOS

CLI Usage

Basic Command Structure

rblhost [OPTIONS] -- COMMAND [ARGS]...

Communication Options

UART Connection

rblhost -p <port>[,<baudrate>] [OPTIONS] -- COMMAND [ARGS]...
  • <port>: Serial port name (e.g., COM3, /dev/ttyUSB0)
  • <baudrate>: Optional baudrate (default: 57600)

Example:

rblhost -p COM3,115200 -- reset

I2C Connection

Basic information:

  1. Uses the Linux I2C device interface (/dev/i2c-X)
  2. Supports specifying a slave address or uses the default (0x10)
  3. Follows the same packet protocol as UART communication
  4. Requires the i2c-dev kernel module to be loaded on Linux systems (refer to System-specific Requirements)
rblhost --i2c <device>:<slave_address> [OPTIONS] -- COMMAND [ARGS]...
  • <device>: I2C device path in /dev/i2c-X format, where X is the I2C bus number
  • <slave_address>: Optional slave address in hex format (e.g., 0x3A), default is 0x10

Example:

rblhost --i2c /dev/i2c-1:0x3A -- reset

Common Options

  • -t, --timeout <MILLISECONDS>: Serial read timeout in milliseconds (default: 5000)
  • -s, --silent: Suppress status response and response words
  • -v, --verbose: Increase verbosity level (can be used multiple times)

Example with timeout:

rblhost -p COM3 -t 10000 -- flash-erase-all

Available Commands

  • get-property: Queries various bootloader properties and settings
  • reset: Reset the device
  • execute: Jumps to code at the provided address
  • call: Invokes code at an address, passing an argument to it
  • flash-erase-all: Perform an erase of the entire flash memory
  • fill-memory: Fills the memory with a pattern
  • read-memory: Reads the memory and writes it to a file or stdout
  • set-property: Changes properties and options in the bootloader
  • configure-memory: Sets a config at internal memory to memory with ID
  • flash-erase-all-unsecure: Erase Complete Flash and Unlock
  • flash-erase-region: Erases one or more sectors of the flash memory
  • write-memory: Write memory from a file or CLI
  • fuse-program: Program fuse
  • fuse-read: Reads the fuse and writes it to the file or stdout
  • receive-sb-file: Receives a file in a Secure Binary (SB) format
  • flash-read-once: Read from MCU flash program once region (eFuse/OTP)
  • flash-program-once: Write into MCU program once region (eFuse/OTP)
  • trust-provisioning: Group of subcommands related to trust provisioning
  • key-provisioning: Group of subcommands related to key provisioning
  • load-image: Sends a boot image file to the device

MBoot C Bindings

The MCU Boot library provides a C API that allows C/C++ applications to communicate with MCU bootloaders. The API provides functions for:

  • Connecting to MCU bootloaders over UART
  • Reading and writing memory
  • Getting device properties
  • Executing commands on the device

Including the Library

  1. Include the header file in your C code:

    #include "mboot.h"
    
  2. Compile your C program with the library:

    # Linux/macOS
    gcc -o my_program my_program.c -L./target/release -lmboot -Wl,-rpath,./target/release
    
    # Windows
    gcc -o my_program.exe my_program.c -L./target/release -lmboot
    

    You can also use cmake example in examples.

Look into the generated header to see all currently available functions.

Error Handling

The API functions return integer status codes:

  • 0: Success
  • -1: Invalid parameters (null pointers)
  • -2: Invalid property tag
  • -3: Communication error

All of these errors are specified as macros in the generated header. It's also possible to use mbot_get_status_text function to get a text description of the error during runtime.

Memory Management

All functions containing Allocations section in their documentation allocate data on heap, which must be later freed.

Thread Safety

The MCU Boot C API is not thread-safe. Do not use the same MBOOT_CMcuBoot instance from multiple threads simultaneously.

Troubleshooting

Library Not Found

If you get a "library not found" error when running your program:

  • Linux: Set the LD_LIBRARY_PATH environment variable:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./target/release
    
  • macOS: Set the DYLD_LIBRARY_PATH environment variable:

    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:./target/release
    
  • Windows: Add the library directory to your PATH or copy the DLL to the same directory as your executable.

Linking Errors

If you get undefined symbol errors when linking:

  1. Make sure you're using the correct library name (-lmboot)
  2. Check that the library path is correct (-L./target/release)
  3. Verify that the library was built successfully
  4. "Undefined reference to Py*" -- Build the library with only the c_api feature, like shown here:
    cargo build -rF c_api
    

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Missing and unimplemented features

  • Implement all of blhost and McuBoot commands
  • Add doc comments to everything This could be enforced by using lints in rustdoc.
  • Implement missing python bindings
  • Address all TODO and FIXME comments
  • Add different texts for different board families
  • Refactor and optimize the code

State of work

This table compares the commands available in rblhost (Rust implementation) with the original blhost (C implementation), and indicates which commands are supported in the Python bindings.

Command rblhost blhost Python Bindings C Bindings
reset
get-property
set-property
flash-erase-region
flash-erase-all
flash-erase-all-unsecure
read-memory
write-memory
fill-memory
receive-sb-file
execute
call
flash-security-disable
flash-program-once
flash-read-once
efuse-program-once
efuse-read-once
flash-read-resource
configure-memory
flash-image
reliable-update
generate-key-blob
key-provisioning
load-image
program-aeskey
fuse-program
fuse-read
trust-provisioning

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pymboot_rs-0.2.0-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pymboot_rs-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pymboot_rs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_universal2.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

pymboot_rs-0.2.0-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pymboot_rs-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pymboot_rs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_universal2.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

pymboot_rs-0.2.0-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pymboot_rs-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pymboot_rs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_universal2.whl (3.5 MB view details)

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

pymboot_rs-0.2.0-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pymboot_rs-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pymboot_rs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_universal2.whl (3.5 MB view details)

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

pymboot_rs-0.2.0-cp39-cp39-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.9Windows x86-64

pymboot_rs-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pymboot_rs-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_universal2.whl (3.5 MB view details)

Uploaded CPython 3.9macOS 10.12+ universal2 (ARM64, x86-64)

File details

Details for the file pymboot_rs-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pymboot_rs-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pymboot_rs-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cfa580233d161183232da84ff91065da0f89f68c8e83205b56275b6b17f8adbe
MD5 192102f087a22db69bd5054be2549683
BLAKE2b-256 6893bbed550867324d359c515189b304db9e55c4f9c656d660268b4bb03cfa4d

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 98fd5ad07908bc45d8dc860aa81342c06c2ca9d99529ebd17362050ea30dd746
MD5 458c1be1b15fe963e90c750d3f0150dc
BLAKE2b-256 cb68b1de6e6342b9af485f9835ab7904bbc5da012dbc02bd1556c4c8461a494c

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 038a66141bc9538833202a0234c3b3324cb231964006efaffca9ac4947a50af3
MD5 b634ebcd7b7d96c935cc80d55e63eb8c
BLAKE2b-256 a02cdaa999dfeda884047d657c25c94e195dbb8de9e9d24d30e5ca7fe5545973

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 746faae6cb61d1cc6fa1ffc1592962bc9e73fc373746274c09a0cf8023c877c7
MD5 8f473d873cc13b53112ad8b9211aa478
BLAKE2b-256 2cc69ddcf8e5d1348f36d9401a21a7be68747b231a56094f95c52b12b9235f6b

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1c7c68d17a822be5023db72f3baa1ef683ac6e8dc487c76bd2f8ef5b1e1b3e8b
MD5 8d70d80f33286781df2abd366b68b2c0
BLAKE2b-256 c704491c946650cc46b1258aa7948eefd0382cf2e6eab87c272d36cdb5754ca8

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pymboot_rs-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pymboot_rs-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 29a46e5125cd8d07bee791b7e1806f1de8178dab5ac5b7f5e967c4c8b4bb14da
MD5 3fda4bdef67f4b28ed8c132b3e66d951
BLAKE2b-256 07a189f88d8f751f3804eeb1ad112ebbd7dee14ea829d63bb69b1ebd2635954b

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b7ee3e99f1bf6836ad7d9967c9eabe7b2080f605d43416ec6b841a4532ba3308
MD5 4ad990506f6f9a1a5544cd7b04716090
BLAKE2b-256 2e4e221ca49b37f49605afa07d56340ed8dd42e93cd870b006c293e7aefb7bba

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4f458d30cfc9c0a5f48124f6c2c4c5410666c23109ef3e68744295acd83948a
MD5 c483aed4b0c17ba516ee87d5e03eade4
BLAKE2b-256 8684508df6a6a286102f8cd02b61c408a62ae74f8a94bd3bcfc5821cad083dbc

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ce91cff91b760705d2b1c31db696a29c1c6464208913f9ed0a02625538e45100
MD5 3a9578d6c24651c8c53cb3cdf7964c1a
BLAKE2b-256 c9167cb642b4990ede00878a4c0bc10855b3558d8a3f87702c76f292e7965618

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1a0b2de3bf4f1de2c19e8d605b575f571df0a8e000b59fc3b9128f137b18cf11
MD5 c02055e2c9ace55fcc022ddd31de8b25
BLAKE2b-256 ae7854d807018f795021d1b6908cb9e810d1af394d42cbff91160b12b7f016c2

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pymboot_rs-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pymboot_rs-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 273b97c1a1b175441fb0e8ada88d0566f2acc35936099987d283585c8b3fc244
MD5 2ba5d7e6359ad9ae5d2111c59a219f4e
BLAKE2b-256 4c21690dacb5fb09436362e4ac6ed2612663e4673b09ddcda93c40395dd13a5c

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a4bc9878c605af9f22fa138303993de7df85ca4ecf17686c03583fac8d7b743d
MD5 7dcc680def3be5e01a576411dc9cf767
BLAKE2b-256 6cf4dd32f8b78367b5298a5aa70a2e3a75b425a8d8b9b7a6a35fe86cb1976a0d

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fce9a6ed1ec6b9156f8b8aa53210dfe69b5d5a294d72f5f6075427fa412fd32
MD5 38757f04715a74c22f5fadc06e425ee5
BLAKE2b-256 36f2c29079fa71d6b8a12bff0b81a6b95dd961e04c3a32439e3d12a243638a20

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 98dfb1f7a781ca8458ce6c0e130113a6447b3888a1bda3bd895d8e3b622453d9
MD5 6f743370dd32af36f0d38642ea3c9ff1
BLAKE2b-256 c09933a8a0045d913d59946879d3b2a363a6bd6e7172b375b18578f27cc73417

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp311-cp311-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 e7736a707e58696697c986d93baa6afc40962e6e30fd31f0a2b43c76e7ecc74f
MD5 806fecd14a3494d1c6b0810bf8c55f2e
BLAKE2b-256 7ca56ef97ebd42f3b0fe8ef29f90bbbafdbe40c7f351fee2c4f86093ac84a956

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pymboot_rs-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pymboot_rs-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ef71235d6b1d74522128dc719a4a481737ae33457ddad3a86e1a6e966b6f870c
MD5 e15892d20f7b0956b9f888e8389f0f22
BLAKE2b-256 42b1aad3ffa3abac5c92c1cc417810d8a6f325c4f8eb9e0a3516856e4feefd7e

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 738cd317e4478eb39827396793bab13b088435a6223fe84f9af979174704db7f
MD5 4216e5b98791bd3fef47750bdb3bc4ef
BLAKE2b-256 2fb2c9c225d7ef683bac432bbe0880d5111fc6c6932566f73d310213516070cd

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9523f5ecf4fa526a74734ed7f3cc24e3dbbc00a71d81db661a7bb838bc8ba5d
MD5 751378fbe508fcd1b3b32dd3b45c0954
BLAKE2b-256 d2c797a65004e674e4e5b02c1b4963b3517cbc2f3b3344d23e0f9319f7891be5

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d64793a67bc95e19e205a7ba088750f32472b7b81aa3ee683a884fca4d9c8df0
MD5 8a7fc1ff274aafbbf5a942f45d16e374
BLAKE2b-256 805dcc75a24494010f312fbefece46b360144974d3bd4ff8fdb40d89016edc21

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp310-cp310-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 585d0a02edabaec891496a8be3209f9f9e8412187c93cf8cc6216f1c4554143d
MD5 9324533ff63bf454fad713c3ee373899
BLAKE2b-256 a552b8d3b471b7434c7c5540a9ab3558c4635efed97c179ca4094409c24613d0

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pymboot_rs-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pymboot_rs-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8064fa080a8af0e0238771512038ec950e7aef6241b58a6ee51ba71ae4daf86b
MD5 41927b3c96f1182b05ba234e13f7aa1d
BLAKE2b-256 369ab0a2d2e17f4cb54614366da1017c9bcf2e577c894a012af663ce9c3ecbf4

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 81596fb83f87bbde5bed958888df748dc43436a0b78e694caf89e19d61b68599
MD5 242ecd07d1f539e4a3d065f07ff0bede
BLAKE2b-256 4546437a7ef3a1489e93e1cb5395775e04e8ed01e2ffa8e228fdce9c37deaa79

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de330b7ab0bb4cd4f6fc448a497b1bc6a705860b87378106ed9af7a5505a3cdb
MD5 0f4c2f4675a09f70595eaee067e82983
BLAKE2b-256 a09b6731ae55542e3da27cacb108ec547cbde3d36b444145e0b8a2cd51b81d4e

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 17096614a36844262922f2f8404c551faaed362480c3f986b7c0bf5163fe29b2
MD5 65e40f407ca617a2387245b9e3cdedc4
BLAKE2b-256 2f2aa7134c9f287e8b2e88eb1f8ad061616c8466b20fbceaa80fad0ded63c55b

See more details on using hashes here.

File details

Details for the file pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for pymboot_rs-0.2.0-cp39-cp39-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7d6c9df057ffc4656f395f7a357b3921ca777853a9fd6ae6621466e2f19491ae
MD5 dab8bca8a3b6a6757476b454baef14d3
BLAKE2b-256 047fde7b0494ad98fa40eb1f20a84eb3f1153e3e7d7fd1c8505be9ccae1f5407

See more details on using hashes here.

Supported by

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