HumansXDocumentation Center 日本語Website ↗
Knowledge Base › Software › Wuji SDK

Installation and Environment

Getting Started

System Requirements

The Python SDK and C SDK support these environments:

  • Linux: Ubuntu 20.04 LTS (glibc 2.31) or later, on x86_64 or arm64
  • macOS: 11.0 or later, on a Mac with Apple silicon (arm64)

To deploy SDK applications in a Linux container, see Docker Deployment.

Installation

Choose the SDK for your project language. You can install the Python SDK or the C SDK independently, and you don’t need to install both.

Install the Python SDK

The Python SDK provides prebuilt wheels for CPython 3.8–3.14.

On a Mac with Apple silicon, use an arm64 Python interpreter. Before installing the SDK, check the Python process architecture:

python -c "import platform; print(platform.machine())"

On macOS, the output should be arm64. The wheel doesn’t support Intel Macs or x86_64 Python running under Rosetta.

Install wuji-sdk from PyPI. pip selects the wheel for your Python version, operating system, and architecture, so supported platforms use the same installation command:

python -m pip install wuji-sdk

After installation, confirm that Python can import the SDK manager:

python -c "from wuji_sdk import SdkManager"

If the command exits without an exception, the import succeeds.

Install the C SDK

Compiling C programs requires gcc or clang. On macOS, install Xcode Command Line Tools first. The CMake example below also requires CMake.

Select the package for your target platform:

PlatformC SDK Package
Linux x86_64 (gnu)wuji-sdk-c-<version>-x86_64-linux-gnu.tar.gz
Linux aarch64 (gnu)wuji-sdk-c-<version>-aarch64-linux-gnu.tar.gz
Android aarch64wuji-sdk-c-<version>-aarch64-android.tar.gz
macOS Apple Silicon (arm64)wuji-sdk-c-<version>-aarch64-macos.tar.gz

Download the tarball for your target platform from GitHub Releases. Linux packages contain lib/libwuji_sdk_c.so, and macOS packages contain lib/libwuji_sdk_c.dylib. Both include include/wuji_sdk.h and the license file.

Replace <TAG> with the Release tag you want to download, and choose your platform:

  • Linux x86_64

  • macOS arm64

TAG="<TAG>"
VER="${TAG#v}"
SDK="wuji-sdk-c-${VER}-x86_64-linux-gnu"
curl -fL "https://github.com/wuji-technology/wuji-sdk/releases/download/${TAG}/${SDK}.tar.gz" -o "${SDK}.tar.gz"
tar xzf "${SDK}.tar.gz"
SDK="$(pwd)/${SDK}"
LIB="libwuji_sdk_c.so"
TAG="<TAG>"
VER="${TAG#v}"
SDK="wuji-sdk-c-${VER}-aarch64-macos"
curl -fL "https://github.com/wuji-technology/wuji-sdk/releases/download/${TAG}/${SDK}.tar.gz" -o "${SDK}.tar.gz"
tar xzf "${SDK}.tar.gz"
SDK="$(pwd)/${SDK}"
LIB="libwuji_sdk_c.dylib"

${SDK} is the extracted tarball root. Check that it contains the header and the shared library for your platform:

test -f "${SDK}/include/wuji_sdk.h" && test -f "${SDK}/lib/${LIB}" && echo "C SDK is ready"

To build the examples, get the examples/ directory from the wuji-sdk repository, and run these commands from the repository root:

cmake -S examples/c/wuji_glove -B build \
  -DWUJI_SDK_INCLUDE_DIR="${SDK}/include" \
  -DWUJI_SDK_LIB="${SDK}/lib/${LIB}"
cmake --build build

For complete instructions on compiling, linking, and running C programs, see the C SDK Reference.

If macOS blocks libwuji_sdk_c.dylib when you first load it, confirm that the file comes from an official SDK release. In System Settings › Privacy & Security › Security, click Open Anyway, then run the program again.

Device Discovery and Connection

After installing the SDK, configure the network, USB permissions, and connection for your device type. See Device Discovery and Connection. macOS needs neither Linux udev rules nor a dialout group.

After installing Wuji CLI, check device discovery with:

wuji devices
wuji ping

Interface Checklist

CategoryInterface or filePurpose
Python packagewuji_sdkImport the Python SDK
Python managerSdkManagerCreate an SDK manager instance
C headerinclude/wuji_sdk.hDeclare the C API
C shared libraryLinux: lib/libwuji_sdk_c.so, macOS: lib/libwuji_sdk_c.dylibProvide the C API implementation
CMake parameterWUJI_SDK_INCLUDE_DIRSet the C header directory
CMake parameterWUJI_SDK_LIBSet the C shared library path
Device discovery commandwuji devicesList discovered devices
Connectivity commandwuji pingCheck whether devices respond