Skip to main content

Python SDK for motorbridge Rust ABI

Project description

motorbridge Python SDK

Channel Compatibility (PCAN + slcan + CAN-FD + Damiao Serial Bridge)

  • Linux SocketCAN uses interface names directly: can0, can1, slcan0.
  • For USB-serial CAN adapters, bring up slcan0 first: sudo slcand -o -c -s8 /dev/ttyUSB0 slcan0 && sudo ip link set slcan0 up.
  • CAN-FD transport is available both in CLI (--transport socketcanfd) and Python SDK (Controller.from_socketcanfd(...)), and is required for Hexfellow.
  • Damiao-only serial bridge transport is also available in CLI (--transport dm-serial --serial-port /dev/ttyACM0 --serial-baud 921600).
  • Full Damiao serial-bridge interface list and command patterns are documented in motor_cli/README.md (section 3.6 in motor_cli/README.zh-CN.md).
  • On Linux SocketCAN, do not append bitrate in --channel (for example can0@1000000 is invalid).
  • On Windows (PCAN backend), can0/can1 map to PCAN_USBBUS1/2; optional @bitrate suffix is supported.

Python binding layer on top of motor_abi.

Chinese version: README.zh-CN.md

README Navigation (What Each One Is For)

If this is your first time in this folder, read in this order:

  1. This file: README.md
    Purpose: Python binding overview (install, API scope, common commands).
  2. examples/README.md (English) / examples/READMEzh_cn.md (Chinese)
    Purpose: practical demo index and run instructions (from simplest to advanced). 2.5. mintlify/README.md
    Purpose: Mintlify documentation site entry for Python binding (tutorial + API style docs).
  3. get_started/README.md / get_started/README.zh-CN.md
    Purpose: pip-first onboarding path (install -> scan -> run).
  4. DAMIAO_PYTHON_REFERENCE.zh-CN.md
    Purpose: Damiao Python interface reference (parameter lookup style).
  5. DAMIAO_binding.md
    Purpose: Damiao binding implementation notes (design/internal behavior).
  6. README.zh-CN.md
    Purpose: Chinese overview for Chinese-speaking teammates.

Notes:

  • If your goal is "run something now", start with Start Here (Simplest 2 Examples) in examples/README.md.
  • If your goal is CLI parameter lookup, see ../../motor_cli/README.md.

Scope

Packaging note:

  • Current package target version: 0.1.9.

  • Published wheel includes motor_abi shared library and ws_gateway binary for that platform.

  • After pip install motorbridge, gateway binary path is typically: .../site-packages/motorbridge/bin/ws_gateway (or ws_gateway.exe on Windows).

  • Gateway launch command (added to PATH by pip):

    • motorbridge-gateway -- --bind 0.0.0.0:9002 ...
  • macOS runtime note (only if you see dynamic library load errors):

    • Resolve binary path generically: GW="$(python3 -c "import motorbridge, pathlib; print(pathlib.Path(motorbridge.__file__).resolve().parent/'bin'/'ws_gateway')")"
    • Use package-local lib directory (no machine-specific absolute path): PKG_DIR="$(python3 -c "import motorbridge, pathlib; print(pathlib.Path(motorbridge.__file__).resolve().parent)")" DYLD_LIBRARY_PATH="$PKG_DIR/lib:${DYLD_LIBRARY_PATH:-}" "$GW" --bind 0.0.0.0:9002 --vendor damiao --channel can0 --model auto --motor-id 0x01 --feedback-id 0x11 --dt-ms 20
  • High-level API: Controller, Motor, Mode

  • CLI: motorbridge-cli

  • Controller constructors:

    • Controller(channel="can0") (SocketCAN/PCAN path)
    • Controller.from_socketcanfd(channel="can0") (CAN-FD path, required by Hexfellow)
    • Controller.from_dm_serial(serial_port="/dev/ttyACM0", baud=921600) (Damiao-only serial bridge)
  • Vendors:

    • Damiao: add_damiao_motor(...)
    • Hexfellow: add_hexfellow_motor(...)
    • MyActuator: add_myactuator_motor(...)
    • RobStride: add_robstride_motor(...)
    • HighTorque: add_hightorque_motor(...)
  • Unified state-query pattern:

    • Recommended flow: request_feedback() -> poll_feedback_once() -> get_state().
    • RobStride now supports this unified pattern via ABI-level compatibility (while robstride_ping() is still available).

