{ "info": { "author": "Aykut Ozat", "author_email": "aykutozat@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "django-aggregates\n=================\nAggregate, String and Conditional SQL functions to use into Annotate and Aggregate methods. Any kind of contribitions and ideas are welcome.\n\nInstallation\n=================\n pip install django-aggregates\n\nUsage\n=================\n >> from aggregates import StringAgg\n >> People.objects.aggregate(names=StringAgg('name', delimiter(', ')))\n >> {'names': 'Walter, The Dude, Donny, Jesus'}\n\n >> from aggregates import As\n >> People.objects.values('address__title').annotate(prettyname=As('address__title')).values('prettyname')\n >> [{'prettyname': 'someadress1'}, {'prettyname': 'someaddress2'}]\n\n >> from aggregates.strings import CharLength\n >> People.objects.annotate(char_len=CharLength('name')).filter(char_len__gt=6)\n >> [, ]\n\n >> from aggregates.conditionals import Coalesce, NullIf\n >> person=People.objects.annotate(null_if=NullIf('name', othercol='surname'))[0]\n >> person.null_if\n >> 'Walter'\n >> person=People.objects.annotate(coalesce=Coalesce('age', default=18))[0]\n >> person.coalesce\n >> 18\n >> person.age\n >>\n\nAvailable Functions\n=================\nAggregates:\n\n from aggregates import ...\n- As\n- BitAnd\n- BitOr\n- BoolAnd **# Only PostgreSQL**\n- BoolOr **# Only PostgreSQL**\n- Every **# Only PostgreSQL**\n- StringAgg **# Only PostgreSQL**\n- XMLAgg **# Only PostgreSQL**\n- Corr **# Only PostgreSQL**\n- CovarPop **# Only PostgreSQL**\n- CovarSamp **# Only PostgreSQL**\n- RegrAvgX **# Only PostgreSQL**\n- RegrAvgY **# Only PostgreSQL**\n- RegrCount **# Only PostgreSQL**\n- RegrIntercept **# Only PostgreSQL**\n- RegrR2 **# Only PostgreSQL**\n- RegrSlope **# Only PostgreSQL**\n- RegrSXX **# Only PostgreSQL**\n- RegrSXY **# Only PostgreSQL**\n- RegrSYY **# Only PostgreSQL**\n- Mode **# Only PostgreSQL 9.4+**\n- PercentileCont **# Only PostgreSQL 9.4+**\n- PercentileDisc **# Only PostgreSQL 9.4+**\n\nStrings:\n\n from aggregates.string import ...\n- BitLength\n- CharLength\n- CharacterLength\n- OctetLength\n- Lower\n- Upper\n- Ascii\n- Length\n- MD5 **# Only PostgreSQL**\n\nConditionals:\n\n from aggregates.conditionals import ...\n- NullIf\n- Coalesce **# Only PostgreSQL**\n\nRequirements\n==================================\n- Django 1.2+\n\nTODO\n=================\n- UnitTests.\n- More detailed informations about functions.\n- JSON functions and operations", "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/aykut/django-aggregates", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-aggregates", "package_url": "https://pypi.org/project/django-aggregates/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-aggregates/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/aykut/django-aggregates" }, "release_url": "https://pypi.org/project/django-aggregates/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "Aggregate, String and Conditional SQL functions for Django ORM.", "version": "0.1.3" }, "last_serial": 2355786, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "89c7ad530065cce5cc042270ce5e999e", "sha256": "2e77544f9ffd09bf3bc4e40664354f6efa7d680b61799a685419164e650ca5c6" }, "downloads": -1, "filename": "django-aggregates-0.1.macosx-10.9-intel.exe", "has_sig": false, "md5_digest": "89c7ad530065cce5cc042270ce5e999e", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 67926, "upload_time": "2014-04-27T18:55:09", "url": "https://files.pythonhosted.org/packages/68/03/57bd6d74f32653759d70c7cf8a651dec7b72b276364c5123c0847788b896/django-aggregates-0.1.macosx-10.9-intel.exe" }, { "comment_text": "", "digests": { "md5": "ccef164c923f315b7cb786f373818973", "sha256": "bf56555c596ecf656cc3c46054749f071161694dbe8c0e853eb31196ca5ef10d" }, "downloads": -1, "filename": "django-aggregates-0.1.tar.gz", "has_sig": false, "md5_digest": "ccef164c923f315b7cb786f373818973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3172, "upload_time": "2014-04-27T18:55:06", "url": "https://files.pythonhosted.org/packages/94/af/85fabc24312c760445d810d165c0de7eab27383eba47790457cd2bb3bedb/django-aggregates-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a9aec4088e6cb21e5fb82017ff8616b9", "sha256": "260bb275c2aab82f09d6f56e841995f6c25416c8c97ef4998143bd85b8433d1a" }, "downloads": -1, "filename": "django-aggregates-0.1.1.macosx-10.9-intel.exe", "has_sig": false, "md5_digest": "a9aec4088e6cb21e5fb82017ff8616b9", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 67941, "upload_time": "2014-04-27T18:56:46", "url": "https://files.pythonhosted.org/packages/63/4b/6332e69f75c8ee3c3402ebcf38c4c50646607ce46d5c422014f88cc21aaa/django-aggregates-0.1.1.macosx-10.9-intel.exe" }, { "comment_text": "", "digests": { "md5": "c3e806098519be53c18b95fbb427c88e", "sha256": "06bdaf7f86d41a8729be2c7cc23b36df809258be3a61ce9d76e720082c36bad0" }, "downloads": -1, "filename": "django-aggregates-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c3e806098519be53c18b95fbb427c88e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3161, "upload_time": "2014-04-27T18:56:43", "url": "https://files.pythonhosted.org/packages/a9/2e/7f021d193401bbdc57323604d6269b0ec80cf65bd168d750418464a1269a/django-aggregates-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "69129efde02ad504d0bb1b9d4b8f35f3", "sha256": "7158f8716153a961eaa419380ec639be207eb040e34ad4552fcd223abd5da066" }, "downloads": -1, "filename": "django-aggregates-0.1.2.macosx-10.9-x86_64.exe", "has_sig": false, "md5_digest": "69129efde02ad504d0bb1b9d4b8f35f3", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 75812, "upload_time": "2015-05-01T18:54:04", "url": "https://files.pythonhosted.org/packages/15/59/0c6c3c787fc04a21e29207119a502626b2d3f4a2728cd6de28950e6741fe/django-aggregates-0.1.2.macosx-10.9-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "9e7e87a988c3051e433fa00459f818fc", "sha256": "ebaabc929342f82d553483f37fcc18f9a45f8f841407aaed0c8cb12da4da9e38" }, "downloads": -1, "filename": "django-aggregates-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9e7e87a988c3051e433fa00459f818fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4203, "upload_time": "2015-05-01T18:54:00", "url": "https://files.pythonhosted.org/packages/d6/0d/c6dd0e630b2f21d6be100e905a44c33d4a28e2df3f5120872d3927101c25/django-aggregates-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3c2e7e31b4a4caf580de61ed39f628c0", "sha256": "8b89324c7b5bf0c3133cda209be4d77fe299f1f254ef71f8ef9ee641c4f4403e" }, "downloads": -1, "filename": "django_aggregates-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "3c2e7e31b4a4caf580de61ed39f628c0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8463, "upload_time": "2016-09-21T19:14:17", "url": "https://files.pythonhosted.org/packages/d3/b0/a14e92677083515db41ec388231bdb87f4fc4bdfa665c7d69745d02b1743/django_aggregates-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb92ea59c0d87b4325d8f4c643558145", "sha256": "9daf619caca866ef5c84b0216f59f929341efbb18b7dbe748f376efb0cad53a7" }, "downloads": -1, "filename": "django-aggregates-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cb92ea59c0d87b4325d8f4c643558145", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4183, "upload_time": "2016-09-21T19:12:54", "url": "https://files.pythonhosted.org/packages/2a/40/dcf66841f61bbc00fb74e3bec831653fef03819ffee37ad9e05358fd3684/django-aggregates-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3c2e7e31b4a4caf580de61ed39f628c0", "sha256": "8b89324c7b5bf0c3133cda209be4d77fe299f1f254ef71f8ef9ee641c4f4403e" }, "downloads": -1, "filename": "django_aggregates-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "3c2e7e31b4a4caf580de61ed39f628c0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8463, "upload_time": "2016-09-21T19:14:17", "url": "https://files.pythonhosted.org/packages/d3/b0/a14e92677083515db41ec388231bdb87f4fc4bdfa665c7d69745d02b1743/django_aggregates-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb92ea59c0d87b4325d8f4c643558145", "sha256": "9daf619caca866ef5c84b0216f59f929341efbb18b7dbe748f376efb0cad53a7" }, "downloads": -1, "filename": "django-aggregates-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cb92ea59c0d87b4325d8f4c643558145", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4183, "upload_time": "2016-09-21T19:12:54", "url": "https://files.pythonhosted.org/packages/2a/40/dcf66841f61bbc00fb74e3bec831653fef03819ffee37ad9e05358fd3684/django-aggregates-0.1.3.tar.gz" } ] }