Showing posts with label python3000. Show all posts
Showing posts with label python3000. Show all posts
Sunday, October 2, 2011
Pyshp Compatibility
Thanks to some outstanding work by a contributor, pyshp is now compatible with Python 2.4 to 3.x. Before I was maintaining a separate code base for Python 3 which was falling behind. Now everything is merged in the subversion trunk and you can use pyshp 1.1.4 or higher with either major version.
Labels:
convert,
geospatial,
python,
python3,
python3000,
shapefile,
web
Wednesday, February 2, 2011
Python 3 Version of the Python Shapefile Library Released
I created a "hasty" port of the Python Shapefile Library to Python 3 at the request of a developer. You can download it from the Subversion repository at the "pyshp" project on Google Code. You will now find the subversion trunk contains "Python 2" and "Python 3" folders. The documentation available in the "Downloads" section of the project site contains two sets of documentation now as well. The Python 3 version is tagged with "Py3".
The versions function identically however the "Editor" class is broken in the Python 3 version and this issue is documented in the instructions and the code. This class is not necessary to read and write shapefiles. It is just a convenience class and will be fixed in a future version. I have only made the Py 3 version pass the doctests - nothing more. So bug reports are welcome.
I also plan to make the Python 2 version compatible with Jython. Initial testing shows that it too works except for the Editor class. I'd appreciate any feedback if you are using it on that platform. The same applies to IronPython and even PythonCE which I haven't tested at all.
Because of the reorganization of the source tree many of the links on previous posts may be broken. I should have these repaired shortly. [UPDATE: All links have been corrected 2/11/11]
Both versions will be updated and maintained indefinitely as it will probably take several years for Python 3 to become mainstream - especially in the geospatial community. Many, many geospatial libraries will require porting to 3. I used the "2to3" script but found that most of the work was in casting strings and byte arrays which is no longer implicit. The library packs and unpacks data constantly so this change had a huge impact on the shapefile library. Python 2 made it easy to be lazy with data types.
The versions function identically however the "Editor" class is broken in the Python 3 version and this issue is documented in the instructions and the code. This class is not necessary to read and write shapefiles. It is just a convenience class and will be fixed in a future version. I have only made the Py 3 version pass the doctests - nothing more. So bug reports are welcome.
I also plan to make the Python 2 version compatible with Jython. Initial testing shows that it too works except for the Editor class. I'd appreciate any feedback if you are using it on that platform. The same applies to IronPython and even PythonCE which I haven't tested at all.
Because of the reorganization of the source tree many of the links on previous posts may be broken. I should have these repaired shortly. [UPDATE: All links have been corrected 2/11/11]
Both versions will be updated and maintained indefinitely as it will probably take several years for Python 3 to become mainstream - especially in the geospatial community. Many, many geospatial libraries will require porting to 3. I used the "2to3" script but found that most of the work was in casting strings and byte arrays which is no longer implicit. The library packs and unpacks data constantly so this change had a huge impact on the shapefile library. Python 2 made it easy to be lazy with data types.
Labels:
python,
python3,
python3000,
shapefile
Subscribe to:
Posts (Atom)