Pyrant
======

Pyrant is a Python wrapper around Tokyo Tyrant. It provides:

* `pyrant.protocol` is a not-too-pythonic implementation of the Tyrant
  protocol. It supports the table database and all Tyrant features but does not
  attempt to do anything else;
* `pyrant.Tyrant` is a higher-level pythonic dict-like API;
* `pyrant.query` is a high-level API for complex queries (inspired by Django
  ORM).

Usually you will only want to use the `Tyrant` class because it is built on top
of the `protocol` module and provides access to it and to the query API.

Documentation
-------------

See complete `HTML documentation <http://packages.python.org/pyrant/>`_
for details. Sometimes it may get slightly outdated. You can always have the
latest snapsnot by building it from the source (using Sphinx).

What is Tokyo Tyrant?
---------------------

`Tokyo Tyrant`_ is a network interface for Tokyo Cabinet.

`Tokyo Cabinet`_ is a lightweight database manager with several storages,
including a simple key/value storage and a document-oriented schemaless
database with powerful query machinery.

  .. _Tokyo Cabinet: http://1978th.net/tokyocabinet/
  .. _Tokyo Tyrant: http://1978th.net/tokyotyrant/


Models (schemata)
-----------------

Pyrant itself does not provide means for defining models, but our related project
`Docu`_ allows to do that easily.

  .. _Docu: http://pypi.python.org/pypi/docu/

Community
---------

This application was originally created by Martin Conte Mac Donell with some
code from PyTyrant by Bob Ippolito. Pyrant was subsequently improved by other
developers. They are listed in the AUTHORS file.

Please feel free to file issues and/or submit patches.
