{ "info": { "author": "edX", "author_email": "oscm@edx.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django", "Framework :: Django :: 1.11", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "django-user-tasks\n=================\n\n.. image:: https://img.shields.io/pypi/v/django-user-tasks.svg\n :target: https://pypi.python.org/pypi/django-user-tasks/\n :alt: PyPI\n\n.. image:: https://travis-ci.org/edx/django-user-tasks.svg?branch=master\n :target: https://travis-ci.org/edx/django-user-tasks\n :alt: Travis\n\n.. image:: http://codecov.io/github/edx/django-user-tasks/coverage.svg?branch=master\n :target: http://codecov.io/github/edx/django-user-tasks?branch=master\n :alt: Codecov\n\n.. image:: https://readthedocs.org/projects/django-user-tasks/badge/?version=latest\n :target: http://django-user-tasks.readthedocs.io/en/latest/\n :alt: Documentation\n\n.. image:: https://img.shields.io/pypi/pyversions/django-user-tasks.svg\n :target: https://pypi.python.org/pypi/django-user-tasks/\n :alt: Supported Python versions\n\n.. image:: https://img.shields.io/github/license/edx/django-user-tasks.svg\n :target: https://github.com/edx/django-user-tasks/blob/master/LICENSE.txt\n :alt: License\n\ndjango-user-tasks is a reusable Django application for managing user-triggered\nasynchronous tasks. It provides a status page for each such task, which\nincludes a meaningful progress indicator if the task is currently being\nexecuted and provides any appropriate text and/or links for output once the\ntask is complete.\n\nIn Open edX, such tasks include operations such as exporting or importing a\ncourse, sending an email to all the students in a course, uploading a video,\nand other tasks which often take too long to perform during a single web\nrequest (as outlined in `OEP-3`_). However, this has been written with the\nintention of being useful in a variety of Django projects outside the Open edX\nplatform as well.\n\nNote that this library was created as a consolidation of lessons learned from\nimplementing such tasks in various parts of the Open edX code base. They\ndon't yet all use this library, but the plan is to over time refactor many of\nthem to do so.\n\n.. _OEP-3: https://open-edx-proposals.readthedocs.io/en/latest/oeps/oep-0003.html\n\nOverview\n--------\n\ndjango-user-tasks is currently a wrapper for `Celery`_ (although the hope is\nthat it could also be extended to also support `channels`_ and other\nasynchronous task queues). By extending the provided ``UserTask`` class (or\nadding ``UserTaskMixin`` to an existing Task subclass) and providing a\n``user_id`` task argument, the task's status is stored in a database table\nseparate from the Celery broker and result store. This ``UserTaskStatus``\nmodel allows for full database queries of the tasks that users are most likely\nto care about while not imposing any restrictions on the Celery configuration\nmost appropriate for the site's overall needs for asynchronous task\nprocessing.\n\nMost of the status updating is handled automatically via Celery's `signals`_\nmechanism, but it can be enhanced by:\n\n* Overriding the ``UserTaskMixin`` methods such as ``generate_name`` and\n ``calculate_total_steps`` for particular types of tasks\n* Calling some of the ``UserTaskStatus`` methods like\n ``increment_completed_steps`` and ``set_state`` from the task implementation\n* Saving task output as instances of the ``UserTaskArtifact`` model\n\n.. _Celery: http://www.celeryproject.org/\n.. _channels: https://channels.readthedocs.io/en/latest/\n.. _signals: http://docs.celeryproject.org/en/latest/userguide/signals.html\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-user-tasks.readthedocs.org.\n\nLicense\n-------\n\nThe code in this repository is licensed under the Apache Software License 2.0 unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\n\nPlease read `How To Contribute `_ for details.\n\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for Open edX code in general.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@edx.org.\n\nGetting Help\n------------\n\nHave a question about this repository, or about Open edX in general? Please\nrefer to this `list of resources`_ if you need any assistance.\n\n.. _list of resources: https://open.edx.org/getting-help\n\n\nChange Log\n----------\n\n..\n All enhancements and patches to cookiecutter-django-app will be documented\n in this file. It adheres to the structure of http://keepachangelog.com/ ,\n but in reStructuredText instead of Markdown (for ease of incorporation into\n Sphinx documentation and the PyPI description).\n\n This project adheres to Semantic Versioning (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n\n*\n\n[0.2.1] - 2019-09-25\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* `start_user_task` should only close obsolete connections if the current connection is NOT in an atomic block\n (which fixes errors on devstack studio/course-publishing).\n\n[0.2.0] - 2019-08-30\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Have the `start_user_task` receiver close obsolete connections before starting the task.\n\n\n[0.1.9] - 2019-08-27\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Fix issue with `UserTaskArtifactAdmin` and `UserTaskStatusAdmin` where `ordering` attribute must be a tuple or list.\n\n\n[0.1.8] - 2019-08-22\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Improve list display for `ModelAdmin`.\n\n\n[0.1.7] - 2019-05-29\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Make ``UserTaskArtifact.url`` a ``TextField`` with a ``URLValidator``\n instead of a ``URLField``.\n\n\n[0.1.6] - 2019-05-29\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Upgrade requirements.\n* Change ``max_length`` of ``UserTaskArtifact.url`` from 200 to 512.\n\n\n[0.1.5] - 2017-08-03\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Added testing/support for Django 1.11.\n\n[0.1.4] - 2017-01-30\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Slightly improved handling of tasks which start before their status records\n are committed (due to database transactions). Also documented how to avoid\n this problem in the first place.\n\n[0.1.3] - 2017-01-03\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Tasks which were explicitly canceled, failed, or retried no longer have\n their status changed to ``Succeeded`` just because the task exited cleanly.\n* Celery tasks which fail to import cleanly by name (because they use a custom\n name which isn't actually the fully qualified task name) are now just ignored\n in the ``before_task_publish`` signal handler.\n\n[0.1.2] - 2016-12-05\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Add a migration to explicitly reference the setting for artifact file storage.\n This setting is likely to vary between installations, but doesn't affect the\n generated database schema. This change should prevent ``makemigrations``\n from creating a new migration whenever the setting value changes.\n\n[0.1.1] - 2016-10-11\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n+++++++\n\n* Fix Travis configuration for PyPI deployments.\n* Switch from the Read the Docs Sphinx theme to the Open edX one for documentation.\n\n\n[0.1.0] - 2016-10-07\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n+++++\n\n* First attempt to release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/edx/django-user-tasks", "keywords": "Django edx", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "django-user-tasks", "package_url": "https://pypi.org/project/django-user-tasks/", "platform": "", "project_url": "https://pypi.org/project/django-user-tasks/", "project_urls": { "Homepage": "https://github.com/edx/django-user-tasks" }, "release_url": "https://pypi.org/project/django-user-tasks/0.2.1/", "requires_dist": [ "django-model-utils (>=2.0)", "djangorestframework (>=3.0.4)" ], "requires_python": "", "summary": "Management of user-triggered asynchronous tasks in Django projects", "version": "0.2.1" }, "last_serial": 5886790, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "251bbe2858967c24f5e7b7c0f53cdba4", "sha256": "9bdb8a34e541ac8b21db1c2873192cf77e21a24076e5ff32e0486c645e3cc689" }, "downloads": -1, "filename": "django_user_tasks-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "251bbe2858967c24f5e7b7c0f53cdba4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22609, "upload_time": "2016-10-12T16:09:33", "url": "https://files.pythonhosted.org/packages/5a/a0/81a52f77e8dd8b37833eebda8d25911f2db81da3408746bb7c2062bab13b/django_user_tasks-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0864f8b971871c711495a37adbd14e4", "sha256": "25ae56318e1d8c129ee0120f58c346a10ed11d6876f7568637bd0aac237d9866" }, "downloads": -1, "filename": "django-user-tasks-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a0864f8b971871c711495a37adbd14e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21054, "upload_time": "2016-10-12T16:09:35", "url": "https://files.pythonhosted.org/packages/7a/2c/c402b469db293102892bf4fd2ce52c6b242ead0e8fb8a6b0581c49c2b758/django-user-tasks-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "577240b08869bff1b7ae6c62bad7d37f", "sha256": "dfff4c30bd5aa00159cacc5d039a301f38d4a8f5e5da38112430b84d3ee4ab61" }, "downloads": -1, "filename": "django_user_tasks-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "577240b08869bff1b7ae6c62bad7d37f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23516, "upload_time": "2016-12-05T21:41:46", "url": "https://files.pythonhosted.org/packages/2b/cc/634ecc014c9c681d946d26d4202725c5150447f40cb3cac7094cda8301aa/django_user_tasks-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6089c7e4e13c196287be40766c95c72", "sha256": "a3b6a70f70d0010aa36d9ae4197bb4d9b93a7d746e9f5cc6f766f36140ce7a01" }, "downloads": -1, "filename": "django-user-tasks-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c6089c7e4e13c196287be40766c95c72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21535, "upload_time": "2016-12-05T21:41:48", "url": "https://files.pythonhosted.org/packages/c8/ac/4a645d7334d4af000556b2a5e84d85c58635d1590b8c0cc80e25b682f3c0/django-user-tasks-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a845ab6ac395914165ce365869170b59", "sha256": "efa90c400ad809bd19b65fd50d22a74fb91511b66e47bf1dbc61993982aee551" }, "downloads": -1, "filename": "django_user_tasks-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a845ab6ac395914165ce365869170b59", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23902, "upload_time": "2017-01-03T19:39:24", "url": "https://files.pythonhosted.org/packages/a0/41/8c255f72be5f6937ac8f0181284b6b72df1f301513e2056dd3a379838b1e/django_user_tasks-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2a18e9ac0fe46615d8c945c396c1338", "sha256": "7dc7e4744d388d4996a5463036acc65c9a9392930c63ce7a8d0e888a3b8ba71f" }, "downloads": -1, "filename": "django-user-tasks-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c2a18e9ac0fe46615d8c945c396c1338", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21885, "upload_time": "2017-01-03T19:39:26", "url": "https://files.pythonhosted.org/packages/66/e0/6c4a2e16b3959b34c7b85925cf6bde1227631c82ebc14393c71dae2ea9f3/django-user-tasks-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8bc50ac7da5057fbdff9eddb91eca319", "sha256": "d132acd4d23b6a133625f095122d71f847c52297e05d6c9f62230fabb31be3d1" }, "downloads": -1, "filename": "django_user_tasks-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8bc50ac7da5057fbdff9eddb91eca319", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24263, "upload_time": "2017-01-31T04:55:06", "url": "https://files.pythonhosted.org/packages/ef/5b/c1b1213f1267efdea2ebd23995a651d963b71dae90ec7fb4d71516ed7470/django_user_tasks-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a53e2bff028ed22e807cd7c74300e3da", "sha256": "1de4be8664a2c0bd192489b1db9df1c23fd7e7b7e0a2b356c07b4ad5f5f7b0eb" }, "downloads": -1, "filename": "django-user-tasks-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a53e2bff028ed22e807cd7c74300e3da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22192, "upload_time": "2017-01-31T04:55:08", "url": "https://files.pythonhosted.org/packages/b2/0a/f9900bcf505400c83d4462e4114217a42aadb239275f475aefd52362500d/django-user-tasks-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6a695298818ac66d91d8fb843cf7a5ec", "sha256": "c0fec23ce3dedd0a2bc1683c91fc6e237f6879ade450a6a086918b5594b7ac13" }, "downloads": -1, "filename": "django_user_tasks-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a695298818ac66d91d8fb843cf7a5ec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24344, "upload_time": "2017-08-03T20:44:17", "url": "https://files.pythonhosted.org/packages/e1/7c/696da930580237b749d34823dde753e5d0056b71955c4977b6538f46d3a3/django_user_tasks-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e6493cd33b55d1712048082e834fc4f", "sha256": "d53b0cae94cd56698f148fcd873db1a464cd4a7df6c61c516f1f2f0d6162a1d8" }, "downloads": -1, "filename": "django-user-tasks-0.1.5.tar.gz", "has_sig": false, "md5_digest": "2e6493cd33b55d1712048082e834fc4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22259, "upload_time": "2017-08-03T20:44:19", "url": "https://files.pythonhosted.org/packages/8a/66/655188b67f23b901875e1828d8d5e3affc33a3c4f1dab92221b1317e17bc/django-user-tasks-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "09ecabbaa2a017faacdbbe3b7896376b", "sha256": "8371149dbca4f2295c12959ca9fc4f5cff142e4daca1f6c6a9e8e1110181f193" }, "downloads": -1, "filename": "django_user_tasks-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "09ecabbaa2a017faacdbbe3b7896376b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25719, "upload_time": "2019-05-29T15:00:00", "url": "https://files.pythonhosted.org/packages/07/ea/adb5d98c70dfec1e00eb7a5a9e779b0de8457a6156948b632e2c285adf10/django_user_tasks-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f485f92416d2f3d89d5bfab991b87fa", "sha256": "3fb05b94588a694cfcf3dbd114764518e2d24355267e140f8d6bf604da086f10" }, "downloads": -1, "filename": "django-user-tasks-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3f485f92416d2f3d89d5bfab991b87fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21009, "upload_time": "2019-05-29T15:00:02", "url": "https://files.pythonhosted.org/packages/bf/d2/d907bacab07afb02f34be05f70130cff10ff06bbd5e467214ec876987231/django-user-tasks-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "d38fbd4e1bc09934bbb1d5a34cfa4b31", "sha256": "f482d56d608413fc4fbd02aee269d73c68d644c52029ecd05dd255231295b2ae" }, "downloads": -1, "filename": "django_user_tasks-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d38fbd4e1bc09934bbb1d5a34cfa4b31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26298, "upload_time": "2019-05-29T20:14:50", "url": "https://files.pythonhosted.org/packages/f7/48/a9c3a6910d717ea3255dda552d621f5293407215bd1b0c256b7e95b4b853/django_user_tasks-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed3cabfc2b0d1f0729106a5c8a23dc30", "sha256": "2c0f06c4bf763ec5b3f1d3318a6237a9db3b8b8d2642546421d746b957435455" }, "downloads": -1, "filename": "django-user-tasks-0.1.7.tar.gz", "has_sig": false, "md5_digest": "ed3cabfc2b0d1f0729106a5c8a23dc30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21144, "upload_time": "2019-05-29T20:14:52", "url": "https://files.pythonhosted.org/packages/69/0b/efe4b6988c8d7d35fb09219c5347a319f24bdb54e08e124fa816306a028f/django-user-tasks-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "78a2be42f288c9cfeb21c897693da24a", "sha256": "8c6fd19c0292232b5b12ab96eef8eefd48384ed7bcf351e428fe234af477f342" }, "downloads": -1, "filename": "django_user_tasks-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78a2be42f288c9cfeb21c897693da24a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26446, "upload_time": "2019-08-23T19:39:47", "url": "https://files.pythonhosted.org/packages/d1/7a/140af2d438c6ed19ae30ad5e5b019345face46a153502c1882612459c106/django_user_tasks-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfe59f06050f904519ac664f70432b03", "sha256": "7b18c119224c597d93afd374373d1174de11fec6d5aebeeb0cc6aae8cca43d1e" }, "downloads": -1, "filename": "django-user-tasks-0.1.8.tar.gz", "has_sig": false, "md5_digest": "cfe59f06050f904519ac664f70432b03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21592, "upload_time": "2019-08-23T19:39:48", "url": "https://files.pythonhosted.org/packages/29/de/6d05920e0cc4794637a51e5356021d03d93200edda04baf9e5d420574c1c/django-user-tasks-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "9673fcb149b51742ddf38a8e29db3297", "sha256": "66c9468462f2f8305fe1f0e25f7bbf08732687df47c34f1272fe5f94bdf9ccec" }, "downloads": -1, "filename": "django_user_tasks-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9673fcb149b51742ddf38a8e29db3297", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26531, "upload_time": "2019-08-27T16:11:23", "url": "https://files.pythonhosted.org/packages/df/31/94e6418e841b603f424c2257e1e6882947d1996e26bebedfb98b080cfabf/django_user_tasks-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0771ffa8ec9d2c4bd9bdb3bd04fda09f", "sha256": "0acf1de28f7a1cf6e93c7627ea3f0d9522ba671ae08e0e12d83f1979d6861597" }, "downloads": -1, "filename": "django-user-tasks-0.1.9.tar.gz", "has_sig": false, "md5_digest": "0771ffa8ec9d2c4bd9bdb3bd04fda09f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21761, "upload_time": "2019-08-27T16:11:25", "url": "https://files.pythonhosted.org/packages/35/ae/0963404091c1ec0d7231fa231d1ac9a6043fd9919d0edb08463b31324788/django-user-tasks-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d6d89039a5946fa1624616c1353a1b3c", "sha256": "1b850e3df8cab8a28fe4e732f9132f807163e7c533b9b0351bb29347bc03a642" }, "downloads": -1, "filename": "django_user_tasks-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6d89039a5946fa1624616c1353a1b3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26742, "upload_time": "2019-08-30T18:25:23", "url": "https://files.pythonhosted.org/packages/5f/f2/a2c233467a6c85ab19ef073cd7b4b946831451ca9a2cab41d379c7e95db2/django_user_tasks-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcb1b223dfc91d3d883a955ad77614f8", "sha256": "a70a9d1e66f967b24101054635b2ac49f5bc99db1a89fbf77f4317ecdff4c0b4" }, "downloads": -1, "filename": "django-user-tasks-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bcb1b223dfc91d3d883a955ad77614f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23772, "upload_time": "2019-08-30T18:25:25", "url": "https://files.pythonhosted.org/packages/0f/58/2401c0c6bbeccc565a510602da86328e54c6f94370264d003f9b3918303a/django-user-tasks-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1c1b9d04e1b6bf57b21d59bbbf883dfb", "sha256": "6d2d11c2ffa5a33c483f43fa347847112144e5222bc1d57d0c6bde2703a029b3" }, "downloads": -1, "filename": "django_user_tasks-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1c1b9d04e1b6bf57b21d59bbbf883dfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27090, "upload_time": "2019-09-25T18:56:25", "url": "https://files.pythonhosted.org/packages/f8/66/ef8d6f2f51066952607e73356fa4ab966e6b6f17040e69048b728634c408/django_user_tasks-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12a8ddfe5481bf00cf0f0e972b45bc01", "sha256": "0a5d93f49e0d0931976c5930ca440d2b6fb779c1e9c51f1bb0beef4aa56e4ec2" }, "downloads": -1, "filename": "django-user-tasks-0.2.1.tar.gz", "has_sig": false, "md5_digest": "12a8ddfe5481bf00cf0f0e972b45bc01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24138, "upload_time": "2019-09-25T18:56:27", "url": "https://files.pythonhosted.org/packages/2f/5b/78db9ffae2b63793523e77b95e2e585d040a9162a14604ae2b86d9da9646/django-user-tasks-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c1b9d04e1b6bf57b21d59bbbf883dfb", "sha256": "6d2d11c2ffa5a33c483f43fa347847112144e5222bc1d57d0c6bde2703a029b3" }, "downloads": -1, "filename": "django_user_tasks-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1c1b9d04e1b6bf57b21d59bbbf883dfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27090, "upload_time": "2019-09-25T18:56:25", "url": "https://files.pythonhosted.org/packages/f8/66/ef8d6f2f51066952607e73356fa4ab966e6b6f17040e69048b728634c408/django_user_tasks-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12a8ddfe5481bf00cf0f0e972b45bc01", "sha256": "0a5d93f49e0d0931976c5930ca440d2b6fb779c1e9c51f1bb0beef4aa56e4ec2" }, "downloads": -1, "filename": "django-user-tasks-0.2.1.tar.gz", "has_sig": false, "md5_digest": "12a8ddfe5481bf00cf0f0e972b45bc01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24138, "upload_time": "2019-09-25T18:56:27", "url": "https://files.pythonhosted.org/packages/2f/5b/78db9ffae2b63793523e77b95e2e585d040a9162a14604ae2b86d9da9646/django-user-tasks-0.2.1.tar.gz" } ] }