Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.

Rtree: Spatial indexing for Python

Build PyPI version

Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing features for the spatially curious Python user. These features include:

  • Nearest neighbor search
  • Intersection search
  • Multi-dimensional indexes
  • Clustered indexes (store Python pickles directly with index entries)
  • Bulk loading
  • Deletion
  • Disk serialization
  • Custom storage implementation (to implement spatial indexing in ZODB, for example)

Wheels are available for most major platforms, and rtree with bundled libspatialindex can be installed via pip:

pip install rtree



  • Fix up type hints #243 (thanks @oderby)
  • Python 3.11 wheels #250 (thanks @ewouth)


  • Python 3.7+ is now required (#212) (thanks @adamjstewart!)
  • Type hints (#215 and others) (thanks @adamjstewart!)
  • Python 3.10 wheels, including osx-arm64 #224
  • Clean up libspatialindex C API mismatches #222 (thanks @musicinmybrain!)
  • Many doc updates, fixes, and type hints (thanks @adamjstewart!) #212 #221 #217 #215
  • len method for index #194
  • Prevent get_coordinate_pointers from mutating inputs #205 (thanks @sjones94549!)
  • linux-aarch64 wheels #183 (thanks @odidev!)
  • black (#218) and flake8 (#145) linting