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:
| Platform | C 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 aarch64 | wuji-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
| Category | Interface or file | Purpose |
|---|---|---|
| Python package | wuji_sdk | Import the Python SDK |
| Python manager | SdkManager | Create an SDK manager instance |
| C header | include/wuji_sdk.h | Declare the C API |
| C shared library | Linux: lib/libwuji_sdk_c.so, macOS: lib/libwuji_sdk_c.dylib | Provide the C API implementation |
| CMake parameter | WUJI_SDK_INCLUDE_DIR | Set the C header directory |
| CMake parameter | WUJI_SDK_LIB | Set the C shared library path |
| Device discovery command | wuji devices | List discovered devices |
| Connectivity command | wuji ping | Check whether devices respond |
Documentation