Web update library in python?

Jorgen Bodde jorgen.maillist at gmail.com
Tue Nov 20 11:51:36 CET 2007


Hi A.T.Hofkamp,

Using svn still requires the people wanting to offer updates to have a
svn server installed, or use one of the svn services available and
that is simply too limiting.

I will explain a bit more where I will use this for. I am writing a
tool that takes a repository (e.g. a bunch of files with some XML to
tie it together) and generate something else based upon the user's
input configuration.

The 'repositories' can be created by anyone who likes to share their
code templates, and let the end user configure this template and
create a customized code base of it, on which they can code their
entire app. My tool supports incremental configuration which means if
there are updates to this repository, the user simply has to click
configure/generate again and merge the changes into their working
copy.

To provide others with a web update functionality from inside my tool,
all they should have to do is put a file online, containing a snapshot
(or delta snapshot files) of the repository that can be used. So all
they do is either click "UPDATE" or "DOWNLOAD" if the repository is
not yet present. For the maintainer of the repository it should be as
simple as making a snapshot of their directory and out comes a ZIP
file that can be put online for others to update from.

SVN is wonderful in resolving issues, but it requires everyone to
either use a service like berlios / sourceforge or be fortunate that
they have a SVN server set up somewhere. What I want, looks like a
plain down to earth update mechanism which is a bit more standardized
and it would be nice if there was already something like this called
PyWebUpdate, or PyUpdater.

For my tool it's key that the learning and usage curve is not very
steep. I can imagine on a web site you are simply instructed to enter
an url like "http://www.somesite.com/repository/framework" inside my
tool, press DOWNLOAD / UPDATE and it will install it for you.

I guess where you can compare it with, is what Eclipse uses to update
or install their plugins ... This is not exactly re-inventing the
wheel as the majority of the users cannot use SVN (because they have
no place to store their repositories).
I really thought about SVN but I would not like end-users to be
bothered with maintaining or installing SVN or a SVN server, and have
intermediate .svn local files inside every directory ;-)

I hope this is a bit more clear,
With regards,
- Jorgen



More information about the Python-list mailing list