GParted uses GNU libparted to detect and manipulate devices and partition tables. Several (optional) "file system" tools provide support for file systems not included in libparted. These optional packages will be detected at runtime and do not require a rebuild of GParted. GParted is written in C++ and uses gtkmm for it's Graphical User Interface (GUI). gpart is an optional runtime dependency for using the 'Attempt Data Rescue' function found in the 'Device' tab.