Unified Mode Mapping Summary (Top-Level -> Vendor Native)

Unified Mode Damiao RobStride Hexfellow MyActuator HighTorque
Mode.MIT native MIT native MIT native MIT (mode 5) unsupported maps to native pos+vel+tqe
Mode.POS_VEL native POS_VEL maps to native Position (run_mode=1 + limit_spd(0x7017) + loc_ref(0x7016)) native POS_VEL (mode 1) Position setpoint flow maps to native pos+vel+tqe
Mode.VEL native VEL native Velocity unsupported native velocity setpoint flow native velocity command
Mode.FORCE_POS native FORCE_POS unsupported unsupported unsupported maps to native pos+vel+tqe

Note:

  • RobStride unified high-level control currently covers MIT / POS_VEL / VEL.
  • Torque/current is parameter-level only for RobStride (robstride_write_param_*), not a dedicated unified mode.
  • RobStride feedback/host default should use 0xFD (runtime can fallback probe 0xFF/0xFE when needed).

Quick Start

from motorbridge import Controller, Mode

with Controller("can0") as ctrl:
    motor = ctrl.add_damiao_motor(0x01, 0x11, "4340P")
    ctrl.enable_all()
    motor.ensure_mode(Mode.MIT, 1000)
    motor.send_mit(0.0, 0.0, 20.0, 1.0, 0.0)
    print(motor.get_state())
    motor.close()

Damiao over serial bridge:

from motorbridge import Controller, Mode

with Controller.from_dm_serial("/dev/ttyACM1", 921600) as ctrl:
    motor = ctrl.add_damiao_motor(0x04, 0x14, "4310")
    ctrl.enable_all()
    motor.ensure_mode(Mode.MIT, 1000)
    motor.send_mit(0.5, 0.0, 20.0, 1.0, 0.0)
    motor.close()

RobStride quick use:

from motorbridge import Controller

with Controller("can0") as ctrl:
motor = ctrl.add_robstride_motor(127, 0xFD, "rs-00")
    print(motor.robstride_ping())
    print(motor.robstride_get_param_f32(0x7019))
    motor.close()

MyActuator quick use:

from motorbridge import Controller, Mode

with Controller("can0") as ctrl:
    motor = ctrl.add_myactuator_motor(1, 0x241, "X8")
    ctrl.enable_all()
    motor.ensure_mode(Mode.POS_VEL, 1000)
    motor.send_pos_vel(3.1416, 2.0)  # rad / rad/s
    print(motor.get_state())
    motor.close()

Hexfellow quick use (CAN-FD only):

from motorbridge import Controller, Mode

with Controller.from_socketcanfd("can0") as ctrl:
    motor = ctrl.add_hexfellow_motor(1, 0x00, "hexfellow")
    ctrl.enable_all()
    motor.ensure_mode(Mode.MIT, 1000)      # Hexfellow supports MIT / POS_VEL
    motor.send_mit(0.8, 1.0, 30.0, 1.0, 0.1)
    print(motor.get_state())
    motor.close()

CLI Examples

Damiao:

motorbridge-cli run \
  --vendor damiao --channel can0 --model 4340P --motor-id 0x01 --feedback-id 0x11 \
  --mode mit --pos 0 --vel 0 --kp 20 --kd 1 --tau 0 --loop 50 --dt-ms 20

RobStride:

motorbridge-cli run \
  --vendor robstride --channel can0 --model rs-00 --motor-id 127 \
  --mode ping

RobStride parameter read:

motorbridge-cli robstride-read-param \
  --channel can0 --model rs-00 --motor-id 127 --param-id 0x7019 --type f32

Unified scan (all vendors):

motorbridge-cli scan --vendor all --channel can0 --start-id 0x01 --end-id 0xFF

HighTorque via binding:

from motorbridge import Controller

