The WPILib Hardware Abstraction Layer (HAL) is used by WPILib to interact with robot devices in a platform independent way.

Generally, RobotPy users should avoid interacting with the HAL directly except for the HAL simulation objects. The HAL simulation objects can be used to interact with your devices in simulation, and also display things on the simulation GUI.