An optionally headless, extensible HTTP datastore for tiddlers: bits of stuff.
Project description
TiddlyWeb Home Site: http://tiddlyweb.com/
TiddlyWeb Git Repo: http://github.com/tiddlyweb/tiddlyweb
For additional installation instructions see http://tiddlyweb.tiddlyspace.com/
Introduction
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.
Installation
The easiest way to install TiddlyWeb and all its dependencies is by using pip to install it from PyPI::
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
Building
Tests are run using PyTest:
make test
Coverage support with:
https://pypi.python.org/pypi/coverage https://pypi.python.org/pypi/pytest-cov
Miscellaneous
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 <cdent@peermore.com>.
Please report bugs and issues at the github issue tracker:
There are a few tools that make exploring TiddlyWeb a bit easier:
HTTP API explorer: http://tiddlyweb.tiddlyspace.com/explorer
Python API explorer: twanager interact (once in type locals().keys())
HTTP API quick ref: http://tiddlyweb.tiddlyspace.com/HTTP%20API
x-doc serialization: http://tiddlyweb.tiddlyspace.com/HTTP%20API.x-doc
License
TiddlyWeb is released under the BSD License and is copyright 2008-2013 UnaMesa Association.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.