with Controller("can0") as ctrl:
    motor = ctrl.add_hightorque_motor(1, 0x01, "hightorque")
    motor.send_mit(3.1416, 0.8, 0.0, 0.0, 0.8)  # kp/kd are accepted but ignored by protocol
    motor.request_feedback()
    print(motor.get_state())
    motor.close()

HighTorque via Rust CLI:

cargo run -p motor_cli --release -- \
  --vendor hightorque --channel can0 --motor-id 1 --mode read

Experimental Windows Support (PCAN-USB)

Linux remains the primary target. Windows support is experimental and currently uses PEAK PCAN.

  • Install PEAK PCAN driver + PCAN-Basic runtime (PCANBasic.dll).
  • Use channel as can0@1000000 (maps to PCAN_USBBUS1 at 1Mbps).

Recommended quick validation with Rust CLI on Windows:

cargo run -p motor_cli --release -- --vendor damiao --channel can0@1000000 --model 4340P --motor-id 0x01 --feedback-id 0x11 --mode scan --start-id 1 --end-id 16
cargo run -p motor_cli --release -- --vendor damiao --channel can0@1000000 --model 4340P --motor-id 0x01 --feedback-id 0x11 --mode pos-vel --pos 3.1416 --vlim 2.0 --loop 1 --dt-ms 20
cargo run -p motor_cli --release -- --vendor damiao --channel can0@1000000 --model 4310 --motor-id 0x07 --feedback-id 0x17 --mode pos-vel --pos 3.1416 --vlim 2.0 --loop 1 --dt-ms 20

Local wheel build (Windows):

python -m pip install --user wheel
set MOTORBRIDGE_LIB=%CD%\\target\\release\\motor_abi.dll
python -m pip wheel --no-build-isolation bindings/python -w bindings/python/dist
python -m pip install bindings/python/dist/motorbridge-*.whl

Example Programs

  • Damiao wrapper demo: examples/python_wrapper_demo.py
  • Hexfellow CAN-FD demo: examples/hexfellow_canfd_demo.py (MIT / POS_VEL only)
  • Damiao maintenance demo: examples/damiao_maintenance_demo.py
  • Damiao register rw demo: examples/damiao_register_rw_demo.py
  • Damiao dm-serial demo: examples/damiao_dm_serial_demo.py
  • RobStride wrapper demo: examples/robstride_wrapper_demo.py
  • Full Damiao mode demo: examples/full_modes_demo.py
  • Damiao scan / tune / position helpers:
    • examples/scan_ids_demo.py
    • examples/pid_register_tune_demo.py
    • examples/pos_ctrl_demo.py
    • examples/pos_repl_demo.py

See examples/README.md (English) or examples/READMEzh_cn.md (Chinese).

Damiao Full-Coverage Status

Damiao usage in Python examples is now covered end-to-end:

  • control modes: mit / pos-vel / vel / force-pos
  • transport paths: SocketCAN/PCAN constructor + from_dm_serial(...)
  • maintenance ops: clear_error, set_zero_position, set_can_timeout_ms, request_feedback
    • project guard for Damiao set-zero: call disable() before set_zero_position()
    • no user-facing ms parameter for set-zero; core applies fixed 20ms settle
  • register APIs: get/write f32, get/write u32, store_parameters

End-to-End Demo Commands

# Build ABI once
cargo build -p motor_abi --release
export PYTHONPATH=bindings/python/src
export LD_LIBRARY_PATH=$PWD/target/release:${LD_LIBRARY_PATH}

# Damiao wrapper demo
python3 bindings/python/examples/python_wrapper_demo.py \
  --channel can0 --model 4340P --motor-id 0x01 --feedback-id 0x11 \
  --pos 0 --vel 0 --kp 20 --kd 1 --tau 0 --loop 20 --dt-ms 20

# RobStride wrapper demo: ping
python3 bindings/python/examples/robstride_wrapper_demo.py \
--channel can0 --model rs-06 --motor-id 127 --feedback-id 0xFD --mode ping

# RobStride wrapper demo: velocity
python3 bindings/python/examples/robstride_wrapper_demo.py \
--channel can0 --model rs-06 --motor-id 127 --feedback-id 0xFD \
  --mode vel --vel 0.3 --loop 40 --dt-ms 50

