Skip to main content

Python bindings for WujiHandCpp

Project description

wujihandpy

License: MIT Release

Wuji Hand SDK: C++ core with Python bindings, for controlling and communicating with Wuji Hand. WujihandPy is the Python binding of WujihandCpp, providing an easy-to-use Python API for Wujihand dexterous-hand devices. Supports synchronous, asynchronous, unchecked operations and real-time control.

Table of Contents

Repository Structure

├── src/
│   ├── wujihandpy/
│   │   ├── __init__.py
│   │   └── _core/
│   ├── main.cpp
│   └── *.hpp
├── example/
│   ├── 1.read.py
│   ├── 2.write.py
│   ├── 3.realtime.py
│   └── 4.async.py
├── wujihandcpp/
│   ├── include/
│   │   └── wujihandcpp/
│   ├── src/
│   └── tests/
├── .github/
│   └── workflows/
├── pyproject.toml
├── CMakeLists.txt
└── README.md

Directory Description

Directory Description
src/ Python binding source code and C++ headers
src/wujihandpy/ Python package with type stubs
example/ Usage examples for read, write, realtime, and async operations
wujihandcpp/ Underlying C++ SDK implementation
wujihandcpp/include/ C++ header files
wujihandcpp/src/ C++ source files
.github/workflows/ CI/CD automation

Usage

Prerequisites

Supported CPU Architectures:

  • x86_64
  • ARM64

Minimum System Requirements (Linux):

  • glibc 2.28+ (Debian 10+, Ubuntu 18.10+, Fedora 29+, CentOS/RHEL 8+)
  • Python 3.8-3.14

Minimum System Requirements (Windows):

WujihandPy does not support Windows yet; we will work to add support as soon as possible.

Installation

WujihandPy supports one-line installation via pip:

pip install wujihandpy

For Linux users, you need to configure udev rules to allow non-root users to access USB devices:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0483", MODE="0666"' | \
sudo tee /etc/udev/rules.d/95-wujihand.rules && \
sudo udevadm control --reload-rules && \
sudo udevadm trigger

Running

Import Modules

import wujihandpy
import numpy as np

Connect to the Hand

hand = wujihandpy.Hand()

Read Data

def read_<dataname>(self) -> datatype
def read_<dataname>(self) -> np.ndarray[datatype]  # For bulk-read

All available data can be found in the API Reference.

For example, read the hand's powered-on running time (us):

time = hand.read_system_time()

Besides hand-level data, each joint also has its own data; joint-level data names all use joint as the prefix.

For example, read the current position of joint 0 on finger 1 (index finger):

position = hand.finger(1).joint(0).read_joint_actual_position()

Joint angles are of type np.float64 in radians. The zero point and positive direction follow the definitions in the URDF files.

Reading multiple data items with a single command is called Bulk-Read.

For example, the following reads the current position of all (20) joints on the hand:

positions = hand.read_joint_actual_position()

For bulk reads, the function returns an np.ndarray[np.float64] containing all values:

>>> print(positions)
[[ 0.975  0.523  0.271 -0.45 ]
 [ 0.382  0.241 -0.003 -0.275]
 [-0.299  0.329  0.067 -0.286]
 [-0.122  0.228  0.315 -0.178]
 [ 0.205  0.087  0.288 -0.149]]

read blocks until the operation completes. When the function returns, the read is guaranteed to have succeeded.

Write Data

The write API is similar, but takes an extra parameter for the target value:

def write_<dataname>(self, datatype)
def write_<dataname>(self, np.ndarray[datatype])  # For bulk-write

For example, write a target position to a single joint:

hand.finger(1).joint(0).write_joint_target_position(0.8)

Valid angle limits for each joint can be obtained via:

upper = <Hand / Finger / Joint>.read_joint_upper_limit()
lower = <Hand / Finger / Joint>.read_joint_lower_limit()

If the written angle is outside the valid range, it will be automatically clamped to the upper/lower limit.

Bulk-Write is also supported. For example, write the same target position to all joints of finger 1 (index finger):

hand.finger(1).write_joint_target_position(0.8)

If each joint has a different target, pass an np.ndarray containing the target values for each joint:

hand.finger(1).write_joint_target_position(
    np.array(
        #   J1    J2    J3    J4
        [0.8,  0.0,  0.8,  0.8],
        dtype=np.float64,
    )
)

write blocks until the operation completes. When the function returns, the write is guaranteed to have succeeded.

Realtime Control

By default, both reads and writes use a buffer pool: data is accumulated for a while before being transmitted, so the maximum read/write frequency cannot exceed 100 Hz.

For scenarios that require smooth joint position control, use Realtime Control.

Asynchronous Read/Write

