{ "info": { "author": "James Nah", "author_email": "sangho.nah@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Conntext\n========\nContext managers for secure and atomic database connectivity\n\nRationale\n---------\n- Each context being a single atomic process (\"either all occur, or nothing occurs\")\n- No manual ``commit`` (success), ``rollback`` (fail) or ``close`` (either)\n- No ORM\n\nUsage\n-----\nWithout Conntext,\n\n.. code-block:: python\n\n conn = sqlite3.connect(\":memory:\")\n try:\n cursor = conn.cursor()\n try:\n cursor.execute(\"CREATE TABLE person (name)\")\n cursor.execute(\"INSERT INTO person (name) VALUES (?)\",\n [\"microamp\"])\n except Exception:\n raise\n finally:\n cursor.close()\n except Exception:\n conn.rollback()\n raise\n else:\n conn.commit()\n finally:\n conn.close()\n\nWith Conntext,\n\n.. code-block:: python\n\n from conntext import conntext\n\n with conntext.conn(sqlite3.connect(\":memory:\")) as conn:\n with conntext.cursor(conn.cursor()) as cursor:\n cursor.execute(\"CREATE TABLE person (name)\")\n cursor.execute(\"INSERT INTO person (name) VALUES (?)\",\n [\"microamp\"])\n\nLicense\n-------\nAll the code is licensed under the GNU Lesser General Public License (v3+).", "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/microamp/conntext", "keywords": null, "license": "GNU Lesser General Public License v3 or later (LGPLv3+)", "maintainer": null, "maintainer_email": null, "name": "Conntext", "package_url": "https://pypi.org/project/Conntext/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Conntext/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/microamp/conntext" }, "release_url": "https://pypi.org/project/Conntext/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "Context managers for secure and atomic database connectivity", "version": "0.1.5" }, "last_serial": 1059830, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "65436db3fd1305a570ef49cdeaeff4f1", "sha256": "b4152a4493ef96d64f61a3e32be723ef96695bea786fe5b6f72c8d74772345c5" }, "downloads": -1, "filename": "Conntext-0.1.tar.gz", "has_sig": false, "md5_digest": "65436db3fd1305a570ef49cdeaeff4f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4454, "upload_time": "2014-04-07T11:09:46", "url": "https://files.pythonhosted.org/packages/cf/69/c7598bc55248d7caffd118939a5456316a8223f754be3b33ebfba677f311/Conntext-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0fb3dad275b4d4eb10c73046b569b910", "sha256": "5a3352280c808219e76b330cc1634cd6cfa9dd4a4e086161576e618f610512aa" }, "downloads": -1, "filename": "Conntext-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0fb3dad275b4d4eb10c73046b569b910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4738, "upload_time": "2014-04-07T11:16:34", "url": "https://files.pythonhosted.org/packages/ff/ed/1063f2237a6b9f0fe423946fc4d71818a11117bfc33e41ef525243a53632/Conntext-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ec0040c83c16fb435292b17094c5529c", "sha256": "457838de0704b642723182b63364d703f32c2b0dc6bd6deaab04b452fb82d61e" }, "downloads": -1, "filename": "Conntext-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ec0040c83c16fb435292b17094c5529c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5018, "upload_time": "2014-04-08T09:01:07", "url": "https://files.pythonhosted.org/packages/cb/ed/01b766577f20132edcc87ea9d014327fdb88f1655112d96ae693a90bbbd5/Conntext-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7d1b9f6b44ee43a41b3b522e3ba589c7", "sha256": "114b3c61ccb5d8e16cfcc537302ed328067c7011388df73e40fdfa13ad815953" }, "downloads": -1, "filename": "Conntext-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7d1b9f6b44ee43a41b3b522e3ba589c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5020, "upload_time": "2014-04-12T00:14:52", "url": "https://files.pythonhosted.org/packages/c3/e9/cdd8c78a711ee6afc2cde120d615e98edef1d46b97948b21de0fd05e9dcb/Conntext-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "060a66b8a78ee8d17ef2b5522080bf34", "sha256": "4e841114484d675feb46d8d1b1db2b00a2cbfd9c756be43b5d863a21d131dc35" }, "downloads": -1, "filename": "Conntext-0.1.4.tar.gz", "has_sig": false, "md5_digest": "060a66b8a78ee8d17ef2b5522080bf34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2475, "upload_time": "2014-04-12T00:37:20", "url": "https://files.pythonhosted.org/packages/4a/0f/f5d87c2d546f498af568260939c042082fbd27e3e38e1abe82fdcc4e75ee/Conntext-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "58434ba67f3588692cd3677d2816fe2e", "sha256": "f0c7b659bf1c10e4295dce766e2f1a45dfbcb593c87730ed5a861fd01932c653" }, "downloads": -1, "filename": "Conntext-0.1.5.tar.gz", "has_sig": false, "md5_digest": "58434ba67f3588692cd3677d2816fe2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2417, "upload_time": "2014-04-14T08:22:11", "url": "https://files.pythonhosted.org/packages/5e/33/e74939f6e453e032cb9b8c3089b3124fd91de771efaa8379bebb336e6b68/Conntext-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "58434ba67f3588692cd3677d2816fe2e", "sha256": "f0c7b659bf1c10e4295dce766e2f1a45dfbcb593c87730ed5a861fd01932c653" }, "downloads": -1, "filename": "Conntext-0.1.5.tar.gz", "has_sig": false, "md5_digest": "58434ba67f3588692cd3677d2816fe2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2417, "upload_time": "2014-04-14T08:22:11", "url": "https://files.pythonhosted.org/packages/5e/33/e74939f6e453e032cb9b8c3089b3124fd91de771efaa8379bebb336e6b68/Conntext-0.1.5.tar.gz" } ] }