{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Simple library that makes working with databases more convenient in python.\n\n`notanorm` can return objects instead of rows, protects you from injection, and \nhas a very simply driver interface.\n\nDecidedly not an ORM, since ORM's are typically mega libraries with \noften confusing semantics.\n\nExample:\n\n```\nfrom notanorm import SqliteDb \nfrom notanorm import MysqlDb \n\nfname = \":memory:\"\n\n# default options are \ndb = SqliteDb(fname)\n\n# no special create support, just use a string\ndb.query(\"create table foo (bar text, iv integer primary key)\")\n\n# insert, select, update, and upsert are convenient and do the right thing\n# preventing injection, normalizing across db types, etc.\n\ndb.insert(bar=\"hi\", iv=1)\ndb.insert(bar=\"hi\", iv=2)\ndb.insert(bar=\"ho\", iv=3)\n\ndb.upsert(bar=\"ho\", iv=4) # primary keys are required for upserts\n\ndb.select(\"foo\", bar=\"hi\")[0].bar # hi\ndb.select(\"foo\", {\"bar\": \"hi\"})[0].iv # 1\n\ndb.count(\"foo\", bar=\"hi\") # 2\n\nclass Foo:\n def __init__(self, bar=None, iv=None):\n self.bar = bar\n self.iv = iv\n\n# create a class during select\ndb.register_class(\"foo\", Foo)\nobj = db.select_one(\"foo\", bar=\"hi\")\nprint(obj.bar) # hi\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "notanorm", "package_url": "https://pypi.org/project/notanorm/", "platform": "", "project_url": "https://pypi.org/project/notanorm/", "project_urls": null, "release_url": "https://pypi.org/project/notanorm/0.0.4/", "requires_dist": [ "mysqlclient" ], "requires_python": "", "summary": "DB wrapper library", "version": "0.0.4" }, "last_serial": 5923394, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "17fbe0a127b902b5fefc0a53da62d8ee", "sha256": "645cf2c609c5aa881fb18c8a8b40ee07c71412f3e3a16c75198f1ae72fa7b30d" }, "downloads": -1, "filename": "notanorm-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "17fbe0a127b902b5fefc0a53da62d8ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6033, "upload_time": "2019-10-03T13:01:11", "url": "https://files.pythonhosted.org/packages/8a/58/db7afee16d6f980cf58b0647b266b5452a04dcb2a966f90a305e80e7d48e/notanorm-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "c7ae52d900695e2463e95be3a70a0c89", "sha256": "50f2f010e5e4c7f4805ed9f7708033eff54802a1eaf83106e853a0a0dbf3b859" }, "downloads": -1, "filename": "notanorm-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7ae52d900695e2463e95be3a70a0c89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8933, "upload_time": "2019-10-03T13:10:20", "url": "https://files.pythonhosted.org/packages/ab/c6/7d720b6786802bf405f8dbd173203945a873deb3380fe46d0dfb5fb458d6/notanorm-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a7013fd26fc77190e3e7ff2b18fd1845", "sha256": "8b5e43cb7dccde54788dc4c1c58a153e4396d4a0950cf58076a5167de40d8a34" }, "downloads": -1, "filename": "notanorm-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a7013fd26fc77190e3e7ff2b18fd1845", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8941, "upload_time": "2019-10-03T13:13:36", "url": "https://files.pythonhosted.org/packages/f6/4f/e0cec9b28266a2a05f9316c40c8a4b95e061c26c0661ef1501b90ff06864/notanorm-0.0.4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a7013fd26fc77190e3e7ff2b18fd1845", "sha256": "8b5e43cb7dccde54788dc4c1c58a153e4396d4a0950cf58076a5167de40d8a34" }, "downloads": -1, "filename": "notanorm-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a7013fd26fc77190e3e7ff2b18fd1845", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8941, "upload_time": "2019-10-03T13:13:36", "url": "https://files.pythonhosted.org/packages/f6/4f/e0cec9b28266a2a05f9316c40c8a4b95e061c26c0661ef1501b90ff06864/notanorm-0.0.4-py3-none-any.whl" } ] }