- TiddlyWeb Home Site: http://tiddlyweb.com/
- TiddlyWeb Git Repo: http://github.com/tiddlyweb/tiddlyweb
For additional installation instructions see http://docs.tiddlyweb.com/
With the 2.0.0 release of TiddlyWeb versions 2.7 and 3.3 and beyond
of Python are supported. Earlier versions may work but are not explicitly
tested. Note that tiddlywebwiki
and most plugins have not yet been
ported to work with Python 3 but will work with 2.7. Work to bring them up
to date is in progress.
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.7 or Python 3.3. Earlier versions may work but are 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.
If you have questions or contributions on making TiddlyWeb work for you, please post to the TiddlyWeb group at google groups:
http://groups.google.com/group/tiddlyweb
or contact the primary author, Chris Dent <[email protected]>.
Please report bugs and issues at the github issue tracker:
https://github.com/tiddlyweb/tiddlyweb/issues
There are a few tools that make exploring TiddlyWeb a bit easier:
- Python API explorer:
twanager interact
(once in typelocals().keys()
) - HTTP API quick ref: http://docs.tiddlyweb.com/HTTP%20API
License
TiddlyWeb is released under the BSD License and is copyright 2008-2016 UnaMesa Association.