Notes

  • id-dump and id-set are Damiao workflows; scan supports damiao|hexfellow|myactuator|robstride|hightorque|all.
  • Mode.MIT and send_force_pos are not available for MyActuator in ABI wrapper.
  • Hexfellow supports MIT and POS_VEL through ABI wrapper; VEL and FORCE_POS return unsupported.
  • Full Damiao tuning reference stays in:

PyPI Auto Publish (GitHub Actions)

This repository includes .github/workflows/pypi-publish.yml.

  • Tag publish policy:
    • push vX.Y.Z -> publish the same artifacts to both TestPyPI and PyPI
  • Manual publish is still available via workflow Python Publish:
    • testpypi (only TestPyPI)
    • pypi (only PyPI)

One-time setup (token mode)

  1. Create API token on PyPI and add repository secret PYPI_API_TOKEN.
  2. Create API token on TestPyPI and add repository secret TEST_PYPI_API_TOKEN.
  3. Keep package version unique for every upload (for example 0.1.6, 0.1.7).

Project details


Download files

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

Source Distribution

motorbridge-0.2.3.tar.gz (23.1 kB view details)

Uploaded Source

Built Distributions

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

motorbridge-0.2.3-cp314-cp314-win_amd64.whl (847.7 kB view details)

Uploaded CPython 3.14Windows x86-64

motorbridge-0.2.3-cp313-cp313-win_amd64.whl (816.5 kB view details)

Uploaded CPython 3.13Windows x86-64

motorbridge-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

motorbridge-0.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

motorbridge-0.2.3-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

motorbridge-0.2.3-cp312-cp312-win_amd64.whl (816.5 kB view details)

Uploaded CPython 3.12Windows x86-64

motorbridge-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

motorbridge-0.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

motorbridge-0.2.3-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

motorbridge-0.2.3-cp311-cp311-win_amd64.whl (816.5 kB view details)

Uploaded CPython 3.11Windows x86-64

motorbridge-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

motorbridge-0.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

motorbridge-0.2.3-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

motorbridge-0.2.3-cp310-cp310-win_amd64.whl (816.5 kB view details)

Uploaded CPython 3.10Windows x86-64

motorbridge-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

motorbridge-0.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

motorbridge-0.2.3-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file motorbridge-0.2.3.tar.gz.

File metadata

  • Download URL: motorbridge-0.2.3.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3.tar.gz
