PyShapelib
Bernhard Herzog
bh at intevation.de
Tue May 4 17:55:56 CEST 2004
[Reply with permission to a private mail; Full quote for the benefit of
thuban-devel]
On Thu, Apr 29, 2004 at 11:45:48AM -0500, Howard Butler wrote:
> Bernhard,
>
> I maintain the windows binary of your Python wrapper for shapelib
> <http://www.hobu.biz/software/shapelib>. The SWIG interface files use many
> older, deprecated, and removed directives as compared to the recent 1.3.21
> series of SWIG. I have a couple of questions:
Some general remarks first:
The shapelib bindings are now maintained as part of Thuban. There have
been quite a few changes [4] since the last separate release, 0.2 almost
3 years ago. We should take the current CVS version as the basis for
the discussions of the future of pyshapelib.
> 1. I have a wrapper that I've developed for ESRI SDE, called PySDE, that
> uses SWIG typemaps to do its magic. I know that this is a poor way of
> doing things, but it works. I would like to extend a couple of methods in
> pyshapelib so that I can suck up geometry from SDE and pass it in to
> shapefiles (directly, using the WKB stuff, rather than one vertex at a
> time).
>
> 2. As it stands now, I cannot run SWIG 1.3.21 on the interface files
> you've defined for pyshapelib because of the deprecated directives. I
> don't know if you've been following SWIG developments recently, but 1.3.21
> has many Python-specific improvements that I would like to incorporate in
> both the shapelib and SDE wrappers.
I don't have time to keep up with SWIG developmen, thus I've kept using
the same SWIG version for the shapelib bindings.
> 3. Although I don't fully understand how the directives of pyshapelib are
> laid out, I could invest the time to get up to speed. My question is, do
> you still wish to be the maintainer of this package? I would gladly take
> it up if you don't have the time or desire to fool with it anymore. If you
> would like to continue to maintain it, would you have time in the next
> month or so to update the interface files so that they play nicely with the
> latest 1.3 SWIG series?
The situation from Intevation's point of view is as follows: we
(Intevation) currently only use pyshapelib in Thuban. It's unlikely
that we will have time to invest in further work on pyshapelib that is
not directly needed for a paying project involving Thuban. That means
we won't have the time to update the interface files to a newer SWIG
version ourselves. In fact, it would be better, i.e. less maintenance
work, if we would use a handwritten binding instead of SWIG [1].
However, it would be nice to see further development on pyshapelib, even
if we can't do it ourselves. For Thuban it's easiest to keep
maintaining the bindings in Thuban CVS, though.
So, here's what we suggest to do:
1. We make a new release in the next few weeks.
This is really overdue [2].
Apart from packaging it there's one issue to resolve for the release [3]
2. Invite more developers to help with the things we don't have time for
You (Howard) want to have it work with newer SWIG versions. So,
please work on that and submit a patch. Patches for other changes
and from other people are also welcome of course.
Please run the Thuban testsuite with your modified pyshapelib to make
sure that it's still Thuban compatible. For Thuban itself it might
be acceptable to make incompatible changes to pyshapelib if any
necessary changes to Thuban itself are also part of the patch.
However, other users of pyshapelib may not like that :)
Bernhard
[1] https://intevation.de/rt/webrt?serial_num=1807
[2] https://intevation.de/rt/webrt?serial_num=1805
[3] https://intevation.de/rt/webrt?serial_num=2247
[4] http://www.intevation.de/cgi-bin/viewcvs-thuban.cgi/thuban/libraries/pyshapelib/ChangeLog?rev=1.3&content-type=text/vnd.viewcvs-markup
--
Intevation GmbH http://intevation.de/
Skencil http://sketch.sourceforge.net/
Thuban http://thuban.intevation.org/
More information about the Thuban-devel
mailing list
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)