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.0-cp314-cp314t-win_arm64.whl (920.3 kB view details)

Uploaded CPython 3.14tWindows ARM64

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

Uploaded CPython 3.14tWindows x86-64

wujihandpy-1.5.0-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.0-cp314-cp314t-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

wujihandpy-1.5.0-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.0-cp314-cp314-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

wujihandpy-1.5.0-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.0-cp313-cp313-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

wujihandpy-1.5.0-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.0-cp312-cp312-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

wujihandpy-1.5.0-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.0-cp311-cp311-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

wujihandpy-1.5.0-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.0-cp310-cp310-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9Windows ARM64

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

Uploaded CPython 3.9Windows x86-64

wujihandpy-1.5.0-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.0-cp39-cp39-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.8Windows x86-64

wujihandpy-1.5.0-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.0-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.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 920.3 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 c46295d862dc0bf01d699b7abbe1715f615cf9098543c9f2d4403c6e6d8fa717
MD5 edbc296dc892a23e921fd473a94cae5c
BLAKE2b-256 989d3952231d4e93bad6571d43c97ebe0432dfb2dff387883e18e5990a2635cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 773.8 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8fb0411aa457c6d4eaa98cbb5f0ef56d6d636d27fc4b7f96b2b5913dbcecdff3
MD5 cafd70c3e956d6f985794b2647bd3bc0
BLAKE2b-256 59e88d2c61b3734e558628318108bcac69143effff2f4fbe5e328cc5cc840826

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f6e5f549de297d82e1c7094a9dec150fb211bc506929dee99cb3f3d9aadf286
MD5 d81cd66500704a69cb14edc6ed2320f2
BLAKE2b-256 91c26b41208d46fe2e5eb683941a37d4ebd0fc297aa7267b262754ff539cc7c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 02c54eef23ddc99ff4dc5037c302053ffe29d1a4a130f2cedf6f73e9b9361ff1
MD5 bf992717a52c1252456148f1ab36318a
BLAKE2b-256 1756e58b05e593e8c1711334f3cd953e9bbc18eb73793d4d8217ffadff2fb7d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 905.3 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 4bb74b47df4dc8b3b291b9634de24dc478d212f70449424e95711aba26533b37
MD5 937b2845cc2eb1746cefd6780bcac9b2
BLAKE2b-256 b7edb5ece8f62461f20faaed5be6716fba38687a34e2cae15d33d785f26006bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 745.2 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fdc99c348016b10a14c9a1b0086203e9e4d5819a8b03382e5f2c5d8ed54bb6d3
MD5 cafe6c026b973683d8da80cfe8adcb40
BLAKE2b-256 cf6a95e732b222547eccf908da64a3662d51270e8ed660412c9611b4751e10fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 389a4efb85c43ca8266e039504139ab058cd5f3e2c6dbb5285ef36fd60e8e461
MD5 f1243cd827340c054b81fbcfafc9baa2
BLAKE2b-256 48f54df0364674fe58d0faabc4445f924f2c3c5026c470ec1e9fff849aa821f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b57162a29dcadedf58f8d45c30a46df5f34ab91879fddfa8e63d1374d2c6155d
MD5 f38f23cdd2adf46ba730dde09f62ddc5
BLAKE2b-256 7d380803ffa4546f04f9e17a5aa4137272710f6abe23a323618e5b002353003c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 879.4 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 6ed57093f5d9cfac9d99a165119271b34f6bb2d14f5f7d7e94d80242a5bc45d6
MD5 36f0dcf7d18c08e5ffc3d625c828c1ae
BLAKE2b-256 73f3d4bc445fce92d7060a102baf2058172ee4db6bdb5f02c04a9b311fea30f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 723.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 07a7f400a8543fb1fb592bc08e840084bd9284520e25410ea8d189daf741f20e
MD5 bf8ea66b0b2a322ecc404851a9e6671e
BLAKE2b-256 16475b09fcd5da040d49321a4effd265bbf545493442f2f0c1634838fee55b65

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0de6c9bc7b522b364ab3097a5a35238d6ec4ce0648452cb974aee1e04b000a18
MD5 98afbbe3a0cee69ab04f6af0fd4211d6
BLAKE2b-256 4f6464d075c96d6e62d573223305d12f9b0d50354e1e202c8aba9b1c001cb494

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c586fe5899735138373a2302225d35132d666fa33f3f5378bae4c9c8a17de90
MD5 346f5fbe893daf34f30236cad961acd4
BLAKE2b-256 a650869447e2776f7e929f2e83a8e80bc0a184c134f6016894915256cb231d67

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 879.5 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 75943a2706062308e7165956bd1d19060727cfae288459108d21ac74eaae5817
MD5 86fbacd1af7fbc98eb0966644c58c210
BLAKE2b-256 6731909c2968541254ae113aec556251f497500d348c2abab98e70ecda111568

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 723.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c403f9dfd3a788b921414c860318aa122b3564814019546077193009e3d2b419
MD5 f6193d2cb13c54a2330da5c17c077a52
BLAKE2b-256 3da2d607d0e8ea4109945b75257cbee0173681d912c525faf029a8dca7007047

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f9a0c88bbe18ddf62601753bb942bb266d97e68ad804c446e4de5e6a09719d54
MD5 41ee531c6531d027afa373711059516c
BLAKE2b-256 21d775bb2173fd785258c9985b8e511f735fbe086b64441306727f92fbfd1c3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce547a5b8394db41da7950eaedd2d7e1c45586759e0cd5119f385d25f67f26e3
MD5 adbe000dd03c6e462ae5030c974fb431
BLAKE2b-256 6a6b4e4170a7d02697113af70125ff1351efbc4c000949df9bda16675cef391a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 879.3 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 3d2798b4ba97d80dab15d6d910449b6e67009dbcc9ca6d37abf15bbf6a1ef4b0
MD5 3ed9f2ec41bcce0d502dea85c6eaaf94
BLAKE2b-256 450cacd30bf975fafc715fd5920cae959156c749d21b0f106a7bcbd85863396f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 721.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4527cec9405b3d25c1d6c8106925bf619cd7fbcd39aa6e1e8f92ebe0d4ebaeea
MD5 056b5a943291cc4fa22a01be19ca27c9
BLAKE2b-256 0d5e12348c351999bda3f49440905c83f962e39d56395d8a9f7ddda26bfc277f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 43caabeb05565fe5dc14f4c2e7c3a5ea54370a1932e05d3c88b3445b05e1b2e6
MD5 478a18a197470cc7fa368d9698ec8f6b
BLAKE2b-256 d515f2fe2633fc0a7d028eccc02a0c0f84042e19b9b8ebe86ed67ccb926c0299

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e0ea12edb3d60b294e4af52eb3a0467648326534ec14bb3b34d532664fc57a7e
MD5 64220f19d265f91c39c7e305c585a6bc
BLAKE2b-256 1e20ad6f8c13f9ab86979477081376589d4f0685bf34187bc784baf64193cf9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 879.5 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 048b57c69afcd960c0f0ed858b586db2ba2814f59594deef744505a21282f56c
MD5 a4edfc1d3f2f72f8cf608dbb0c6bb5c1
BLAKE2b-256 a691a1f77792c9374337d5fbe36d71e1f7f516d8ed6f731b30284c72bb4a5c04

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 720.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b36d7b724074e88672325ad27869c999dbc0d96e4dba6f6753604725ca62a1c6
MD5 583bba61ff5bb925d6fbfb576b278060
BLAKE2b-256 b6208193b5447d60fbb44353d5d263ef495346549e6010feff7ed9aa8ff24e30

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22cf3b9a601bf6ff64c5d6cb6a3f9c142e0e0d104cc53e2c70c58e440301a449
MD5 e7527fea09c9d524ac5a510fd46969a5
BLAKE2b-256 9354564613814119cd395fe1d077fa459a91f22461c7a7cdec0aac9c6f37e432

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4adc2bf0f590a33f7b1f07aaca6c40c55e74e62fb644825cf6ae35407ce78319
MD5 8c1cfb52b2be4503ea7888e73ca757fb
BLAKE2b-256 15e200c95e15f693c849723e4ec584f8646469ae4cd014f2f6258c92a5a83c3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 879.6 kB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 18c3aff0734665ecb684d2830087c41b7e1e18a6dba47bc08531036b621dc0a3
MD5 de4ab1bb74b9fc1b955b2adc8e735999
BLAKE2b-256 34508ee06a3545452a76ce0cb936971b934482cd8c67f15748b0225701f66372

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 734.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8a7d9006b569bca5af9711df759a5db1a8fbc7aa3c4e596df0455c474d9435b3
MD5 7285eb96467ed7a1758a207ef1112586
BLAKE2b-256 8ff67b02bb15f5b61b76721d7d2c247b0b2b0372af97ae60aa8488b5331f0821

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65c34956464265647b93df466e6841fbce74041c5a7f416584572f7bdb38fdb8
MD5 c6b70481b7d2e13d47ce675253cd4bb1
BLAKE2b-256 28aacbe7f84cac5e85609427c8a0c6a33d72daa9a373bad09e78bfc6ccbea4df

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4596184cea3c0ef0eb39f9525f24db8d222f4a1bbc8f41d4757739fd1bdd5a89
MD5 9d865eeca761ddb9543d499e299c0519
BLAKE2b-256 772925aca90f6bd0b060ddf56f7efaa8dcdca45f88cef89b039a1a98174044f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: wujihandpy-1.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 736.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wujihandpy-1.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 432c1b515f54cad36a12adf7f77dce0a51c9e00ad7dffc9555217e75ed3e53e9
MD5 192baf51743fd2ff1fc1f74f047d0407
BLAKE2b-256 37c345bee135c36fb75dea693f9544b37e042ff7885dd6ce8adf08ad77db5b8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c044fb90f2cce841be9b9439ecdd1fcb07c5e4598fb1cbdb2b03b6c839ba0b1d
MD5 8dd595e6e8431ea912f775482f1c26a2
BLAKE2b-256 9a626947a88df8b9671c0d50d9fb57475e56c539708160bdf3eaae6f0c228fbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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.0-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wujihandpy-1.5.0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 25ee15e789bb3a40eb2c436e92d5c916e78ed14761583f79d71e4a6b67a57fde
MD5 7417875b68f3925cf8c650db2a9d8bf2
BLAKE2b-256 33389cc1e127ce3b2229162dfc97c1f3f3a9452655943789511573fd06a4b3cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wujihandpy-1.5.0-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