Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does anyone know of a pure Python (no C or Java dependencies) library for doing geometry operations such as buffer, union, intersects, etc? I'm looking for something that Google AppEngine compatible. Thanks!

share|improve this question
up vote 11 down vote accepted

I don't know about GAE compatibility, but you migh try SymPy for pure math & geometry functions. Otherwise, the only other one I know about is Shapely but it has a libgeos_c dependency which might disqualify it based on your requirements.

UPDATE: Also SymPy is BSD licensed, which might be an important benefit to some devs.

share|improve this answer
Great suggestion. I think this is pure Python and so should be GAE compatible (haven't tested yet). Thanks! – atogle Apr 1 '11 at 17:17

Planar has very limited support for topology operations (only convex hull and point-in-polygon) but it is pure Python and for some cases it could be useful.

share|improve this answer

I don't know whether the PY implementation of Geoscript relies on external modules or not! Have a look :

share|improve this answer
It looks like it is for Jython so would require the Java runtime (JRE). – geographika Mar 12 '11 at 15:43
I think that all of the GeoScript libs are based off of JTS in some way. – atogle Mar 12 '11 at 17:55

Py2D is pure python with no external dependencies:

I believe it has most if not all of the functionality of Shapely/GEOS. But there's a catch. It's designed to be a gaming library so some functions break when you deal with negative coordinates. If you can work around that it's great.

Most of the action is contained in the modules found in the source code directory "Math". I plan to clone it and optimize it for geospatial use one day.

share|improve this answer
"I plan to clone it and optimize it for geospatial use one day." That would be awesome to see! – Karim Bahgat Feb 18 '14 at 17:59

I would recommend using OSGEO's ogr python library. Not sure about GAE as well.

share|improve this answer
I've used OGR a good bit for scripting but I think that all of the OGR Python libraries are C wrappers. GAE only allows pure Python 3rd party libraries. – atogle Mar 12 '11 at 17:57

Python GIS: There is a collection of many tools.

share|improve this answer
still has a C dependency – WolfOdrade Mar 12 '11 at 20:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.