PySDE: Python (and maybe some other languages) bindings for ESRI ArcSDE

Development

History

I started the PySDE project at Iowa State University to fulfill my development needs for a geometry algebra and processing engine that I had been working on developing to support the National Resources Inventory. The project no longer depends on ArcSDE to serve its data, and my need for a rapid ArcSDE prototyping environment there has waned. Functionally, PySDE was a (and maybe still is) very useful tool, that many folks over the years have used and even shared some success stories about. I still continue to receive a slow trickle of emails about the status of the project, and the website where it was formerly hosted went into disarray -- and wiped the project off of the internet.

Technically, PySDE was a huge mess that was a result of my newbiness and ineptitude with SWIG, C, and Python's C API. I had been releasing this ball of twine periodically as I was working on the project, but eventually I came to the realization that the path I had travelled down was a dead end. The code (and SWIG interface) had to be rewritten to make the project sustainable and provide hope and a little direction to any aspiring PySDE developers that might be out there. In the spring of '05, I spent a little time reworking the code in a fashion similar to the GDAL library bindings, on which I am also a developer. The layout of this interface is much saner, and it also provides mechanisms to support languages other than Python in a realistic and sustainable way.

The rewritten portion of the library is what is currently in /trunk/. I would estimate that it is about 25% complete. In addition, the previous attempt had a dual nature -- the C/SWIG side which was rather dirty, and the Python side that attempted to clean it up. The new bindings no longer maintain this dichotomy, so this means that code written with the previous version of the library will have to be substantially altered to work. I hope one day that the syntactical sugar that existed in the old attempt makes it back some day, because there were some good ideas in there with the sour balls.

Future

This website is an attempt to breath some life back into the library and give it a chance to live beyond the project for which I no longer have a need for it. I am not in a position at Iowa State to support and develop the library anymore, but I would be able to do so on a consulting basis, and I've moved the hosting of the project here to my consulting business. Additionally, if you're a developer out there who really has a need for something like this, you can start here, and I'll support the effort by providing this bug tracker, a subversion repository, and any experience that I have with SWIG, C, Python C API, and the ArcSDE C API. Mere mention of any interest will likely get you a login to the site to check in code to your heart's content :)

-- Howard Butler

Subversion

You can obtain a current copy of the source code by issuing the following command:

svn co http://sde.hobu.biz/svn/trunk pysde

Maillist

* Main discussion and development list http://mail.hobu.net/mailman/listinfo/pysde

* Commit log http://mail.hobu.net/mailman/listinfo/pysde-commits

PySDE License