Overview
zanshin is a library for collaboration over HTTP, WebDAV and CalDAV.
It was originally conceived by LisaDusseault, and is currently being
developed and maintained by GrantBaillie. Its primary client is
the Chandler
SharingProject: for project
management-related information, see
WebdavService.
Goals
- A high-level API: Zanshin works at the level of resources and properties of resources, rather than HTTP requests and responses. This, coupled with careful thought about what data to persist, will hopefully lead to an easier-to-use and better performing API than what you get by making the obvious 1:1 mapping between Python method calls and
- Asynchronicity via the Twisted networking framework. For an excellent discussion of Chandler's use of Twisted, see TwistedHome.
Documentation
Lisa's original design notes can be found
here.
Currently, the code itself (see below) contains some sparse documentation.
The
zanshin.webdav
module does have a docstring outlining some
of the API, and there are python docstrings for some classes and methods (i.e. you can run
epydoc
to get prettier docs in the format you prefer).
Er, What Does "Zanshin" Mean, Anyway?
Zanshin means both readiness and follow-through; it's the attitude of
being ready for what happens and complete in how you react to it.
Lisa picked "zanshin" to sound cool (Japanese!) and to convey
the first Goal above.
Source Code and License
Zanshin source is available under the MIT License in OSAF's subversion repository: http://svn.osafoundation.org/zanshin/trunk
-- GrantBaillie - 14 Jun 2005