MongoKit Documentation
======================

.. image:: https://github.com/namlook/mongokit/raw/devel/doc/mongokit_logo.png

MongoKit is a python module that brings structured schema and validation layer
on top of the great pymongo driver. It has be written to be simpler and lighter
as possible with the KISS and DRY principles in mind.

Philosophy
==========

MongoKit is designed to be:

 * **simple**: MongoKit use plain python type to describe document structure
 * **fast**: MongoKit is fast but if you *really* need to be fast you have access to the raw pymongo layer without changing the API
 * **powerful**: MongoKit brings many feature like document auto-reference, custom types or i18n support.

.. topic:: **Your data is clean**:

    "Tools change, not data". In order to follow this "credo", MongoKit won't
    add any information into your data saved into the database.
    So if you need to use other mongo tools or ODMs in other languages, your
    data won’t be polluted by MongoKit’s stuff.

Browse the `source code`_

.. _`source code` : http://github.com/namlook/mongokit


Contents:

.. toctree::
    :maxdepth: 3

    introduction
    tutorial
    document
    structure
    descriptors
    query
    update
    dbref
    indexes
    json
    i18n
    gridfs
    migration
    pylons
..    version_migration

