Metadata-Version: 1.0
Name: pymongo-bongo
Version: 0.1.1
Summary: Sytax sugar for PyMongo and MongoDB <http://www.mongodb.org>
Home-page: http://github.com/svetlyak40wt/pymongo-bongo/
Author: Alexander Artemenko
Author-email: svetlyak.40wt@gmail.com
License: New BSD License
Description: PyMongoBongo
        ============
        :Info: See `the mongo site <http://www.mongodb.org>`_ for more information. See `github <http://github.com/svetlyak40wt/pymongo-bongo/tree>`_ for the latest source.
        :Author: Alexander Artemenko <svetlyak.40wt@gmail.com>
        
        About
        -----
        The PyMongoBongo distribution contains wrappers to add some syntax sugar to `PyMongo <http://github.com/mongodb/mongo-python-driver/>`_ for easier interaction with the Mongo database using "python way".
        
        ChangeLog
        ---------
        
        0.1.1
        ^^^^^
        
        * Added automatic DBRef usage, when one document contains another. Here is an example::
        
        >>> author = Author(name = 'Alexander')
        >>> article =  Article(title = 'Life is miracle', author = author)
        >>> Author.objects.count()
        0
        >>> article.save()
        >>> article = Article.objects.find_one()
        >>> article.author.name
        'Alexander'
        >>> Author.objects.count()
        1
        
        0.1.0
        ^^^^^
        
        * Basic support for documents with attributes.
        
        Installation
        ------------
        If you have `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_ installed you should be able to do **easy_install pymongo-bongo** to install PyMongoBongo. Otherwise you can download the project source and do **python setup.py install** to install.
        
        Dependencies
        ------------
        The PyMongoBongo depends on PyMongo.
        
        Additional dependencies are:
        
        - (to generate documentation) `epydoc <http://epydoc.sourceforge.net/>`_
        - (to auto-discover tests) `nose <http://somethingaboutorange.com/mrl/projects/nose/>`_
        
        Examples
        --------
        Here's a basic example:
        
        >>> from pymongo.connection import Connection
        >>> from mongobongo import Document
        >>> class Article(Document):
        ...     collection = 'articles'
        ...     def get_full_title(self):
        ...         return '%s (%s)' % (self.title, ', '.join(self.tags))
        >>> connection = Connection("localhost", 27017)
        >>> Article.objects.db = connection.test
        >>> article = Article(author = 'Alex', title = 'Pink Pony\'s Life', tags = ['mongo', 'bongo'])
        >>> article.save()
        >>> articles = Article.objects.all()
        >>> len(articles)
        1
        >>> article = Article(author = 'Alex', title = 'Long Long Python', tags = ['python', 'devel'], subtitle = 'Not such long')
        >>> article.save()
        >>> articles = Article.objects.all()
        >>> len(articles)
        2
        >>> python_articles = Article.objects.find({'tags': 'python'})
        >>> len(python_articles)
        1
        >>> python_articles[0].title
        'Long Long Python'
        
        
        Documentation
        -------------
        You will need `epydoc <http://epydoc.sourceforge.net/>`_ installed to generate the documentation. Documentation can be generated by running **python setup.py doc**. Generated documentation can be found in the *doc/* directory.
        
        Testing
        -------
        The easiest way to run the tests is to install `nose <http://somethingaboutorange.com/mrl/projects/nose/>`_ (**easy_install nose**) and run **nosetests** or **python setup.py test** in the root of the distribution. Tests are located in the *test/* directory.
        
        Credits
        -------
        
        Wanna be listed here? Go to the GitHub, fork the project and send me patches :)
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Database