Algorithm Hash digest
SHA256 2dbe2ce584b1ea8f8919074a2c9fe0a7ca8bc4603eff76c718d1de5060d2d861
MD5 6ab1d9b2dacd990c4e285e778d598c0a
BLAKE2b-256 13b36dfde34cb8deb28c8d1b3f4125ef941fbaac47a8b236ceea715d0de8cd85

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: motorbridge-0.2.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 847.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 959b0f68bfa04f02bd361e47c123930831058fc7294205bf06ac30533b5fa2fa
MD5 ac6b74fc7144567f20ba1a9052f92608
BLAKE2b-256 a5b25bf4163ba612785a33b6ff9090e1cc2731702203ed02275cd355fb282025

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: motorbridge-0.2.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 816.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 282b167ced917510460a96ffe592e017735917998da64f3c5b0deedae2e9aea3
MD5 24c363c52b73ab9c4c6678b0911adec0
BLAKE2b-256 ce922fae9d60bdf535c7f3607540e3fd7e8466b8a403a1d044f9f2f3af089ab0

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77c22d370e4307132e448c8dae56c1016fe0823542417a0e25872aa4a8b5fa15
MD5 192643492a21b390174fa54358c99d1f
BLAKE2b-256 a70938a9251c7aba7c2c73d4faa6d488d8ebe96190d58f8ed83d3c3bb82bf916

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 40af68fe1348e222afacb3ddc5a8e7fd07f094a423d780a35ccdf5d6c125b373
MD5 86895965808561ba77bd89f2b3903a74
BLAKE2b-256 aaf2ad1caa2a0baf45b1393ba7bd406ba2d997b5053f77cf088bb6122345dfb8

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7500a660953e7026404fd3676b4d281dde3cce71926e30831a335658a0021276
MD5 c03340e5191637db2b172063fa097bd9
BLAKE2b-256 fe37a83d3e9dcc36aa9935321c36f7f89888e3ea1d78ff88f65cc0ff8fc9690e

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: motorbridge-0.2.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 816.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4cb7b359cd52f6de11752922a638aa6ee4e1b61105f9fb170788a1d19d5c15d1
MD5 2bca40852827d737223a7d436b69ead9
BLAKE2b-256 b5afb8626e5886915fc53793c665b0f8386879983cff4c5d3a7ee2d675b447e1

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54fe8663f19d8cc3a625f9a039ce6ba995a3c1956a0389854a79746d1108e76b
MD5 a2adb7886149eabef2e78cd7f3d4b013
BLAKE2b-256 fe9d92a1108f6fdce48dcccce49cbf961d60d4e5e451ce8ab5f3bd8ae4020266

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8f3f2e7251939e446a71f5d7f1f0d14797d3f38253ae6e7fddcef8458477d22
MD5 a3d635212fce71148f2b1698a7c6804d
BLAKE2b-256 1e108edbcea2cbdff78836ef23b4b4bcd39814e8fa55a334d65a268bf19ade30

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79553baddd8c2ac392fe1fa832a77fc600656c9b9524fd3875ba485e37badadb
MD5 18c854534b8e0baea94da2180dccb94f
BLAKE2b-256 bda5f9296f4f25d07a5135bdb19e7a2e6cce1f28ff7b417d75438458622d57d5

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: motorbridge-0.2.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 816.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a68d05813d26c41b0efd35e5db2972a7d4d9230cd5b1443cf1991e5e4ea8a702
MD5 989cfeda450b77ded1a50f0916a8899c
BLAKE2b-256 065efc50b5f489492a393a454b26c73de72e51ef9b75929f4f42a680f94ffb93

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c748b966cb77936162e921db4f09ee0385375a8fec2baf779ac957d32b6312cc
MD5 3ba7a152277d5afb38a7d8a9b3200912
BLAKE2b-256 6ae9cf3de2f7082571eb26ff0746f262a2bc5b1f068386f307ddfd367956fc18

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aa74556ad7fb67352ae7821a9ac28864fd5dee7b3130d52f9757cafd7cd38688
MD5 55d4026bc2ea8334a0bc9711e375b4b5
BLAKE2b-256 8b729d707905e0d7319eddaa560bf59c91d5b93ace205c4e5a6087d69d77bf2c

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffa891ef25c229d959434b1ff4d95ae068dd7bebc139b4f088008f38d8767a8c
MD5 e7283d6b67298f43167a10fb4300970d
BLAKE2b-256 cd06be7ddc574c330374e95dc6f3cf68157d594116e36cf111fc1eb3400776db

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: motorbridge-0.2.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 816.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for motorbridge-0.2.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fa0da09a188c217777289f10bb462f0a6a049e6c8de5b7ee81ec625a3a66e485
MD5 9c42bc5bf30fc7f3754dbe6c4755f0e6
BLAKE2b-256 bebbdf3bb9fb7e041bd1a11e6dc9eaf473b1e62d6ef59271af43a50d88b913a1

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8568b6947622ec6c010ddf92299aa7ab9cbdda5c3459c9067d4347ad22aca31
MD5 ab1cc66630e8bb0b3cc2bb389e95888a
BLAKE2b-256 59fbd0a3578a49e4200730e563d22322ed9b172bd3ef29aeb905c362d6e01cff

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5115d63583a0083e79c263b0f0711d5cf6ac9c3fc3f75bfc4cf84007fe5c0a4b
MD5 683483622e14c51ff9a2a89feaa06f60
BLAKE2b-256 604181c9da022ecc1058b6a2d5cd84dba87e2ee2f53316424314f5ac4821a8f6

See more details on using hashes here.

File details

Details for the file motorbridge-0.2.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for motorbridge-0.2.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29535c4e83547fab371205841247f64c5328f312e42d8404200d79ea18ed53b8
MD5 83a56046385bfa03d8776c8ba2a135fc
BLAKE2b-256 302ef8ab694ffa1775c89be626b6c0e85d7ef40a429c087cab4142b0f59e72ad

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