{ "info": { "author": "Iurii Shikanov", "author_email": "dizballanze@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=============================\nDjango Eraserhead\n=============================\n\n.. image:: https://badge.fury.io/py/django-eraserhead.svg\n :target: https://badge.fury.io/py/django-eraserhead\n\n.. image:: https://travis-ci.org/dizballanze/django-eraserhead.svg?branch=master\n :target: https://travis-ci.org/dizballanze/django-eraserhead\n\n.. image:: https://codecov.io/gh/dizballanze/django-eraserhead/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/dizballanze/django-eraserhead\n\nProvide hints to optimize database usage by deferring unused fields\n\n.. image:: https://github.com/dizballanze/django-eraserhead/raw/master/eraserhead.jpg\n\n*WARNING* use this package only in dev environment!\n\nDocumentation\n-------------\n\nRequirements\n-----------\n\n* Django 1.9+\n* Python 2.7, 3.4+\n\nQuickstart\n----------\n\nInstall Django Eraserhead::\n\n pip install django-eraserhead\n\nAdd it to your `INSTALLED_APPS`:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'eraserhead.apps.EraserheadConfig',\n ...\n )\n\n ERASERHEAD_ENABLED = True\n ERASERHEAD_TRACEBACK_BASE_PATH = BASE_DIR\n\n\nSettings:\n\n* `ERASERHEAD_ENABLED` - enable/disable Django Eraserhead\n* `ERASERHEAD_TRACEBACK_BASE_PATH` - set base path to filter tracebacks. Set to `None` to display full traceback.\n\nFeatures\n--------\n\n.. image:: https://github.com/dizballanze/django-eraserhead/raw/master/screenshot.png\n\nDjango Eraserhead monitors:\n\n* querysets/models fields usage (used and unused fields) with considering deferred fields\n* count of instances created for each queryset\n* corresponding model of each queryset\n* traceback for each queryset to easily find corresponding code\n* calculate memory consumption of unused fields\n\nBased on fields usage Django Eraserhead suggests optimizations for each queryset.\n\n\nTODO\n-----\n\n* decorator and/or context processor for partial stats collecting\n* detect deferred fields loading\n* auto deferring fields based on usage\n* display deferred fields\n\nRunning Tests\n-------------\n\n::\n\n source /bin/activate\n (myenv) $ pip install tox\n (myenv) $ tox\n\nCredits\n-------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dizballanze/django-eraserhead", "keywords": "django-eraserhead", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-eraserhead", "package_url": "https://pypi.org/project/django-eraserhead/", "platform": "", "project_url": "https://pypi.org/project/django-eraserhead/", "project_urls": { "Homepage": "https://github.com/dizballanze/django-eraserhead" }, "release_url": "https://pypi.org/project/django-eraserhead/0.1.5/", "requires_dist": null, "requires_python": "", "summary": "Provide hints to optimize database usage by deferring unused fields", "version": "0.1.5" }, "last_serial": 3052451, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3a206b213e5e50fc2a26359133bd51e0", "sha256": "c6d97094bc769b6b8400c38fd555cefe3f670d58f350ff68e6a6e5eaa1a1824a" }, "downloads": -1, "filename": "django_eraserhead-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a206b213e5e50fc2a26359133bd51e0", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6158, "upload_time": "2017-07-11T07:41:27", "url": "https://files.pythonhosted.org/packages/e5/6d/20d1a64c7defa59976e54b82181ab86daff0478c707fddf8e7d7f154ca3d/django_eraserhead-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "613aaf821594ac509727da0d68624a7f", "sha256": "948f42b97d587b49d461ff0f3d76efe1c46daf58043606052984cea89a005418" }, "downloads": -1, "filename": "django-eraserhead-0.1.0.tar.gz", "has_sig": false, "md5_digest": "613aaf821594ac509727da0d68624a7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5171, "upload_time": "2017-07-11T07:41:24", "url": "https://files.pythonhosted.org/packages/6a/d0/9ae48722c45fc2d03d8da5f3acd60ee1ff74c21f42343cdf423a64d32409/django-eraserhead-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9e6fcb64ee335508429877e9e87c6c05", "sha256": "f8935f65a55a43e69473dc9ebdce11997c13975cf6808b464f2c12a3d74026b3" }, "downloads": -1, "filename": "django_eraserhead-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e6fcb64ee335508429877e9e87c6c05", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6261, "upload_time": "2017-07-11T09:08:33", "url": "https://files.pythonhosted.org/packages/99/d6/d26b2c953e2c313b631c21d212169c8a289e9e6669a64f3e44f03878543c/django_eraserhead-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5eb3f4e978b88287ec4a9932c071afc0", "sha256": "a707db8d7e48ae35112c7c7a7faca98d591b059a647b0dd9bbad1764a71a8667" }, "downloads": -1, "filename": "django-eraserhead-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5eb3f4e978b88287ec4a9932c071afc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5234, "upload_time": "2017-07-11T09:08:30", "url": "https://files.pythonhosted.org/packages/66/8a/43ad49393004d7b8412d8852144782800f29234c8992fb1d5bb53f20a36b/django-eraserhead-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f2a9cd8305d0bb37a50be634add0ade3", "sha256": "531ab6b0e858c50f51708e24c9043cced43481b0de4e8b7684b4b40c7fc51381" }, "downloads": -1, "filename": "django_eraserhead-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2a9cd8305d0bb37a50be634add0ade3", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6300, "upload_time": "2017-07-11T09:34:20", "url": "https://files.pythonhosted.org/packages/21/97/d526be7fabd6c2e52a8625150511c5b341083f59b182fc20078981007520/django_eraserhead-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1265e73f20fd7d6c0a10828540e9fc2b", "sha256": "ab6502fa97db6a2b56f613c395cb2b493457e3990709c5d3b85648190f0b694d" }, "downloads": -1, "filename": "django-eraserhead-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1265e73f20fd7d6c0a10828540e9fc2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5275, "upload_time": "2017-07-11T09:34:15", "url": "https://files.pythonhosted.org/packages/9f/3b/8ab74048580b65840ffe3ba55c7ed9ce0813411a3953c122d085e31bf4e8/django-eraserhead-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a087439322811eaed21190ecf0c64a4f", "sha256": "099908ba0b521b7f67c7c6a491376d0338e754afe10fe8e8f3136e9d48443e1d" }, "downloads": -1, "filename": "django_eraserhead-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a087439322811eaed21190ecf0c64a4f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7020, "upload_time": "2017-07-11T12:52:37", "url": "https://files.pythonhosted.org/packages/89/74/e0c3794c1f2bb956b7263bff9ad0a1ad12fcc732d38b7f5b9ce81516adce/django_eraserhead-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "365e284b414cea22dd49abc9dc6929f3", "sha256": "63ae9ae6da93e2da472d0d4e35b2514ab58bab150b9b011232c9649f8bfa02b6" }, "downloads": -1, "filename": "django-eraserhead-0.1.3.tar.gz", "has_sig": false, "md5_digest": "365e284b414cea22dd49abc9dc6929f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5664, "upload_time": "2017-07-11T12:52:34", "url": "https://files.pythonhosted.org/packages/4a/2c/f2fed411b79eaa3366c6560bad33d77b6da5e4eb61afb75cdf87fdee0fe2/django-eraserhead-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "18b01c400d44b6152f5baa8162cf989d", "sha256": "01691c9bf2590df77679c9e6b912eec77f180f421b2b2663711ba2d4683bccba" }, "downloads": -1, "filename": "django_eraserhead-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "18b01c400d44b6152f5baa8162cf989d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7861, "upload_time": "2017-07-23T14:11:20", "url": "https://files.pythonhosted.org/packages/ef/ef/e9c8ffd4cdb426fc12ef215341e3a5103e93a9aa3b9326dc144b80dfa391/django_eraserhead-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d5daeb90d1832391525c21583c1148c", "sha256": "c0ce79a46861631a6cce8c0820d5554c1a6264df9afaff9386734d9e687be0a8" }, "downloads": -1, "filename": "django-eraserhead-0.1.4.tar.gz", "has_sig": false, "md5_digest": "0d5daeb90d1832391525c21583c1148c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6080, "upload_time": "2017-07-23T14:11:18", "url": "https://files.pythonhosted.org/packages/97/72/e8834039338ca3c0d56b83a49b484a5a1612d4a6d344abd5372b435a0946/django-eraserhead-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9071b7abed450775aa96d6ea93aa9c97", "sha256": "3b3fca02433526e8e4244bda785eeddbdda9945f335ceae42bf8a1a90701ccff" }, "downloads": -1, "filename": "django_eraserhead-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9071b7abed450775aa96d6ea93aa9c97", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7863, "upload_time": "2017-07-27T10:16:05", "url": "https://files.pythonhosted.org/packages/f1/88/6646e6fe248283a74ad94f76336104f73503aa65ca1ec3556bd0dcdf4b0f/django_eraserhead-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eeafe539b3048fbf8c19d70f1a2e741", "sha256": "e936aaedfb54b6a200106aa0ac5380a73d3a9a3683d3d0d593082a1bdec6477e" }, "downloads": -1, "filename": "django-eraserhead-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3eeafe539b3048fbf8c19d70f1a2e741", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6086, "upload_time": "2017-07-27T10:16:03", "url": "https://files.pythonhosted.org/packages/72/b7/a61f3b631c451b32c4f65d059d818885a33adf57135e907701cbe3de28ee/django-eraserhead-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9071b7abed450775aa96d6ea93aa9c97", "sha256": "3b3fca02433526e8e4244bda785eeddbdda9945f335ceae42bf8a1a90701ccff" }, "downloads": -1, "filename": "django_eraserhead-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9071b7abed450775aa96d6ea93aa9c97", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7863, "upload_time": "2017-07-27T10:16:05", "url": "https://files.pythonhosted.org/packages/f1/88/6646e6fe248283a74ad94f76336104f73503aa65ca1ec3556bd0dcdf4b0f/django_eraserhead-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eeafe539b3048fbf8c19d70f1a2e741", "sha256": "e936aaedfb54b6a200106aa0ac5380a73d3a9a3683d3d0d593082a1bdec6477e" }, "downloads": -1, "filename": "django-eraserhead-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3eeafe539b3048fbf8c19d70f1a2e741", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6086, "upload_time": "2017-07-27T10:16:03", "url": "https://files.pythonhosted.org/packages/72/b7/a61f3b631c451b32c4f65d059d818885a33adf57135e907701cbe3de28ee/django-eraserhead-0.1.5.tar.gz" } ] }