This repository has been archived by the owner. It is now read-only.
This fork isn't maintained anymore, please use the official Google one instead.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 2 commits ahead, 3 commits behind yjwong:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This repository is no longer maintained!

Please use one of the following forks instead:

  • Google repository

    This has the original developers exporting updates to Google's internal version of S2 for general consumption. See:

  • yjwong's repository

    Carries the patches I wrote for here. If you want to continue working on this branch of the previous open source code drop, then go here.

Old README for s2-geometry-library

Build Status

This package has Python bindings which target Python 2.7. You can also use it as a C++ library.

In Python code, import s2.


You'll need the development (-dev or -devel) versions of these libraries in order to build the library.

  • OpenSSL (used for BIGNUM functions)

You'll need these build-time dependencies:

  • CMake 3.1 or later
  • SWIG (must be swig in your PATH)

A C++ compiler supporting C++11 (g++ 4.8 or later, clang 3.3 or later) is also required.

Mac OS X specific notes

Make sure you are using Python, and that it is the default in your path (not Apple's Python or Macports Python).

Other dependencies will need to be installed with MacPorts using the +universal build flag.

Make sure /opt/local/bin and /Library/Frameworks/Python.framework/Versions/2.7/bin are not only listed in $PATH, but also in /etc/paths before /usr/bin (otherwise Python bindings will fail to build).


The Linux From Scratch way (also for OSX)

cd geometry
cmake .
make -j3
sudo make install

Then to install Python 2.7 bindings:

cd python
cmake .
sudo make install

As a Debian package

This is currently broken, and needs to be ported to cmake.

apt-get install python-dev debhelper libgflags-dev cdbs swig build-essential fakeroot autoconf libtool pkg-config
pushd ..
tar jcf s2_1.0.0.orig.tar.bz2 s2-geometry-library/ --exclude=.git
dpkg-buildpackage -rfakeroot

Installing the Debian package

Once built:

dpkg -i ../libs2*.deb ../python-s2*.deb

Running the tests (Python)