There have been significant advances in the detectors for electron back-scattered diffraction (EBSD) data, with collection speeds increasing a more than an order of magnitude in the last decade, with some detectors exceeding 6000 patterns/s. Additionally, advanced indexing methods have greatly increased the accuracy and precision of indexing methods, but at the cost of long computation times that do not match these new collection rates. Meanwhile new data collection modes, such as in situ studies or 3D serial-sectioning methods would greatly benefit from fast indexing methods that can be tightly integrated into real-time analysis, something difficult with current commercial software packages. Here, we present, PyEBSDIndex, a new open-source Python module that contains a novel indexing algorithm that combines the traditional Hough/Radon-based methods with band voting with modern GPU processing. We show that by using a derivative of Gaussian kernel within the Radon transform with a sub-pixel peak localization, and implementing a best-fit orientation optimization using the quaternion-estimator (QUEST) algorithm used in spacecraft attitude control, the current implementation can achieve an orientation accuracy better than 0.07°. Furthermore, by placing the majority of the image processing pipeline on the GPU, we demonstrate that on typical desktop hardware, patterns can be indexed at more than 40000 patterns/s. We will demonstrate these results within simulated FCC gamma-Fe patterns, as well as real-world experiments within dual-phase steels and dual-phase titanium alloys.