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 unsupported

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.2.tar.gz (23.0 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.2-cp314-cp314-win_amd64.whl (833.9 kB view details)

Uploaded CPython 3.14Windows x86-64

motorbridge-0.2.2-cp313-cp313-win_amd64.whl (802.8 kB view details)

Uploaded CPython 3.13Windows x86-64

motorbridge-0.2.2-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.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

motorbridge-0.2.2-cp312-cp312-win_amd64.whl (802.8 kB view details)

Uploaded CPython 3.12Windows x86-64

motorbridge-0.2.2-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.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

motorbridge-0.2.2-cp311-cp311-win_amd64.whl (802.8 kB view details)

Uploaded CPython 3.11Windows x86-64

motorbridge-0.2.2-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.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

motorbridge-0.2.2-cp310-cp310-win_amd64.whl (802.8 kB view details)

Uploaded CPython 3.10Windows x86-64

motorbridge-0.2.2-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.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

motorbridge-0.2.2-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.2.tar.gz.

File metadata

  • Download URL: motorbridge-0.2.2.tar.gz
  • Upload date:
  • Size: 23.0 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.2.tar.gz
Algorithm Hash digest
SHA256 6171329e29dbd1d9b0450f71e524efa92e14eb1c8c46cff818dde01819659a98
MD5 0c55f4895883b656c9083ca664fc9b5e
BLAKE2b-256 5ac54ff07a2079a4df72cd9307cdb8ec135d4b2230dfa6fb6fbdd9c80a03984d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motorbridge-0.2.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 833.9 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 62fb3e8c41979ecb5988c7f8091cf0013908d34e283c35a2f3eb1cb9621a3459
MD5 46caf8b44a5735130aff06ef37ce0b4c
BLAKE2b-256 f098be0dcfb9fb758c8fd16aeb60e542bb3f13d2c32ba969fca7683daf4caf18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motorbridge-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 802.8 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fd347b169f23e289d7ce6a3f489d27c6e1c9b2ec9a529f02934be16dfab1449e
MD5 383a9ccd2b3e3728651dce0e036abfdf
BLAKE2b-256 9ce5bb35399bc05015ad51ff118ddf17a651a7f41669d430d903fe25ab8e4588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5cc6020d208ae481f42e6c7e245d6ca93845c43c71098c355ff22d132b6cdb9e
MD5 5b12e42c4612d1e4a415608b3d730b32
BLAKE2b-256 5ac9ba67a72ad8243f53d8770e81edb5edf3e88c8f255efa09c75b8a04cda3c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5fe506cb0fe1045771abb1765e16b887598e775865fef256110d44b2bf99e4fe
MD5 b8f7447521c42f35033c8349ce4d964c
BLAKE2b-256 75105d8d1c341799e4ef6d4322fa291393fb31f14c5fa45ee67fb2a5f3cbd456

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0608b3e42ce8e3793506aa7ab191d7850f1b5ca08dccad7c31bd0a7fe2b68cd
MD5 f162f8772025fca42b0f67048667e77c
BLAKE2b-256 b3cd0b97f9a2ab50f75b9768382c8120cdf1ec0e2603b9cdcaa81a8497b943bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motorbridge-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 802.8 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd558af3df7f5e05dee9fbf1c6d490e7a5b96d09b7cce6032ee2bb426fe48317
MD5 0c3ba7065099cfca8e8dc28f3c6c3bcd
BLAKE2b-256 80cd36ad61929e79b37c61cfff013f7f1e3714b73b43ef4c22b954eaa1039b94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 970807e030046f7d8a274d6eeee3041f132dc336f887772bab0801abfb7af58c
MD5 c6a939147a4a80f235c6ba06828f6748
BLAKE2b-256 c9a2493db88c13d057ac832f0260eeea08c433b2b9e96ea8363771f8594fdce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6649229c734ba03d05886b11d2b1e6f2f4566fe9fb3c032a6ad583c873ce9ac
MD5 3599d698a555b10a2ba60e1b6dfd91e2
BLAKE2b-256 5d590cf6a1495fdae9fa4f4b2fbdbce3053aee9ba7c8f062ef4b2068f233d884

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd8748f2977ad607ba3dd47bc9c3e2696f32fd9f2fbfefc66baacd198daad3e4
MD5 37edae8df3ca56993980bc282d4154d5
BLAKE2b-256 9ea272d8cb15817f85540c3620f337adecc463bb4d24764fac80ca7017ea4935

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motorbridge-0.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 802.8 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 317af00733b883384563e1b4186167e5d822245a74a6d3d5a264cdfc279dda78
MD5 7d6b42922c1ac4d1a74335228d272701
BLAKE2b-256 21d6e3642b0cd511da3c97183187727620d78c47019df3e5e62aecf7c6acddb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebf55f33fa14428f8043b4b35308e41ef491968085f29ba9d351d6bd6d2ceebb
MD5 3db62ffe9aa10e10bd7cfaae23da5c14
BLAKE2b-256 6b68d36a564677d0d505828b00fe0ac2ed6f66caa8db70250637b3423bbbd3f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ee9c207e109a8aa772760dee7464aad3ff597ecad03a4dbbe30af37a6d1a75e
MD5 6a445ca4b7eaa90b9de03f81f6a99b2e
BLAKE2b-256 214dd3626a11d8c35bdbf74a4fae81b1592c12e65a0346a162aac2985e878fe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc8d9462a88759c87408f2883bb64290ea5157befee8576a9c8891b3cfaf8d1c
MD5 3caa0dd8297e79627a2426e4812516d0
BLAKE2b-256 ab82dc219e1cc93819f2fc8655e5b0d1fcbfa50bc18db31391e6edfd00226d04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: motorbridge-0.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 802.8 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e190fc6629542588b27785b0bcace03cd46f7f56b94a0fc2dee0fabfcd0fe80e
MD5 122dfe0705e641a6726e79e73cbab8fe
BLAKE2b-256 2fa3dacf560b4755a0d241e0beb24d6aaf6199fb6a7f19d682535fd4b347a4d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51013a986571ac7a72d193ee77fb841c17219f7af9c7142775a257010eadbd9d
MD5 d7f91e0e9e5633b3a6224873e1ecb3ff
BLAKE2b-256 39e5b4fbe0562e428a5ec9f45db1a0d22285d6b76310e8f0e044a51a0b6b01df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b282cf6a7d811864a295b85fad85b907e3711118bd5cfbb8fdc21f3a917a6fe2
MD5 313e463f5424f194eaaa426435af1553
BLAKE2b-256 a092996199588035ee6b7f68e04487866c1d35598a8ec672882b1f2b066170aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for motorbridge-0.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 24533ae0f47ac9fea8ccb919b90ee8873620feaece27ee8d048097ed3581c274
MD5 c761cc2fb20b38736f4da1e847405709
BLAKE2b-256 aa3f4145291747604f71183da91112a38e08e9e5baa72bdb7054bffc283454d9

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