All read/write functions have asynchronous versions, with an _async suffix.

async def read_<dataname>_async(self) -> datatype
async def read_<dataname>_async(self) -> np.ndarray[datatype]  # For bulk-read
async def write_<dataname>_async(self, datatype)
async def write_<dataname>_async(self, np.ndarray[datatype])   # For bulk-write

Asynchronous APIs must be awaited. The thread/event loop is not blocked while waiting, and when the call returns the read/write is guaranteed to have succeeded.

Unchecked Read/Write

If you do not care whether a read/write succeeds, you can use the Unchecked versions, with an _unchecked suffix.

def read_<dataname>_unchecked(self) -> None
def write_<dataname>_unchecked(self, datatype)
def write_<dataname>_unchecked(self, np.ndarray[datatype])  # For bulk-write

Unchecked functions always return immediately without blocking, and are typically used in latency-sensitive scenarios.

Get Cached Values

If you want to retrieve results from previous reads/writes, use the get family of functions:

def get_<dataname>(self) -> datatype
def get_<dataname>(self) -> np.ndarray[datatype]  # For bulk-read

get functions also never block. They always return the most recently read value, regardless of whether it came from read, async-read, or read-unchecked.

If the data has never been requested, or the request has not succeeded yet, the return value of get is undefined (usually 0).

Examples

All example code is located in the example directory.

Troubleshooting

  1. Could not find a version that satisfies the requirement

    If you see this error during installation, upgrade pip first:

    python3 -m pip install --upgrade pip
    

    Then retry with the upgraded pip:

    python3 -m pip install wujihandpy
    

Appendix

Performance and Optimization

While ensuring usability, WujihandPy has been optimized for performance and efficiency as much as possible.

We recommend prioritizing bulk read/write to maximize performance.

For scenarios that require smooth joint position control, be sure to use realtime_controller.

References

Contact

For any questions, please contact support@wuji.tech.

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.

wujihandpy-1.5.0rc1-cp314-cp314t-win_arm64.whl (920.1 kB view details)

Uploaded CPython 3.14tWindows ARM64

