Skip to main content
=============================
Django Eraserhead
=============================

.. image:: https://badge.fury.io/py/django-eraserhead.svg
:target: https://badge.fury.io/py/django-eraserhead

.. image:: https://travis-ci.org/dizballanze/django-eraserhead.svg?branch=master
:target: https://travis-ci.org/dizballanze/django-eraserhead

.. image:: https://codecov.io/gh/dizballanze/django-eraserhead/branch/master/graph/badge.svg
:target: https://codecov.io/gh/dizballanze/django-eraserhead

Provide hints to optimize database usage by deferring unused fields

.. image:: https://github.com/dizballanze/django-eraserhead/raw/master/eraserhead.jpg

*WARNING* use this package only in dev environment!

Documentation
-------------

Requirements
-----------

* Django 1.9+
* Python 2.7, 3.4+

Quickstart
----------

Install Django Eraserhead::

pip install django-eraserhead

Add it to your `INSTALLED_APPS`:

.. code-block:: python

INSTALLED_APPS = (
...
'eraserhead.apps.EraserheadConfig',
...
)

ERASERHEAD_ENABLED = True
ERASERHEAD_TRACEBACK_BASE_PATH = BASE_DIR


Settings:

* `ERASERHEAD_ENABLED` - enable/disable Django Eraserhead
* `ERASERHEAD_TRACEBACK_BASE_PATH` - set base path to filter tracebacks. Set to `None` to display full traceback.

Features
--------

.. image:: https://github.com/dizballanze/django-eraserhead/raw/master/screenshot.png

Django Eraserhead monitors:

* querysets/models fields usage (used and unused fields) with considering deferred fields
* count of instances created for each queryset
* corresponding model of each queryset
* traceback for each queryset to easily find corresponding code
* calculate memory consumption of unused fields

Based on fields usage Django Eraserhead suggests optimizations for each queryset.


TODO
-----

* decorator and/or context processor for partial stats collecting
* detect deferred fields loading
* auto deferring fields based on usage
* display deferred fields

Running Tests
-------------

::

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits
-------

Tools used in rendering this package:

* Cookiecutter_
* `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-eraserhead-0.1.5.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_eraserhead-0.1.5-py2.py3-none-any.whl (7.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-eraserhead-0.1.5.tar.gz.

File metadata

File hashes

Hashes for django-eraserhead-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e936aaedfb54b6a200106aa0ac5380a73d3a9a3683d3d0d593082a1bdec6477e
MD5 3eeafe539b3048fbf8c19d70f1a2e741
BLAKE2b-256 72b7a61f3b631c451b32c4f65d059d818885a33adf57135e907701cbe3de28ee

See more details on using hashes here.

File details

Details for the file django_eraserhead-0.1.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_eraserhead-0.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3b3fca02433526e8e4244bda785eeddbdda9945f335ceae42bf8a1a90701ccff
MD5 9071b7abed450775aa96d6ea93aa9c97
BLAKE2b-256 f1886646e6fe248283a74ad94f76336104f73503aa65ca1ec3556bd0dcdf4b0f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page