xArm-Python-SDK

May 21, 2026 · View on GitHub

PyPI Downloads

Overview

xArm Python SDK

Caution

  • Please keep away from the robot arm to avoid personal injury or equipment damage.
  • Make sure to do a safety assessment before moving to prevent collisions.
  • Protect the arm before unlocking the joint.

Installation

  you can run examples without installation. Only Python 3 is supported.

  • Install from source code
    • download
      git clone https://github.com/xArm-Developer/xArm-Python-SDK.git
      cd xArm-Python-SDK
      
    • install
      • install with build
        pip install build
        python -m build
        pip install dist/xarm_python_sdk-1.16.0-py3-none-any.whl
        
      • install with source code
        pip install .
        
  • Install from pypi
    pip install xarm-python-sdk
    

Doc

Update Summary

  • 1.18.3/1.18.4

    • Added BytesData for data conversion
    • Added data structure for report data
    • Update the reported data for port 30002
    • Increase execution speed by adding parameter to reduce the number of checks performed by the gripper APIs
  • 1.17.0/1.17.1

    • Change some API names
  • 1.16.0

    • Added parameter to support get raw data of the Six-axis Force Torque Sensor
    • Added an interface to control xArm Gripper G2
    • Optimize the interface for controlling BIO Gripper G2
    • Extend the get_joint_states interface
  • 1.15.0

    • Added the Six-axis Force Torque Sensor collision detection related interfaces
    • Added support for the new version of BIO Gripper control interface
  • 1.14.7

    • Fixed the problem that single joint or direction movement fails in some cases (valid from firmware 2.5.0)
    • Added standard ModbusTcp client and Gcode client
    • GPIO control supports immediate execution
    • Support new version of vacuum gripper
    • Support the studio-2.5.0 blockly project conversion to python
  • More

API Change List

OLD API NAMENEW API NAMESDK VERSION
set_tgpio_modbus_timeoutset_rs485_timeout1.17.1
get_tgpio_modbus_timeoutget_rs485_timeout1.17.1
set_tgpio_modbus_baudrateset_rs485_baudrate1.17.1
get_tgpio_modbus_baudrateget_rs485_baudrate1.17.1
getset_tgpio_modbus_dataset_rs485_data1.17.1
set_impedanceset_ft_sensor_admittance_parameters1.17.0
set_impedance_mbkset_ft_sensor_admittance_parameters1.17.0
set_impedance_configset_ft_sensor_admittance_parameters1.17.0
set_force_control_pidset_ft_sensor_force_parameters1.17.0
config_force_controlset_ft_sensor_force_parameters1.17.0
ft_sensor_set_zeroset_ft_sensor_zero1.17.0
ft_sensor_iden_loadiden_ft_sensor_load_offset1.17.0
ft_sensor_cali_loadset_ft_sensor_load_offset1.17.0
ft_sensor_enableset_ft_sensor_enable1.17.0
ft_sensor_app_setset_ft_sensor_mode1.17.0
ft_sensor_app_getget_ft_sensor_mode1.17.0
get_linear_track_registersget_linear_motor_registers1.17.0
get_linear_track_posget_linear_motor_pos1.17.0
get_linear_track_statusget_linear_motor_status1.17.0
get_linear_track_errorget_linear_motor_error1.17.0
get_linear_track_is_enabledget_linear_motor_is_enabled1.17.0
get_linear_track_on_zeroget_linear_motor_on_zero1.17.0
get_linear_track_sciget_linear_motor_sci1.17.0
get_linear_track_scoget_linear_motor_sco1.17.0
clean_linear_track_errorclean_linear_motor_error1.17.0
set_linear_track_enableset_linear_motor_enable1.17.0
set_linear_track_speedset_linear_motor_speed1.17.0
set_linear_track_back_originset_linear_motor_back_origin1.17.0
set_linear_track_posset_linear_motor_pos1.17.0
set_linear_track_stopset_linear_motor_stop1.17.0
shutdown_systemsystem_control1.13.3
get_suction_cupget_vacuum_gripper1.5.0
set_suction_cupset_vacuum_gripper1.5.0
get_ikget_inverse_kinematics1.0.0
get_fkget_forward_kinematics1.0.0
set_sleep_timeset_pause_time1.0.0
get_gpio_digitalget_tgpio_digital1.0.0
set_gpio_digitalset_tgpio_digital1.0.0
get_gpio_analogget_tgpio_analog1.0.0

Example

   Before running the example, please modify the IP in robot.conf to corresponding IP you want to control.