{ "info": { "author": "Lev Orekhov", "author_email": "lev.orekhov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "ognom\n=====\n\n.. image:: https://travis-ci.org/lorehov/ognom.svg\n :target: https://travis-ci.org/lorehov/ognom\n :alt: Build Status\n\n.. image:: https://img.shields.io/pypi/v/ognom.svg\n :target: https://pypi.python.org/pypi/ognom\n :alt: Latest Version\n\nDocumentation: #TODO\n\nOgnom is object-to-document mapper for `mongodb `_. Currently ognom uses `pymongo `_ as default backend, \nbut you can easily implement your own backend based on another driver (for example `asyncio-mongo `_) if needed, \nas serialization and storage logic in ognom are separated.\n \nSupports python2.7+, python3.3+, PyPy. \n\nDocumentation: #TODO\n\n\nInstall\n-------\n\n.. code-block:: python\n\n pip install ognom\n\nTests\n-----\n\n.. code-block:: python\n\n tox\n\nFeatures\n--------\n\n- Vanilla python, no dependencies;\n- From version 1.0 exposes full pymongo API(!);\n- Easy to write your own backend with your own API.\n\nQuickstart\n----------\n\n.. code-block:: python\n\n from ognom.base import ConnectionManager, Document, Collection\n from ognom.fields import StringField, IntField\n \n ConnectionManager.connect({\n 'main': { # ognom use aliases for databases to make it possible to use multiple db's per project\n 'name': 'birzha_main',\n 'args': ['127.0.0.1:27017'],\n 'kwargs': {'socketTimeoutMS': 60000}},})\n\n\n class Foo(Document):\n objects = Collection(\n db_name='main'\n collection_name='my_foos' # collection name (by default 'foos')\n indexes=[{\n 'index': [('bar', 1), ('baz', -1)],\n 'background': True}])\n \n bar = StringField(required=True, default='baaar')\n baz = IntField(choices=[10, 20, 30, 40, 50])\n\n\n foo1 = Foo.objects.create({'bar': 'lalala'})\n assert Foo.objects.get({'bar': 'lalala'}).id == foo1.id\n \n foo2 = Foo(bar='lololo', baz=10)\n assert foo2.id is None\n foo2.save()\n assert foo2.id is not None\n foo2.remove()\n \n foos = Foo.objects.find({'bar': 'lalala'}) # not list but CursorWrapper!\n assert len(list(foos)) == 1\n \n\nContributors\n------------\n\n* Lev Orekhov `@lorehov `_\n* Michael Elovskikh `@wronglink `_\n* Sardnej `@sardnej `_\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lorehov/ognom", "keywords": "mongo mongodb pymongo orm odm", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ognom", "package_url": "https://pypi.org/project/ognom/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ognom/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/lorehov/ognom" }, "release_url": "https://pypi.org/project/ognom/0.5.4/", "requires_dist": null, "requires_python": null, "summary": "Neat ODM wrapper around great PyMongo driver", "version": "0.5.4" }, "last_serial": 1752299, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "9f0f857090975e1efc2f87c7edaee04d", "sha256": "5b0c267fc2e5fcf38eb50a141e866d73d6f93cf07ceb902d54591815eaf10dbd" }, "downloads": -1, "filename": "ognom-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9f0f857090975e1efc2f87c7edaee04d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10113, "upload_time": "2015-09-01T13:03:42", "url": "https://files.pythonhosted.org/packages/0e/f0/b1c21381f00d315d9e4e9cdee652282cb85213af9a0a8e3df5868273a15e/ognom-0.1.1.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ec0fe8f91b47d240406e7823da4ff796", "sha256": "270be59e9b9affa1be0db28687b1abdde82adcc1a498719af86a46d4c8def51c" }, "downloads": -1, "filename": "ognom-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ec0fe8f91b47d240406e7823da4ff796", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14805, "upload_time": "2015-09-02T09:28:49", "url": "https://files.pythonhosted.org/packages/bb/28/034151868c72f118840094e3c8f939a97e581bff8c99f0f8ccc8bbd88d38/ognom-0.3.1.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "53807bfa3d670f7893cd296526212229", "sha256": "29c3d810c983e582627c26c891ec74c8b957a17424d64093550ad8129be1647d" }, "downloads": -1, "filename": "ognom-0.4.1.tar.gz", "has_sig": false, "md5_digest": "53807bfa3d670f7893cd296526212229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15335, "upload_time": "2015-09-03T10:40:35", "url": "https://files.pythonhosted.org/packages/03/08/684131cc10a3cdce623534cad4ea7309b56811c581586d8bd1b1876795af/ognom-0.4.1.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "4070ad9e070b9e2a5516becece4e5502", "sha256": "d01dbf1bd0050be6d67a804fd4af12000f9aa17faeaec1c5439989cf6b1880b1" }, "downloads": -1, "filename": "ognom-0.5.1.tar.gz", "has_sig": false, "md5_digest": "4070ad9e070b9e2a5516becece4e5502", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15664, "upload_time": "2015-09-11T11:21:27", "url": "https://files.pythonhosted.org/packages/e0/9e/a114b77deffc191000cec060726a0010f4e49772f1a64818decf379fa60a/ognom-0.5.1.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "5c671ed21abf31ff29836c24c0208fd8", "sha256": "fdb259ef90830e1312b2f9d69a00e7ac02c36ff54063beca2cdbc59c155024b8" }, "downloads": -1, "filename": "ognom-0.5.3.tar.gz", "has_sig": false, "md5_digest": "5c671ed21abf31ff29836c24c0208fd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15884, "upload_time": "2015-09-17T13:57:04", "url": "https://files.pythonhosted.org/packages/ed/60/c2a71bbc6e207db03b78323cd36b474ffd4b7c539bcd7d83d752967c9541/ognom-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "461eaf2f594fe3e94d979b6eb31f2e95", "sha256": "f6191a1355e5da53514b278f5e9281639792d8d00de0e05dd0f9d11ba0381eed" }, "downloads": -1, "filename": "ognom-0.5.4.tar.gz", "has_sig": false, "md5_digest": "461eaf2f594fe3e94d979b6eb31f2e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16244, "upload_time": "2015-10-05T10:38:41", "url": "https://files.pythonhosted.org/packages/80/0e/864702bd6ff08fccfc96099b7a2e65543b14eabddef820ede902cd408afe/ognom-0.5.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "461eaf2f594fe3e94d979b6eb31f2e95", "sha256": "f6191a1355e5da53514b278f5e9281639792d8d00de0e05dd0f9d11ba0381eed" }, "downloads": -1, "filename": "ognom-0.5.4.tar.gz", "has_sig": false, "md5_digest": "461eaf2f594fe3e94d979b6eb31f2e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16244, "upload_time": "2015-10-05T10:38:41", "url": "https://files.pythonhosted.org/packages/80/0e/864702bd6ff08fccfc96099b7a2e65543b14eabddef820ede902cd408afe/ognom-0.5.4.tar.gz" } ] }