It has been a while, since we’ve touched code base of PyWPS properly. We were focused on fixing of reported issues, which were usually not that big. For most people it seemed, that PyWPS was just working silently somewhere at the server and doing it’s job.
But time has moved and some limitation of the PyWPS design have proved to be not-so-well. There is also new version of Python available (we started PyWPS when 2.2-2.4 were around), with new features. We tested new libraries (lxml for instance, I would like to see OWSLib more incorporated with next release of PyWPS).
Some concepts, which were introduced by PyWPS, were adopted by others (GRASS GIS integration, MapServer for output serving, and others), which is great. Also we were looking around, for some inspiration.
I think, time, when we should start to write the new PyWPS has come. We have already collected some ideas for the 4.x branch, especially:
- Use Python 2.7 (for future 3.0 migration)
- Try different interpreters of Python (pypy)
- Easy parsing with lxml
- Prepare for next WPS version
- Change of the whole process concept? Probably only cosmetic changes, users do like the way, how they can script anything they want, in a way, they prefer.
- And other ideas …
We have also learned something about unit tests, mod_python isn’t that sexy any more, using simple SQLite database for storing information about running processes, having possibility to pause/resume them etc. is also on the table.
By and large, it has all been said. I would like to invite you to join the development of brand new PyWPS (will be moved to geopython github once, it’s ready). I’ve already started, but I basically did only some basic directory structure + basic parsing of input request (POST and GET) is implemented for GetCapabilities and DescribeProcess request types. Nothing more.
I’ve started to go on using python unit testing from the beginning. I also started completely from scratch – the code has nothing in common with current 3.x branch of PyWPS. If you are interested in contribution, or if you have some ideas, what PyWPS should change, what it should preserve, what it should include, you are welcome to join the old mailing list.
I do not assume, we will be approaching too fast (I do not have too much time left over, I do assume, nobody has), but still, once started, it makes fun again to think about the project and it keeps me continuing. If we would finish it within year, I would be satisfied. So join us, it will be fun!