{ "info": { "author": "Aleksandr Mironov", "author_email": "a.m.mironov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Zerorm\n======\n\nZerorm is a simple wrapper for three amazing packages. This repository is the\nplace where `TinyDB `_, `Schematics `_\nand `Lifter `_ together look like Django ORM.\n\nIt's still work in progress and not everything looks like Django ORM, but it will.\n\nInstallation\n------------\n\n.. code-block:: shell\n\n pip install zerorm\n\nUsage\n-----\n\nFirst create a file with models and database instance attached to every model:\n\n.. code-block:: python\n\n from zerorm import db, models\n\n database = db('db.json')\n\n\n class Message(models.Model):\n author = models.StringType(required=True)\n author_email = models.EmailType()\n text = models.StringType()\n views = models.IntType(min_value=0)\n\n class Meta:\n database = database\n\nNow create some objects:\n\n.. code-block:: pycon\n\n >>> from models import Message\n >>>\n >>> bob_message = Message(author='Bob',\n ... author_email='bob@example.com',\n ... text='Hello, everyone!')\n >>> bob_message\n \n >>> bob_message.save() # Save object\n 1\n >>>\n >>> bob_message.views = 3\n >>> bob_message.save() # Update object\n >>>\n >>> alice_message = Message.objects.create(author='Alice',\n ... text='Hi, Bob!',\n ... views=0)\n >>> alice_message\n \n\nAnd try to retrieve them via *objects*\n\n.. code-block:: pycon\n\n >>> Message.objects.all()\n \n >>> list(Message.objects.all())\n [, ]\n >>>\n >>> second_message = Message.objects.get(eid=2)\n >>> second_message.author\n 'Alice'\n >>>\n >>> Message.objects.filter(views__gte=3) # Only Bob's message has 3 views\n \n >>> list(Message.objects.filter(views__gte=3))\n []\n\nYou can also redefine model's *__str__* method for better repr just like in Django.\n\n.. code-block:: python\n\n class Message(models.Model):\n ...\n\n def __str__(self):\n return 'by {}'.format(self.author)\n\n.. code-block:: pycon\n\n >>> list(Message.objects.all())\n [, ]\n\nLicense\n-------\n\nMIT. See LICENSE for details.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hedin/zerorm", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "zerorm", "package_url": "https://pypi.org/project/zerorm/", "platform": "", "project_url": "https://pypi.org/project/zerorm/", "project_urls": { "Homepage": "https://github.com/hedin/zerorm" }, "release_url": "https://pypi.org/project/zerorm/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "Looks like ORM and stores your data", "version": "0.2.0" }, "last_serial": 3484965, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0caad704b9ee0eced50c5e523d7febeb", "sha256": "845a1a2245e1acce638b7c0967827ebaa084f356d721f8a6594226c1f09e3eee" }, "downloads": -1, "filename": "zerorm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0caad704b9ee0eced50c5e523d7febeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3357, "upload_time": "2017-12-30T15:03:37", "url": "https://files.pythonhosted.org/packages/b8/cf/1d958448cf7658aa6368363ac797df058716e97ea343c37222a40e5f33f5/zerorm-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "346fa068e5a6b3c66cc7e26d03a17d14", "sha256": "52c7d71abe913fbe854f3d129ef5734320202b23a3eccbe82c80e6d2a7f25afe" }, "downloads": -1, "filename": "zerorm-0.2.0.tar.gz", "has_sig": false, "md5_digest": "346fa068e5a6b3c66cc7e26d03a17d14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3407, "upload_time": "2018-01-12T18:21:05", "url": "https://files.pythonhosted.org/packages/0a/b7/c31cec17ed84772c4a08c2e8b601117e1089e2c1446f80e65ea2b256d4d9/zerorm-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "346fa068e5a6b3c66cc7e26d03a17d14", "sha256": "52c7d71abe913fbe854f3d129ef5734320202b23a3eccbe82c80e6d2a7f25afe" }, "downloads": -1, "filename": "zerorm-0.2.0.tar.gz", "has_sig": false, "md5_digest": "346fa068e5a6b3c66cc7e26d03a17d14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3407, "upload_time": "2018-01-12T18:21:05", "url": "https://files.pythonhosted.org/packages/0a/b7/c31cec17ed84772c4a08c2e8b601117e1089e2c1446f80e65ea2b256d4d9/zerorm-0.2.0.tar.gz" } ] }