It's great to be Python 3-ready, but have you actually tested this in Python 3?  I haven't tried yet, because Shapely doesn't support it yet so it wouldn't get very far in being useful.  There is a Shapely branch that at least partly supports Py3, though.