import pyqtree
spindex = pyqtree.Index(bbox=[0, 0, 1000, 500])
for item in items:
    spindex.insert(item=item, bbox=item.bbox)
result = spindex.intersect(bbox=[233, 121, 356, 242])
Are any of these quad-tree libraries any good?