wujihandpy-1.5.0rc1-cp314-cp314t-win_amd64.whl (773.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp314-cp314-win_arm64.whl (905.3 kB view details)

Uploaded CPython 3.14Windows ARM64

wujihandpy-1.5.0rc1-cp314-cp314-win_amd64.whl (745.3 kB view details)

Uploaded CPython 3.14Windows x86-64

wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp313-cp313-win_arm64.whl (879.3 kB view details)

Uploaded CPython 3.13Windows ARM64

wujihandpy-1.5.0rc1-cp313-cp313-win_amd64.whl (723.7 kB view details)

Uploaded CPython 3.13Windows x86-64

wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp312-cp312-win_arm64.whl (879.5 kB view details)

Uploaded CPython 3.12Windows ARM64

wujihandpy-1.5.0rc1-cp312-cp312-win_amd64.whl (723.8 kB view details)

Uploaded CPython 3.12Windows x86-64

wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp311-cp311-win_arm64.whl (879.1 kB view details)

Uploaded CPython 3.11Windows ARM64

wujihandpy-1.5.0rc1-cp311-cp311-win_amd64.whl (721.1 kB view details)

Uploaded CPython 3.11Windows x86-64

wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp310-cp310-win_arm64.whl (879.4 kB view details)

Uploaded CPython 3.10Windows ARM64

wujihandpy-1.5.0rc1-cp310-cp310-win_amd64.whl (720.4 kB view details)

Uploaded CPython 3.10Windows x86-64

wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp39-cp39-win_arm64.whl (879.5 kB view details)

Uploaded CPython 3.9Windows ARM64

wujihandpy-1.5.0rc1-cp39-cp39-win_amd64.whl (734.0 kB view details)

Uploaded CPython 3.9Windows x86-64

wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

wujihandpy-1.5.0rc1-cp38-cp38-win_amd64.whl (737.0 kB view details)

Uploaded CPython 3.8Windows x86-64

wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 19b60a51bf92d41091f9cb8e3f913fde29378bcc31c7b539f095db26291e1060
MD5 42a5243909af6018e79b6b55b0eb5c95
BLAKE2b-256 4c13137d12f7e0af2f459b1b2fed3a0472ec947f362be07bfd539dcdd6e18514

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314t-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2c87660716a9bd865ebb12ddfb649bf5265ae38e06117613671a865527b09278
MD5 d211696e668450efca4e43527ced6a5f
BLAKE2b-256 aba5fbae63ea53b4d34b118ae8f5685a3933e5bed6f9444ac56410daf738a92e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314t-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d23e3cb772e8e7c015390ad212d55b81c6e8a9bf0c5437aaa1905c6132194ec5
MD5 072593c1049df84cfaef4428b4c08021
BLAKE2b-256 48b8324b0d90ab7acdb2d0c5f1ed8de237cd69ac908560a0e5f97673253c1c50

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9de6ea94308be03ea8e22d1b83d1a35915f82091a3e072f1b53a8ee8dcd6cbfc
MD5 3fed4ef0ad7cec8295684e0ff126e32d
BLAKE2b-256 720a5252362eec725409ceacf22b912585b101c36fd712d7da03a3742d816c37

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314t-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 59a14689205bac1528755217ebd95f8bf8cfc243112c7030134cf4c5cbaefa4b
MD5 c94b7382aed64fcb753eca6c02d15159
BLAKE2b-256 dc4f459c99861ca1134c671a38c851dc803263ce618bc5b67e6bd93a1525c458

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1116a24c81abe4724608d1437b055563a8d4846174de282e3fbfb15ddc747ada
MD5 cbb0d2a5d42aea0715cc75125980b7af
BLAKE2b-256 047488326535e05174fba07b2d30dcd9249035fe663deb194192efbab25f6abc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 328fdfaa5f2f76d79d1c4207c2c6140021c31039a82e7b62858a350ad31279bb
MD5 c4f8808e9d836cacd0a490805fd6250a
BLAKE2b-256 8e3eb2a330258156aeaa6870b27ff369cf0e8d365390b6f0a47a686981d8ae88

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fb5639d70f53ea1a31b579801bc1c2bddec776c10a111791038f184a04d3e18a
MD5 73c0e34a6baf447f4a525482bffcc1c3
BLAKE2b-256 438d93cb46fd3d3690d8276c4ae182704a75647ca3b92fa02c003823da8ea22c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 fcccd8a53d6495ac3799e6c699a7e99b838d7a3c7e4837f40c41fa64f68fb088
MD5 65a9b53b8bfe6c55ae545f45218a5fbf
BLAKE2b-256 ab5a9efead0a8e5c765a04797d92f2648a739d2d9a3d39581f62fe10d4fcab1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp313-cp313-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8b07752726e56e93f20430c63bb274ebdf5e712b3a5866fd523a747c120afdc2
MD5 e933d29a4570b399d5dc0d3a91a3cec4
BLAKE2b-256 1a675484fe73cdfb3191439abcba88843d1b76f6c5eab139809cb32e6956a0a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp313-cp313-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d201c977cf048233e8badeb316f789d669f8258fb491fe3dee25696fddc490e
MD5 8717044b8e83a5205fd62b68a72f1eb8
BLAKE2b-256 0f1520974e5ff0d7cf660f387302b413e93924ca4af9ad168ebcb87d48f817e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b701bbb22630af60f5357322705466e604d3fe2d9d0f769aeefef0daecdd747
MD5 187c640a93565d8d1e3f8b0c2c1f2ff5
BLAKE2b-256 85cb65308b45e78361264c1eb6703770c7f3050556836f9b67eb0f49677bfe46

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c14f32585a8a196cf02b2773986a5addafefb7ce4d488a3285903c7c09288dff
MD5 07eb676f0581ab9869c3d5fbc4e43a68
BLAKE2b-256 20c8f3e8acf5b549e0f44cc814df1eaa2f92f55c8400f360447b101387941db9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp312-cp312-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ce29d3e3a4ffd9376fed5ec828fee919d342f3886938a338dd22d45f81c3088b
MD5 553083de8e67640e24533127dfc3d3da
BLAKE2b-256 169b7699a4286984b24a19af808b62d50977ed7c59517aa4045fbd1159d5461f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp312-cp312-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a78ac201c94da351540cfed17f06d8403d198635dbd25f2b4d56e278346e4628
MD5 23206f67916d87e564824ad302b91614
BLAKE2b-256 9cf2d206e36a01cff0c75302120efab638d764664f92c2633b24eef5d0d2f3d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 02292dc00045ea8a09add11820f864a54d0a2488798181ff3ed65a59b52a1628
MD5 4e608573bef1b23ded9f7b14fb057b31
BLAKE2b-256 e30ab465da6ed7bb9747856fa48a491f35c3f32dff4abc90af37b9007023994d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 8fc954cceb741ef26c90d374146c9fa2c3210b7c2746489b2a25b430e714ac90
MD5 a2452abe29ca571eb71dea8c287d7670
BLAKE2b-256 d3aa5cd370313a6b5b865d398d599f7cc88af8f5b743d68dc44d72a4e94ecbdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp311-cp311-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3e51854e3c1c029fc982f044d4c144966e71e8bff0c3b276e529f636e4fa1114
MD5 7ffb96345ec58ce43a28e544183e3338
BLAKE2b-256 d756dc2f0729742448d1825d85983c6debc5d89a9a52a169b5b00167471a4277

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp311-cp311-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46bc395d73605c0e6fb49e1cb5eafec942840f10b02fe1c6986f687b24be8c3c
MD5 135258c34c5f41c41537a4038bcc22c5
BLAKE2b-256 23226883370d31fcca677d3d728badb19cdf62646eb2d8fa3f96a7ba69ee0b11

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7e702cc0ed397e9dbc1aa9d4d4b6268b2a24c513a185e77c39c4e8ba41bf5ca7
MD5 eee66947f636c8e0a2342b8d63f9d3a4
BLAKE2b-256 f3109e7d0bd60c1373d0b212d60e61f0a5ef48c2e3dc57794a802edad4e08343

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 96e087113471c84dc030980a94d46e244477cefa44f2bcab5923beac400ddacd
MD5 38c5b207e4632b85a7cc019e54d033e0
BLAKE2b-256 17d3259c2f77e1ca9a08127d147e8e0ae8d0649c935633ff7b71f9dd85d182e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp310-cp310-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 20afb616128b625c29d90f04baf7578d7becc7a62440aaedf16d8d8c69b8dfee
MD5 40679ef61ebaa661fd39a671f66cf5ac
BLAKE2b-256 519d1e900f896f138145d6e12c183487c2c24078eaffdfd015f68ee4abed6ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp310-cp310-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66540d6388e7a0a561c63c1d330e89172c604ce7bee8d49790487dadfa11c72e
MD5 3b93f5e99faff66ffee08a34c114513c
BLAKE2b-256 d6bc6109a052ee7f123d47ebb5dddac320e291c0da32d04e2040894742cb1c60

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b97d660ffa515ffb7f002f3c6b188f4e548e21c9df571da1a29b76cef1b29395
MD5 a1b52dbb12f28b145ee64ed8a2c6e248
BLAKE2b-256 05d87f92e880f00704d23f51b151d0036e6861aa675792d4ba61c25933415684

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 e477e60acf66dd65fba6026fd30dd47df78f6f5e0e69784bc1b577e9df8a3cc5
MD5 3ca131666069b9a1a84ffe534f227bd3
BLAKE2b-256 4bf7b8908afccbc74f4d828d4d38ec8a3ab20990a276441746016c4f36c759b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp39-cp39-win_arm64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0a7789ee2fbd5c0df90e553d593feb6593e92c5c24361a73a13a75a34ac3c5ce
MD5 667ccfe6c1829f21a0d5fa37da8b60ca
BLAKE2b-256 0591dcc52de2d1f6d240fb98c4b6ec0d07ebe6c054eab06150f516b30d366fe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp39-cp39-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70ad46e506a409dcd02df24598ea06c3269dc5c8d7ddd51ae6112f031fab287e
MD5 12718217a5c8bd272847310ef562844b
BLAKE2b-256 8b5a7620f3eb8ca2f7880d12d860c846932adf1b02bb38cc836528d6239c37a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b0c93899e81b352958227678b4b8f0e65914f06ea5d7489388b341c8e60abf33
MD5 46147a3ad0b7833770d47617de2f7fbf
BLAKE2b-256 f9cb5faa7aa64b45cc40bec5ec8dd0b397e9824b958dcf810d3bf93fb7bbe913

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 25ebb36904e8fc2c32b3a49efe39b325c9925962652bd96161c23b77099b2f62
MD5 38fbcc91739781a3dc0ba3b8f26c0d67
BLAKE2b-256 ca36f0d366df108e5b145a984396637ba55160740bf5d618d250c4282a95037b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp38-cp38-win_amd64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fbb1cf852294886071e87363ba05b944a91f7fd4aaa0fffb627a825b2c22426
MD5 62f519f38aa14dc05c0eeae7ae6a2f0c
BLAKE2b-256 f3e164ca4c1818215f93b2060c6f5ffb0655cb3bc89f6b85ec4058d892db43ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_x86_64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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

File details

Details for the file wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 17ed74fea8c2ab9a50d7843f5f722a9f88fc3403616edfeec8c63c91f44d2258
MD5 a584532167574eed5b22befac9d6c08d
BLAKE2b-256 b9706ae09ce09824c6f346ac9acd107546e6452617b224371b3f2caf92cfceea

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0rc1-cp38-cp38-manylinux_2_28_aarch64.whl:

Publisher: release-package.yml on wuji-technology/wujihandpy

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 Pingdom Monitoring Sentry Error logging StatusPage Status page