{ "info": { "author": "Ankit Chandawala", "author_email": "ankitchandawala@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Cauldron\n========\n\nCauldron is an asyncio based library that removes boilerplate code when using databases.\nCurrently it supports using postgresql and redis.\n\nRequirements\n------------\n- Python >= 3.4.3\n- asyncio_ \n\n.. _asyncio: https://pypi.python.org/pypi/asyncio\n\n\nInstallation\n------------\n\nTo install via pip:\n\n.. code-block:: bash\n\n $ pip install cauldron\n\nTo install from source:\n\n.. code-block:: bash\n\n $ git clone https://github.com/nerandell/cauldron\n $ cd cauldron\n $ python setup.py install\n\nUsage\n-----\n\nCauldron currently supports postgres and redis. It uses aiopg_ and aioredis_ internally but removes a lot of\nboilerplate code that is usually written.\n\n.. _aiopg: https://github.com/aio-libs/aiopg\n.. _aioredis: https://github.com/aio-libs/aioredis\n\nSample code using aiopg:\n\n.. code-block:: python\n\n import asyncio\n from aiopg.pool import create_pool\n\n dsn = 'dbname=jetty user=nick password=1234 host=localhost port=5432'\n\n\n class UsePostgres():\n\n @classmethod\n def test_select(cls):\n pool = yield from create_pool(dsn)\n\n with (yield from pool) as conn:\n cur = yield from conn.cursor()\n yield from cur.execute('SELECT 1')\n ret = yield from cur.fetchone()\n assert ret == (1,), ret\n\n\nUsing Cauldron:\n\n.. code-block:: python\n\n from cauldron import PostgresStore\n\n class UseCauldron(PostgresStore):\n @classmethod\n def test_select(cls):\n rows = yield from cls.raw_query('select 1')\n print(rows)\n\nOther Examples\n^^^^^^^^^^^^^^\n\n``cauldron`` also supports using different cursors in a way that you have to write minimal code.\n\nUsing default cursor\n********************\n\n.. code-block:: python\n\n from cauldron import PostgresStore\n\n class UseCauldron(PostgresStore):\n @classmethod\n @cursor\n def test_select(cls, cur):\n rows = yield from cls.raw_sql('select * from users')\n print(rows)\n\nUsing namedtuple_ cursor\n\n.. code-block:: python\n\n from cauldron import PostgresStore\n\n class UseCauldron(PostgresStore):\n @classmethod\n @nt_cursor\n def test_select(cls, cur):\n rows = yield from cls.raw_sql('select * from users')\n print(rows)\n \n.. _namedtuple: https://docs.python.org/3/library/collections.html#collections.namedtuple\n\nUsing dict cursor:\n\n.. code-block:: python\n\n from cauldron import PostgresStore\n\n class UseCauldron(PostgresStore):\n @classmethod\n @dict_cursor\n def test_select(cls, cur):\n rows = yield from cls.raw_sql('select * from users')\n print(rows)\n\n``cauldron`` also provides functionalities for common DB operations to make your code more readable\n\nInserting into db:\n\n.. code-block:: python\n\n from cauldron import PostgresStore\n\n class UseCauldron(PostgresStore):\n @classmethod\n def store_user(cls, username, password):\n insert_dict = {'username': username, 'password': password}\n yield from cls.insert('user_table', insert_dict)\n\nLicense\n-------\n``cauldron`` is offered under the MIT license.\n\nSource code\n-----------\nThe latest developer version is available in a github repository:\nhttps://github.com/nerandell/cauldron\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/nerandell/cauldron", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "cauldron", "package_url": "https://pypi.org/project/cauldron/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cauldron/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/nerandell/cauldron" }, "release_url": "https://pypi.org/project/cauldron/1.0.14/", "requires_dist": null, "requires_python": null, "summary": "Utils to reduce boilerplate code", "version": "1.0.14" }, "last_serial": 1864704, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "bbd62795a903bf3c0471e8927349aa62", "sha256": "c617a45bd815fbaad416b6c56807f419ad78eb8f69174686092900357b2f4760" }, "downloads": -1, "filename": "cauldron-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bbd62795a903bf3c0471e8927349aa62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3120, "upload_time": "2015-07-14T07:15:52", "url": "https://files.pythonhosted.org/packages/6e/9d/b4cdbaa78964cbece7c58e8db6ef5856806f8a313e756abbcc71caf407fc/cauldron-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "b93cf34451996d1760060a13e0bd90e0", "sha256": "dab89221f1d164f5742f2c8b97146b6b4c6db52ec4e965c1ef59fab008aa590b" }, "downloads": -1, "filename": "cauldron-1.0.1.tar.gz", "has_sig": false, "md5_digest": "b93cf34451996d1760060a13e0bd90e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3119, "upload_time": "2015-07-14T07:17:46", "url": "https://files.pythonhosted.org/packages/95/2b/af2741ea4e11993a19414659ba78d4ca71a432b02a28d4149e14b1d3e507/cauldron-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "95c0095f1e124487b66d94b04728c946", "sha256": "09d3c3ed51a63b842fadb43d197ece3af2c98b85f5b3df6eeaa53d0344ae8b55" }, "downloads": -1, "filename": "cauldron-1.0.10.tar.gz", "has_sig": false, "md5_digest": "95c0095f1e124487b66d94b04728c946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3699, "upload_time": "2015-08-27T09:57:30", "url": "https://files.pythonhosted.org/packages/65/a0/618092f6fd7650877bc4aecf24c22e5ee60aaabad9578bf9123c4e37424f/cauldron-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "b354388cd8472ea752baabaa6c545de6", "sha256": "faba19b5f9496d17431761ca9951efba41ee27acea6d9b156f6de19ecf8e5207" }, "downloads": -1, "filename": "cauldron-1.0.11.tar.gz", "has_sig": false, "md5_digest": "b354388cd8472ea752baabaa6c545de6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4201, "upload_time": "2015-09-05T06:36:32", "url": "https://files.pythonhosted.org/packages/60/a2/9a6c992b00c29090fee5ae1dfc45c68b0d3ea383d5ff106f2cd83b6e545d/cauldron-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "954c174eb31658e1d51af6f77aa8dcc5", "sha256": "98df8811c16f15264d2534fda07457f980ff5da2da61c8dca5e8c54f9dc0e76c" }, "downloads": -1, "filename": "cauldron-1.0.12.tar.gz", "has_sig": false, "md5_digest": "954c174eb31658e1d51af6f77aa8dcc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4199, "upload_time": "2015-09-05T07:44:06", "url": "https://files.pythonhosted.org/packages/89/b1/90488e1be084bd31cb95683105b456e6f2a4d3d3f632fb77a41ad59167a3/cauldron-1.0.12.tar.gz" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "28e51a9f00f3a0adfa6ffc8b2bb56db8", "sha256": "4731ba1f7b8c12e7fa17e6b6aa0dec902c8d3f37a90a05d073a9795e26b7dd98" }, "downloads": -1, "filename": "cauldron-1.0.13.tar.gz", "has_sig": false, "md5_digest": "28e51a9f00f3a0adfa6ffc8b2bb56db8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4204, "upload_time": "2015-10-20T11:04:55", "url": "https://files.pythonhosted.org/packages/c9/c5/86302c5abb40467e5e0ab1250130268c771ae7e34fbd5f85f97d414b9a45/cauldron-1.0.13.tar.gz" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "ccbc1fc52932362bde677722f529f491", "sha256": "2f548946fdefae11a82ff95426e2061989c4a9a97e518c769efb106b74842606" }, "downloads": -1, "filename": "cauldron-1.0.14.tar.gz", "has_sig": false, "md5_digest": "ccbc1fc52932362bde677722f529f491", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5297, "upload_time": "2015-12-16T08:46:12", "url": "https://files.pythonhosted.org/packages/c0/6a/35aa62b60e752c8fd207dadeefcc6ebe95a9ac3aad8114451d7af4b1aa8c/cauldron-1.0.14.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2a5027a7505e56c4abdfc2e3e03730f3", "sha256": "248800e18a7c273ee926c47f4bb8056b76e56e66a2f764754c7da9f9eb43d10d" }, "downloads": -1, "filename": "cauldron-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2a5027a7505e56c4abdfc2e3e03730f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3372, "upload_time": "2015-08-10T08:00:06", "url": "https://files.pythonhosted.org/packages/8a/99/002ec2598da107ba32e2f1f907368a605d91d8eaa9d6570a791024d8bc9f/cauldron-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c12f70a7c0b7c25e4998c1719887bebd", "sha256": "e35f7406c1b64f2fc2ac40c5a64b71e82e6652f40144c1eb496aee879186f81c" }, "downloads": -1, "filename": "cauldron-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c12f70a7c0b7c25e4998c1719887bebd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3372, "upload_time": "2015-08-11T06:29:32", "url": "https://files.pythonhosted.org/packages/ad/92/aaf846209f1970fe59817ae7d0d54dcd482687b9cfb290acdcab557dec8b/cauldron-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "bb6e24b3dead3ca2d91b3e08babc2b60", "sha256": "c0bf6d84d347a4cca89ccea23446213d6cf24977be44b24ab5db4fb6c6bef4a4" }, "downloads": -1, "filename": "cauldron-1.0.4.tar.gz", "has_sig": false, "md5_digest": "bb6e24b3dead3ca2d91b3e08babc2b60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3658, "upload_time": "2015-08-11T07:55:45", "url": "https://files.pythonhosted.org/packages/d3/f2/c91a75384d2b76d87d2e31bf0376bd79f974838b8b8b181dcf58768a039a/cauldron-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f73862555bfbb60bfce288f31bee5918", "sha256": "fa5b9198ef1878bbf92b3ec7e454066155edd8f7f642eb0a7284a0d2de8c1a8b" }, "downloads": -1, "filename": "cauldron-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f73862555bfbb60bfce288f31bee5918", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3648, "upload_time": "2015-08-11T08:36:35", "url": "https://files.pythonhosted.org/packages/a9/c8/7c79f4c6ed60516469a3fc38284d45a45350d675945fe1d6a688e4aca870/cauldron-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "c3a3debffbf88409937372102f534048", "sha256": "816bf35677f898bf45cc4b1e7c1fa0e12df1c26b0167d54c9081c035fd8d2234" }, "downloads": -1, "filename": "cauldron-1.0.6.tar.gz", "has_sig": false, "md5_digest": "c3a3debffbf88409937372102f534048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3660, "upload_time": "2015-08-12T12:09:25", "url": "https://files.pythonhosted.org/packages/9b/e6/8264a82adf247a9e657517ccbefc3efcaa5334b4b589a37a882c4c7dded7/cauldron-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "cd7ee5fe1b4742ad694ddad23dc17e82", "sha256": "a36800ab730bce98d5a4298f6c6d02daa15135f4bcf844dd1724202fca5e2e45" }, "downloads": -1, "filename": "cauldron-1.0.7.tar.gz", "has_sig": false, "md5_digest": "cd7ee5fe1b4742ad694ddad23dc17e82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3704, "upload_time": "2015-08-13T09:16:18", "url": "https://files.pythonhosted.org/packages/93/d5/a0e79a0f2820c558303d04fcfb4637309a83cfb587c9194091334bf3c4ac/cauldron-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "47dd40a7ee21c65e82c74a73493ac525", "sha256": "1b0989bb6fe69881abedf6e8d197e78f2fb829a12fed13ddb6c63e77594a1455" }, "downloads": -1, "filename": "cauldron-1.0.8.tar.gz", "has_sig": false, "md5_digest": "47dd40a7ee21c65e82c74a73493ac525", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3698, "upload_time": "2015-08-25T14:21:43", "url": "https://files.pythonhosted.org/packages/6d/49/a42df5de9c2d88915181e5953e908d5180d99d5c0039f675622e54cf2415/cauldron-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "9fbdda1632da85244b2f661849dc5327", "sha256": "90bae9a6eadba42412aff7a6dc58bc54c904bb578245dcb2f697923552471c18" }, "downloads": -1, "filename": "cauldron-1.0.9.tar.gz", "has_sig": false, "md5_digest": "9fbdda1632da85244b2f661849dc5327", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3695, "upload_time": "2015-08-27T09:03:49", "url": "https://files.pythonhosted.org/packages/73/cd/2cbc3305f2606918509ad2ea7d359af3e52f72d1ef43cc172cfa1bbede72/cauldron-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ccbc1fc52932362bde677722f529f491", "sha256": "2f548946fdefae11a82ff95426e2061989c4a9a97e518c769efb106b74842606" }, "downloads": -1, "filename": "cauldron-1.0.14.tar.gz", "has_sig": false, "md5_digest": "ccbc1fc52932362bde677722f529f491", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5297, "upload_time": "2015-12-16T08:46:12", "url": "https://files.pythonhosted.org/packages/c0/6a/35aa62b60e752c8fd207dadeefcc6ebe95a9ac3aad8114451d7af4b1aa8c/cauldron-1.0.14.tar.gz" } ] }