Metadata-Version: 1.0
Name: dynamodb-mapper
Version: 1.7.0
Summary: Object mapper for Amazon DynamoDB
Home-page: http://dynamodb-mapper.readthedocs.org/en/latest/
Author: Jean-Tiare Le Bigot
Author-email: jtlebigot@socialludia.com
License: UNKNOWN
Description: Dynamodb-mapper -- a DynamoDB object mapper, based on boto.
        
        Presentation
        ============
        
        `DynamoDB <http://aws.amazon.com/dynamodb/>`_ is a minimalistic NoSQL engine
        provided by Amazon as a part of their AWS product.
        
        **DynamoDB** allows you to stores documents composed of unicode strings or numbers
        as well as sets of unicode strings and numbers. Each tables must define a hash
        key and may define a range key. All other fields are optional.
        
        **Dynamodb-mapper** brings a tiny abstraction layer over DynamoDB to overcome some
        of the limitations with no performance compromise. It is highly inspired by the
        mature `MoongoKit project <http://namlook.github.com/mongokit>`_
        
        - **Full documentation**: http://dynamodb-mapper.readthedocs.org/en/latest/
        - **Report bugs**: https://bitbucket.org/Ludia/dynamodb-mapper/issues
        - **Download**: http://pypi.python.org/pypi/dynamodb-mapper
        
        Requirements
        ============
        
         - Boto = 2.6.0
         - AWS account
        
         We assume you've correctly set your Boto credentials.
        
        Example usage
        =============
        
        
        Quick install
        -------------
        
        ::
        
            $ pip install dynamodb-mapper
        
        If you have not yet configured Boto, you may simply
        
        ::
        
            $ export AWS_ACCESS_KEY_ID=<your id key here>
            $ export AWS_SECRET_ACCESS_KEY=<your secret key here>
        
        
        First Model
        -----------
        
        ::
        
            from dynamodb_mapper.model import DynamoDBModel
        
        
            class DoomMap(DynamoDBModel):
                __table__ = u"doom_map"
                __hash_key__ = u"episode"
                __range_key__ = u"map"
                __schema__ = {
                    u"episode": int,
                    u"map": int,
                    u"name": unicode,
                    u"cheats": set,
                }
                __defaults__ = {
                    "cheats": set([u"Konami"]),
                }
        
        
        Initial Table creation
        ----------------------
        
        ::
        
            from dynamodb_mapper.model import ConnectionBorg
        
            conn = ConnectionBorg()
            conn.create_table(DoomMap, 10, 10, wait_for_active=True)
        
        
        Model Usage
        -----------
        
        ::
        
            e1m1 = DoomMap()
            e1m1.episode = 1
            e1m1.map = 1
            e1m1.name = u"Hangar"
            e1m1.cheats = set([u"idkfa", u"iddqd", u"idclip"])
            e1m1.save()
        
        
            # Later on, retrieve that same object from the DB...
            e1m1 = DoomMap.get(1, 1)
        
            # query all maps of episode 1
            e1_maps = DoomMap.query(hash_key=1)
        
            # query all maps of episode 1 with 'map' hash_key > 5
            from boto.dynamodb.condition import GT
            e1_maps_after_5 = DoomMap.query(
                hash_key=1,
                range_key_condition=GT(5))
        
        Contribute
        ==========
        
        Want to contribute, report a but of request a feature ? The development goes on
        at Ludia's BitBucket account:
        
        - **Report bugs**: https://bitbucket.org/Ludia/dynamodb-mapper/issues
        - **Fork the code**: https://bitbucket.org/Ludia/dynamodb-mapper/overview
        
        
Platform: UNKNOWN
Classifier: Topic :: Internet
Classifier: Topic :: Database :: Front-Ends
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
