An optionally headless, extensible HTTP datastore for tiddlers: bits of stuff.
- TiddlyWeb Home Site: http://tiddlyweb.com/
- TiddlyWeb Git Repo: http://github.com/tiddlyweb/tiddlyweb
For additional installation instructions see http://tiddlyweb.tiddlyspace.com/
TiddlyWeb is an open source HTTP API for storing and accessing flexible and composable microcontent. It is also a toolkit for tiddlers on the web. Tiddlers are small chunks of optionally structured content with their own URI. The concept comes from TiddlyWiki. TiddlyWeb can provide the basis of a server side for TiddlyWiki. TiddlyWeb provides:
- an abstract model (with default implementations) for:
- authentication and authorization
- entity storage
- entity and collection serialization
- a straightforward extension model via plugins
- an implementation of authenticated recipes and bags allowing access to dynamically created and filtered collections of tiddlers
- a clean and pragmatic HTTP API
The system is designed so that parts that are not optimal for a particular installation can be easily improved or swapped out via plugins.
While TiddlyWeb was initially designed as a TiddlyWiki server-side it can also be used as a generic data store and platform. The platform builds on concepts learned from TiddlyWiki, primarily the concept of the tiddler: a small chunk of data used to build up a greater whole.
TiddlyWeb includes a command line tool called twanager. Run twanager without arguments for a list of available commands.
pip install -U tiddlyweb
If you wish to use TiddlyWeb as a server-side for TiddlyWiki to generate a multi-user TiddlyWiki system, you will also need tiddlywebwiki. This too can be installed via pip. Installing tiddlywebwiki will install tiddlyweb for you::
pip install -U tiddlywebwiki
Or you can install by hand, you will need the following requirements:
- Python 2.5, 2.6 or 2.7. (A Python 3 port exists but is incomplete, contact the authors if you are interested in the Python 3 version. Python 2.4 may work but is neither tested nor recommended.)
- selector: http://lukearno.com/projects/selector/
- simplejson: http://undefined.org/python/#simplejson
- html5lib (for sanitizing input which may be rendered as HTML): http://code.google.com/p/html5lib/
- httpexceptor: http://pypi.python.org/pypi/httpexceptor
Tests are run using PyTest:
Coverage support with:
See http://pypi.python.org/pypi?%3Aaction=search&term=tiddlywebplugins for plugins that TiddlyWeb can use with itself.
See http://tiddlyspace.com/ for a shared hosting service built on TiddlyWeb.
If you have questions or contributions on making TiddlyWeb work for you, please post to the TiddlyWeb group at google groups:
or contact the primary author, Chris Dent <firstname.lastname@example.org>.
Please report bugs and issues at the github issue tracker:
There are a few tools that make exploring TiddlyWeb a bit easier:
TiddlyWeb is released under the BSD License and is copyright 2008-2013 UnaMesa Association.