PyRanges uses NCLS (Nested Containment List) internally for efficient implementation of overlaps. We could use NCLS directly - which just uses NumPy arrays - if we wanted to remove our dependency on pandas.
The two functions that need re-implementing are overlap (https://github.com/pyranges/pyranges/blob/4f0a153336e7153cdfea15b141ce4ea35a24e233/pyranges/pyranges_main.py#L3490-L3628) and subtract (https://github.com/pyranges/pyranges/blob/4f0a153336e7153cdfea15b141ce4ea35a24e233/pyranges/pyranges_main.py#L4802-L4879).
While this is certainly doable, it's a bit fiddly, and probably shouldn't block a release.