{ "info": { "author": "Gizmag", "author_email": "opensource@gizmag.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "****************************************\ndjango simple audit\n****************************************\nThis applications was created to audit model's changes and maintain a log of them\n\n.. image:: https://travis-ci.org/gizmag/django-simple-audit.svg?branch=master\n :target: https://travis-ci.org/gizmag/django-simple-audit\n\nInstallation\n===============\nYou can install django-simple-audit in 2 ways: using pip or by setup.py install\n\n.. code-block:: bash\n\n $ pip install django-simple-audit\n\n\nThen modify your settings.py, adding the package `simple_audit` in INSTALLED_APPS and in MIDDLEWARE_CLASSES add\n`simple_audit.middleware.TrackingRequestOnThreadLocalMiddleware`:\n\n.. code-block:: bash\n\n INSTALLED_APPS = [\n '...',\n\t 'simple_audit',\n ]\n\n MIDDLEWARE_CLASSES = [\n '...',\n\t 'simple_audit.middleware.TrackingRequestOnThreadLocalMiddleware',\n ]\n\n\nUsage\n======\n\nTracking changes on a model\n----------------------------\n\nto audit a model you need import `simple_audit` and then register the model to be audited.\n\n.. code-block:: python\n\n\tfrom django.db import models\n\timport simple_audit\n\n\n\tclass Message(models.Model):\n\n\t title = models.CharField(max_length=50, blank=False)\n\t text = models.TextField(blank=False)\n\n\t def __unicode__(self):\n\t return self.text\n\n\n\tclass Owner(models.Model):\n\n\t name = models.CharField(max_length=50, blank=False)\n\n\t def __unicode__(self):\n\t return self.name\n\n\n\tclass VirtualMachine(models.Model):\n\n\t name = models.CharField(max_length=50, blank=False)\n\t cpus = models.IntegerField()\n\t owner = models.ForeignKey(Owner)\n\t so = models.CharField(max_length=100, blank=False)\n\t started = models.BooleanField()\n\n\t def __unicode__(self):\n\t return self.name\n\n\n\tsimple_audit.register(Message, Owner, VirtualMachine)\n\nAdvanced Usage (without httprequest or our middleware)\n--------------------------------------------------------\n\nYou can use django-simple-audit without an http request (for example in management command). In this situation\nthere is no http request on thread context. To ensure gathering all modification on a single AuditRequest, you can\nspecify it:\n\n.. code-block:: python\n\n\tAuditRequest.new_request(path, user, ip)\n\ttry:\n\t # my code... in same thread\n\tfinally:\n\t AuditRequest.cleanup_request()\n\nTracking m2m fields changes\n----------------------------\n\nTracking m2m fields changes is still experimental, but you can enable it with the following variable:\n\n DJANGO_SIMPLE_AUDIT_M2M_FIELDS = True\n\nYou need to have at least one cache backend set in your django settings, otherwise the previous settings will be set to False.\n\n.. code-block:: python\n\n CACHES = {\n 'default': {\n 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\n 'LOCATION': 'unique',\n 'TIMEOUT': 300,\n }\n }\n\nDependencies\n============\n\n* Django >= 1.8\n* django.contrib.contenttypes installed in INSTALLED_APPS\n\n\nTODO\n====\n* Improve tests\n\nCHANGELOG\n=========\n* 0.2.2\n * Add support for Django 1.9.\n* 0.2.1\n * Drop South, require Django 1.8 or newer.\n* 0.2.0\n * Use South for migrations\n* 0.1.12\n * Created some simple tests\n * Enable many to many fiedls tracking (see Usage)\n\n\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/gizmag/django-simple-audit", "keywords": "revisions versioning history audit", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-simple-audit-gizmag", "package_url": "https://pypi.org/project/django-simple-audit-gizmag/", "platform": "", "project_url": "https://pypi.org/project/django-simple-audit-gizmag/", "project_urls": { "Homepage": "https://github.com/gizmag/django-simple-audit" }, "release_url": "https://pypi.org/project/django-simple-audit-gizmag/0.2.2/", "requires_dist": [ "Django (>=1.8)" ], "requires_python": "", "summary": "Simple audit for model instances in Django.", "version": "0.2.2" }, "last_serial": 2218408, "releases": { "0.2.2": [ { "comment_text": "", "digests": { "md5": "3576eb5b12a3d13267799c05d1f0bc0c", "sha256": "119544e5b981a9580c8dbad86b3a1f22cf8ee5c8c16fdaffe604bd92167e5524" }, "downloads": -1, "filename": "django_simple_audit_gizmag-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "3576eb5b12a3d13267799c05d1f0bc0c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20618, "upload_time": "2016-07-13T08:20:52", "url": "https://files.pythonhosted.org/packages/dc/48/65f99f1084228efad0b92998d05e48259de6ee84ebf41f39b4988a25d918/django_simple_audit_gizmag-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5c66d02d971ce4ae53dae36035a8d02", "sha256": "b393e395d7297d58f9553ff2d3e27d49ffa434b7886d338af5ef5b9df800f2f0" }, "downloads": -1, "filename": "django-simple-audit-gizmag-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b5c66d02d971ce4ae53dae36035a8d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22303, "upload_time": "2016-07-13T08:20:55", "url": "https://files.pythonhosted.org/packages/74/b2/8ded1b20655794fd2f236fb7b1675733181982e9ef80dae0a6d5bbcaf74c/django-simple-audit-gizmag-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3576eb5b12a3d13267799c05d1f0bc0c", "sha256": "119544e5b981a9580c8dbad86b3a1f22cf8ee5c8c16fdaffe604bd92167e5524" }, "downloads": -1, "filename": "django_simple_audit_gizmag-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "3576eb5b12a3d13267799c05d1f0bc0c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20618, "upload_time": "2016-07-13T08:20:52", "url": "https://files.pythonhosted.org/packages/dc/48/65f99f1084228efad0b92998d05e48259de6ee84ebf41f39b4988a25d918/django_simple_audit_gizmag-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5c66d02d971ce4ae53dae36035a8d02", "sha256": "b393e395d7297d58f9553ff2d3e27d49ffa434b7886d338af5ef5b9df800f2f0" }, "downloads": -1, "filename": "django-simple-audit-gizmag-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b5c66d02d971ce4ae53dae36035a8d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22303, "upload_time": "2016-07-13T08:20:55", "url": "https://files.pythonhosted.org/packages/74/b2/8ded1b20655794fd2f236fb7b1675733181982e9ef80dae0a6d5bbcaf74c/django-simple-audit-gizmag-0.2.2.tar.gz" } ] }