{ "info": { "author": "Gizmag", "author_email": "tech@gizmag.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "License :: OSI Approved :: MIT 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", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Django Finite State Machine Log\n\n[![Build Status](https://travis-ci.org/gizmag/django-fsm-log.png?branch=master)](https://travis-ci.org/gizmag/django-fsm-log)\n[![Code Health](https://landscape.io/github/gizmag/django-fsm-log/master/landscape.png)](https://landscape.io/github/gizmag/django-fsm-log/master)\n[![codecov](https://codecov.io/gh/gizmag/django-fsm-log/branch/master/graph/badge.svg)](https://codecov.io/gh/gizmag/django-fsm-log)\n\nAutomatic logging for the excellent [Django FSM](https://github.com/kmmbvnr/django-fsm)\npackage.\n\nLogs can be accessed before a transition occurs and before they are persisted to the database\nby enabling a cached backend. See [Advanced Usage](#advanced-usage)\n\n## Changelog\n\n### 1.7.0 (unreleased)\n\n### 1.6.2 (2019-01-06)\n\n- Address Migration history breakage added in 1.6.1\n\n### 1.6.1 (2018-12-02)\n\n- Make StateLog.description field nullable\n\n### 1.6.0 (2018-11-14)\n\n- Add source state on transitions\n- Fixed `get_state_display` with FSMIntegerField (#63)\n- Fixed handling of transitions if target is None (#71)\n- Added `fsm_log_description` decorator (#1, #67)\n- Dropped support for Django 1.10 (#64)\n\n### 1.5.0 (2017-11-29)\n\n- cleanup deprecated code.\n- add codecov support.\n- switch to pytest.\n- add Admin integration to visualize past transitions.\n\n### 1.4.0 (2017-11-09)\n\n- Bring compatibility with Django 2.0 and drop support of unsupported versions\n of Django: `1.6`, `1.7`, `1.9`.\n\n### Compatibility\n\n- Python 2.7 and 3.4+\n- Django 1.8+\n- Django-FSM 2+\n\n## Installation\n\nFirst, install the package with pip. This will automatically install any\ndependencies you may be missing\n\n```bash\npip install django-fsm-log\n```\n\nRegister django_fsm_log in your list of Django applications:\n\n```python\nINSTALLED_APPS = (\n ...,\n 'django_fsm_log',\n ...,\n)\n```\n\nThen migrate the app to create the database table\n\n```bash\npython manage.py migrate django_fsm_log\n```\n\n## Usage\n\nThe app listens for the `django_fsm.signals.post_transition` signal and\ncreates a new record for each transition.\n\nTo query the log:\n\n```python\nfrom django_fsm_log.models import StateLog\nStateLog.objects.all()\n# ...all recorded logs...\n```\n\n### Disabling logging for specific models\n\nBy default transitions get recorded for all models. Logging can be disabled for\nspecific models by adding their fully qualified name to `DJANGO_FSM_LOG_IGNORED_MODELS`.\n\n```python\nDJANGO_FSM_LOG_IGNORED_MODELS = ('poll.models.Vote',)\n```\n\n### `for_` Manager Method\n\nFor convenience there is a custom `for_` manager method to easily filter on the generic foreign key:\n\n```python\nfrom my_app.models import Article\nfrom django_fsm_log.models import StateLog\n\narticle = Article.objects.all()[0]\n\nStateLog.objects.for_(article)\n# ...logs for article...\n```\n\n### `by` Decorator\n\nWe found that our transitions are commonly called by a user, so we've added a\ndecorator to make logging this easy:\n\n```python\nfrom django.db import models\nfrom django_fsm import FSMField, transition\nfrom django_fsm_log.decorators import fsm_log_by\n\nclass Article(models.Model):\n\n state = FSMField(default='draft', protected=True)\n\n @fsm_log_by\n @transition(field=state, source='draft', target='submitted')\n def submit(self, by=None):\n pass\n```\n\nWith this the transition gets logged when the `by` kwarg is present.\n\n```python\narticle = Article.objects.create()\narticle.submit(by=some_user) # StateLog.by will be some_user\n```\n\n### Admin integration\n\nThere is an InlineForm available that can be used to display the history of changes.\n\nTo use it expand your own `AdminModel` by adding `StateLogInline` to its inlines:\n\n```python\nfrom django.contrib import admin\nfrom django_fsm_log.admin import StateLogInline\n\n\n@admin.register(FSMModel)\nclass FSMModelAdmin(admin.ModelAdmin):\n inlines = [StateLogInline]\n```\n\n### Advanced Usage\n\nYou can change the behaviour of this app by turning on caching for StateLog records.\nSimply add `DJANGO_FSM_LOG_STORAGE_METHOD = 'django_fsm_log.backends.CachedBackend'` to your project's settings file.\nIt will use your project's default cache backend by default. If you wish to use a specific cache backend, you can add to\nyour project's settings:\n```python\nDJANGO_FSM_LOG_CACHE_BACKEND = 'some_other_cache_backend'\n```\n\nThe StateLog object is now available after the `django_fsm.signals.pre_transition`\nsignal is fired, but is deleted from the cache and persisted to the database after `django_fsm.signals.post_transition`\nis fired.\n\nThis is useful if:\n- you need immediate access to StateLog details, and cannot wait until `django_fsm.signals.post_transition`\nhas been fired\n- at any stage, you need to verify whether or not the StateLog has been written to the database\n\nAccess to the pending StateLog record is available via the `pending_objects` manager\n\n```python\nfrom django_fsm_log.models import StateLog\narticle = Article.objects.get(...)\npending_state_log = StateLog.pending_objects.get_for_object(article)\n```\n\n## Running Tests\n\n```bash\npip install tox\ntox\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gizmag/django-fsm-log", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-fsm-log", "package_url": "https://pypi.org/project/django-fsm-log/", "platform": "", "project_url": "https://pypi.org/project/django-fsm-log/", "project_urls": { "Homepage": "https://github.com/gizmag/django-fsm-log" }, "release_url": "https://pypi.org/project/django-fsm-log/1.6.2/", "requires_dist": [ "django (>=1.8)", "django-fsm (>=2)", "django-appconf", "pytest ; extra == 'testing'", "pytest-cov ; extra == 'testing'", "pytest-django ; extra == 'testing'", "pytest-mock ; extra == 'testing'" ], "requires_python": "", "summary": "Logging for django-fsm", "version": "1.6.2" }, "last_serial": 4666120, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d60afecf18fa282339fc8f197e796c34", "sha256": "96a63668e217d07141427ce36261a4225783890464a7cac21906c8ca68a7918b" }, "downloads": -1, "filename": "django-fsm-log-0.1.tar.gz", "has_sig": false, "md5_digest": "d60afecf18fa282339fc8f197e796c34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3263, "upload_time": "2013-11-11T02:29:05", "url": "https://files.pythonhosted.org/packages/a9/5e/3c2f0d1fbc3fdc32ed981d13e64273a853592ecb62a4e871d135bbf56fa3/django-fsm-log-0.1.tar.gz" } ], "0.2": [ { "comment_text": "built for Darwin-13.0.0", "digests": { "md5": "f6260ef7034589457fcb76a5ba1e05f9", "sha256": "567af4d8ab58ed34be77cd58840bcaaa8af1f4c881653c6493f640daa2a74d48" }, "downloads": -1, "filename": "django-fsm-log-0.2.macosx-10.8-x86_64.tar.gz", "has_sig": false, "md5_digest": "f6260ef7034589457fcb76a5ba1e05f9", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 8037, "upload_time": "2013-11-19T04:38:41", "url": "https://files.pythonhosted.org/packages/58/74/1fca73838b3b45d088f7a133ebf7e10189d5d02711389c8e7ea3f14e3f10/django-fsm-log-0.2.macosx-10.8-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "f7609a3af32a213b5954ea30bde57ec4", "sha256": "a0ae94d60684cf5f25d9cc0431ffa37e557442c6420920b73b26fd94d2dcfd61" }, "downloads": -1, "filename": "django-fsm-log-0.2.tar.gz", "has_sig": false, "md5_digest": "f7609a3af32a213b5954ea30bde57ec4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3294, "upload_time": "2013-11-19T04:40:09", "url": "https://files.pythonhosted.org/packages/83/29/88b655497e19f2c350737f54a49fb2e366b33c1a64560f0cce99120804a1/django-fsm-log-0.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f996ac9d38d094366e2bad75537d4893", "sha256": "fac62bc2c9c058e59bcea221cd077fada5abc5313266988724925220dacc2e71" }, "downloads": -1, "filename": "django-fsm-log-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f996ac9d38d094366e2bad75537d4893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3298, "upload_time": "2013-11-28T03:35:59", "url": "https://files.pythonhosted.org/packages/e2/93/f5006b1c56c96fbc4ab855d31a1a03f87d105ad69de45eac94d8ac7bd133/django-fsm-log-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "30702d4c7afbafecfb864efed200f784", "sha256": "024cce27478c24147d7768122d5a40e026391d435f91fc96f5fb5a1b5fe8851a" }, "downloads": -1, "filename": "django-fsm-log-0.4.0.tar.gz", "has_sig": false, "md5_digest": "30702d4c7afbafecfb864efed200f784", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4592, "upload_time": "2014-02-04T07:48:53", "url": "https://files.pythonhosted.org/packages/fb/f8/c8686d2d08143c7195c5fb2275daf623247f2c9000e6852c5d3efd018ad6/django-fsm-log-0.4.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "4bd286b1559bca86e66caff6c0790762", "sha256": "7eafc00c386eaacac2f89527ff371520c881d1653c2d00289d9180f1407631e2" }, "downloads": -1, "filename": "django-fsm-log-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4bd286b1559bca86e66caff6c0790762", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5082, "upload_time": "2014-08-06T05:42:02", "url": "https://files.pythonhosted.org/packages/f6/c6/52e1ce86d822d822341b1c6f9b1b3331edbef72c57dbb3eb8943cd776a53/django-fsm-log-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a469444b27ccb4274c976a1a3cc619e7", "sha256": "5272ceb30db86992e3d91622e8c620397f2a4658620c07c5f5b14cd1875c7d86" }, "downloads": -1, "filename": "django-fsm-log-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a469444b27ccb4274c976a1a3cc619e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5120, "upload_time": "2014-11-09T11:17:30", "url": "https://files.pythonhosted.org/packages/67/71/1cc8d51549c17e5da208b30958958aab538d1df83eb985633e8e7756a922/django-fsm-log-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "83f6b868096e3d3ab57941f3205c8f45", "sha256": "c8178398d19a646e5f64c501f7b11876ded82df08e57511e4a8e9782c04fe57a" }, "downloads": -1, "filename": "django-fsm-log-1.1.0.tar.gz", "has_sig": false, "md5_digest": "83f6b868096e3d3ab57941f3205c8f45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5397, "upload_time": "2015-03-02T01:37:22", "url": "https://files.pythonhosted.org/packages/0a/a3/8bbb157e84c4cd872777fe36e7493decbab9077f2c6d68e2b048a5ac327c/django-fsm-log-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d8c776e1f29ad6683dc11eb8675ada5f", "sha256": "5886407ba2272c5e5f20f0d3434a585a4bf5b26d6c2665d69cf566a529667c24" }, "downloads": -1, "filename": "django-fsm-log-1.2.0.tar.gz", "has_sig": false, "md5_digest": "d8c776e1f29ad6683dc11eb8675ada5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5405, "upload_time": "2015-03-16T03:10:06", "url": "https://files.pythonhosted.org/packages/1f/0b/6f5c5d3cabb6948705bcf8084763aadbcc220a9c7ad88566040011c6412c/django-fsm-log-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "8797352d1c5817abc210018d28572a27", "sha256": "c89e938a6a149cb231c8e6992ff1dcf1ac66550210a95cfba52e3cc3e47ffcc0" }, "downloads": -1, "filename": "django-fsm-log-1.2.1.tar.gz", "has_sig": false, "md5_digest": "8797352d1c5817abc210018d28572a27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5468, "upload_time": "2015-07-21T04:33:31", "url": "https://files.pythonhosted.org/packages/0f/bd/0f9aee8ab985c0ac42fa897e15b0be8299018ab7e28f6ec50ae1a35eba34/django-fsm-log-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "ca60472ed3e892b72556542da06e95db", "sha256": "e267b2ffc7559f61a2f54f133c6fa50b077c917d73ee2dc56cd0902d44530135" }, "downloads": -1, "filename": "django_fsm_log-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ca60472ed3e892b72556542da06e95db", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10721, "upload_time": "2016-01-24T23:57:09", "url": "https://files.pythonhosted.org/packages/59/a8/4f50b09ddca2cd1cc9d2caf80373499e9ffbc62a635828f0cd62cab260b3/django_fsm_log-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0551ce5f850098cab66b891880d4f0c", "sha256": "e8f611f20307705edc17e884c28ad22e86d4d9b5e27434b14799041a518280db" }, "downloads": -1, "filename": "django-fsm-log-1.3.0.tar.gz", "has_sig": false, "md5_digest": "d0551ce5f850098cab66b891880d4f0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5645, "upload_time": "2016-01-24T23:56:54", "url": "https://files.pythonhosted.org/packages/da/67/afa41c937968d6974d66e7c74d2eaafc0e9e7f917027fbee244d2305850a/django-fsm-log-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "d14043159643464c21dc6b2a9dd303ae", "sha256": "5184428468efe4d04cd46ba79d6805b906cc6dd6f9f8efdb58630fb33c992dac" }, "downloads": -1, "filename": "django_fsm_log-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d14043159643464c21dc6b2a9dd303ae", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11263, "upload_time": "2017-11-09T15:22:40", "url": "https://files.pythonhosted.org/packages/52/3c/fc00eee984f282f55a47506cd65ef2892bb6372f554c9644c985fc42f7ac/django_fsm_log-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9639574ce46a014b020b77cd8e7a439e", "sha256": "414c7edfdbc156fe06e184c6cc4ae86bc2002cfd56b60a8d37c68d0aa785ea0f" }, "downloads": -1, "filename": "django-fsm-log-1.4.0.tar.gz", "has_sig": false, "md5_digest": "9639574ce46a014b020b77cd8e7a439e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7605, "upload_time": "2017-11-09T15:22:38", "url": "https://files.pythonhosted.org/packages/2f/d8/121a8e20461873d2a84685506d96122f8edae78b75d8bbe8b7be7f2889a7/django-fsm-log-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "d3a45fbaf49b080eb425835def556da3", "sha256": "9ff71a89dcd9664629df0cc9551b1e600a0996acbf9a0cf46e1c3a29205dc6b5" }, "downloads": -1, "filename": "django_fsm_log-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d3a45fbaf49b080eb425835def556da3", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12665, "upload_time": "2017-11-29T08:22:26", "url": "https://files.pythonhosted.org/packages/8e/6a/771b3928cfc6e00e5ff9dd83e357b8713be3035ddc05f1859035f64f61e5/django_fsm_log-1.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7cbdcce59b562e49e50f6b1bdbee50fe", "sha256": "b9ef3636714ec1692bdd79c4fac6152c5d180888d73ba85055e7b6315c47a1d4" }, "downloads": -1, "filename": "django-fsm-log-1.5.0.tar.gz", "has_sig": false, "md5_digest": "7cbdcce59b562e49e50f6b1bdbee50fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8198, "upload_time": "2017-11-29T08:22:24", "url": "https://files.pythonhosted.org/packages/46/66/2491e763b838893ec0db1ae43db5f1600f6f29c4473ade0078c1987a12b7/django-fsm-log-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "24941ca1c6b6fb38fc6bfcda953dfa00", "sha256": "dfbb097965dacf9a169d74f3903935d90b26a19938b94f0d94cfdd1ad50f5df7" }, "downloads": -1, "filename": "django_fsm_log-1.6.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "24941ca1c6b6fb38fc6bfcda953dfa00", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13926, "upload_time": "2018-11-14T23:09:30", "url": "https://files.pythonhosted.org/packages/f6/28/d51e88ff9c33ffc5e984898751e03d144a203d6b6acd132b4c85ae2b5f30/django_fsm_log-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf8eaa96ec9df917969d115335900956", "sha256": "0475b01b7e68ccd5c826585d7e139f20371add0bb94e7edce635d37a7b2db7ae" }, "downloads": -1, "filename": "django-fsm-log-1.6.0.tar.gz", "has_sig": true, "md5_digest": "bf8eaa96ec9df917969d115335900956", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9389, "upload_time": "2018-11-14T23:00:31", "url": "https://files.pythonhosted.org/packages/4b/d1/5532ee02fe7b1029ce31a0dfa7e52c5d4e819cd3d539c9b029551ff001a0/django-fsm-log-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "d969531d2293beb0ca9e36f7ee51ed75", "sha256": "65aedc47aeb12f255ddc15bbba7c6365804bb3ce3cc191c98c4233bf22b03db4" }, "downloads": -1, "filename": "django_fsm_log-1.6.1-py3-none-any.whl", "has_sig": true, "md5_digest": "d969531d2293beb0ca9e36f7ee51ed75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14394, "upload_time": "2018-12-02T17:21:31", "url": "https://files.pythonhosted.org/packages/89/bb/63fb2f0d34ec4fade4e3530356f30ecc4f26c1964ae5738a0aa3b3e47058/django_fsm_log-1.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c4d024401fbf5aa1a227fbc0a8c054f", "sha256": "2427a0750db0018a4248ed744de22149a71845319538901b096fc22592bd46a3" }, "downloads": -1, "filename": "django-fsm-log-1.6.1.tar.gz", "has_sig": true, "md5_digest": "8c4d024401fbf5aa1a227fbc0a8c054f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9497, "upload_time": "2018-12-02T17:21:34", "url": "https://files.pythonhosted.org/packages/84/5a/1e16163d3f15c0370860114bf3782562816c4b30389f2b2491e6718dbff5/django-fsm-log-1.6.1.tar.gz" } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "eb333cd112522caf86d4a80ebe2b85d4", "sha256": "2b0fe39953c74a7142965aae842ac77fd038b860da43391e5804d9e617089ea8" }, "downloads": -1, "filename": "django_fsm_log-1.6.2-py3-none-any.whl", "has_sig": true, "md5_digest": "eb333cd112522caf86d4a80ebe2b85d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18048, "upload_time": "2019-01-06T17:42:04", "url": "https://files.pythonhosted.org/packages/6f/10/a98be5b8f400adc8066ec83cc50d37ed1132a59f74a82306adb5ec5b30ad/django_fsm_log-1.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78248ab85625db314b8aef52c869246d", "sha256": "98b729167954b8aaa8871c649c67173554a5e945eeb33fdc3a3f73af905a76f7" }, "downloads": -1, "filename": "django-fsm-log-1.6.2.tar.gz", "has_sig": true, "md5_digest": "78248ab85625db314b8aef52c869246d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11875, "upload_time": "2019-01-06T17:42:06", "url": "https://files.pythonhosted.org/packages/f5/d7/74274e2a41b868dce8bc42f8a97487652d94370e7f9ddb7c710ce48e8872/django-fsm-log-1.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eb333cd112522caf86d4a80ebe2b85d4", "sha256": "2b0fe39953c74a7142965aae842ac77fd038b860da43391e5804d9e617089ea8" }, "downloads": -1, "filename": "django_fsm_log-1.6.2-py3-none-any.whl", "has_sig": true, "md5_digest": "eb333cd112522caf86d4a80ebe2b85d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18048, "upload_time": "2019-01-06T17:42:04", "url": "https://files.pythonhosted.org/packages/6f/10/a98be5b8f400adc8066ec83cc50d37ed1132a59f74a82306adb5ec5b30ad/django_fsm_log-1.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78248ab85625db314b8aef52c869246d", "sha256": "98b729167954b8aaa8871c649c67173554a5e945eeb33fdc3a3f73af905a76f7" }, "downloads": -1, "filename": "django-fsm-log-1.6.2.tar.gz", "has_sig": true, "md5_digest": "78248ab85625db314b8aef52c869246d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11875, "upload_time": "2019-01-06T17:42:06", "url": "https://files.pythonhosted.org/packages/f5/d7/74274e2a41b868dce8bc42f8a97487652d94370e7f9ddb7c710ce48e8872/django-fsm-log-1.6.2.tar.gz" } ] }