{ "info": { "author": "Vail Gold", "author_email": "vail130@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "Mason\n====\n\n.. image:: https://travis-ci.org/vail130/mason.svg?branch=master\n\nMason is a nice, light-weight, SQL query builder. It lets you use objects instead of SQL strings without\nhaving an ORM take over your database model.\n\nExample\n-------\n.. code-block:: python\n\n # Annoying :/\n query = \"\"\"\n SELECT purchases.id,\n purchases.product_name,\n (purchases.product_price)::NUMERIC(10, 2),\n (purchases.datetime_purchased)::DATE\n FROM purchases\n INNER JOIN users ON purchases.purchaser_id = users.user_id\n WHERE purchases.datetime_purchased BETWEEN %(start)s AND %(end)s\n AND (purchases.purchaser_id = %(user_id)s OR purchases.purchaser_id IS NULL)\n ORDER BY purchases.datetime_purchased ASC\n LIMIT 10\n OFFSET 10\n \"\"\"\n\n # Convenient :)\n from mason import Table, Param, SELECT, AND, OR, DATE, NUMERIC\n\n purchases = Table('purchases')\n users = Table('users')\n user_id = Param('user_id')\n start = Param('start')\n end = Param('end')\n\n query = str(\n SELECT(purchases.id, purchases.product_name,\n NUMERIC(purchases.product_price, 10, 2),\n DATE(purchases.datetime_purchased))\n .FROM(purchases)\n .INNER_JOIN(users.ON(purchases.purchaser_id == users.user_id))\n .WHERE(AND(purchases.datetime_purchased.BETWEEN(start).AND(end),\n OR(purchases.purchaser_id == user_id,\n purchases.purchaser_id.IS_NULL)))\n .ORDER_BY(purchases.datetime_purchased.ASC)\n .LIMIT(10)\n .OFFSET(10)\n )\n\nInstall\n-------\n.. code-block:: sh\n\n pip install mason\n\nDevelop\n-------\n.. code-block:: sh\n\n cd path/to/repos\n git clone git@github.com:vail130/mason.git\n cd mason\n mkvirtualenv mason\n pip install -r requirements.txt\n make test", "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/vail130/mason", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "mason", "package_url": "https://pypi.org/project/mason/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mason/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/vail130/mason" }, "release_url": "https://pypi.org/project/mason/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Python SQL query generation without the ORM.", "version": "0.1.0" }, "last_serial": 1944971, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "df3be1b067aba9c5cfd6738fdd4fb73b", "sha256": "08565efb0d687750e2086f5708de4336c0c06f893672780575a47bdf484250cd" }, "downloads": -1, "filename": "mason-0.1.0.tar.gz", "has_sig": false, "md5_digest": "df3be1b067aba9c5cfd6738fdd4fb73b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7034, "upload_time": "2016-02-08T02:23:00", "url": "https://files.pythonhosted.org/packages/6d/dd/b6c4b2f3b5ebf0d3e69193a75ac8b9e8958eb01401d592add872b8d89b4d/mason-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "df3be1b067aba9c5cfd6738fdd4fb73b", "sha256": "08565efb0d687750e2086f5708de4336c0c06f893672780575a47bdf484250cd" }, "downloads": -1, "filename": "mason-0.1.0.tar.gz", "has_sig": false, "md5_digest": "df3be1b067aba9c5cfd6738fdd4fb73b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7034, "upload_time": "2016-02-08T02:23:00", "url": "https://files.pythonhosted.org/packages/6d/dd/b6c4b2f3b5ebf0d3e69193a75ac8b9e8958eb01401d592add872b8d89b4d/mason-0.1.0.tar.gz" } ] }