from rtree import index as rtindex

def pt2rect(pt):
    return pt[0], pt[1], pt[0], pt[1]

pts = [(0.0, 0.0), (1.0, 1.0), (0.0, 1.0)]

p = rtindex.Property()
p.buffering_capacity = 1
p.dimension = 2
rt = rtindex.Index(properties=p)
#rt = rtindex.Index()

# If interleaved is True, the coordinates must be in
# the form [xmin, ymin, ..., kmin, xmax, ymax, ..., kmax].
print((rt.interleaved))

[rt.add(0, pt2rect(pt)) for pt in pts]
print([r.bbox for r in list(rt.nearest((0, 0), 10, True))])

for pt in pts:
    rt.delete(0, pt2rect(pt))
    print((pt2rect(pt), [r.bbox for r in list(rt.nearest((0, 0), 10, True))]))

