I needed to test and use several pupil detectors for my work, and I couldn’t find a single pip-installable tool that bundled them all together. So I wrote Cheshm — a cross-platform (Linux, macOS, Windows) C++ library with Python bindings that packages the most common pupil, glint, and limbus detectors in one place.
The pupil detectors implemented so far: Simple, Starburst, Swirski2D, ExCuSe, ElSe, PuRe, PuReST, and PupilLabs2D. There’s also a Simple glint detector and three limbus detectors based on Daugman algorithms (integro-differential, active contour, and pupil-guided variants). On top of that, it does rigid alignment of two eye images using glint, pupil, or iris-texture features.
Both the C++ library and the Python bindings can be used headlessly inside any pupil-detection pipeline — that’s the main use case.
Cheshm also ships with a small GUI for a quick visual check of what each detector finds on a single image:

If you want to annotate eye features at scale instead, the EyE Annotation Tool is the better front-end — it uses Cheshm under the hood for its auto-detectors.