{ "info": { "author": "Erik van Widenfelt", "author_email": "ew2789@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "|pypi| |travis| |codecov| |downloads| |maintainability| |black|\n\n\ndjango-collect-offline\n----------------------\n\nDeploy a Django app as a client on laptop that is offline and push the data to your server when you get back online.\n\nInstallation\n------------\n\nAdd the pattern for access to the REST API:\n\n.. code-block:: python\n\n urlpatterns = [\n url(r'^django-collect-offline/', include('django_collect_offline.urls')),\n )\n\nIn settings.py:\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n ...\n 'django_collect_offline.apps.AppConfig',\n ...]\n\nConfigure a model for offline-use:\n==================================\n\nTo include a model for offline-use declare the model with ``BaseUuidModel`` from ``edc-base``, define the ``natural_key`` method and the model manager method ``get_by_natural_key`` and add the ``HistoricalRecords`` manager from ``edc-base``.\n\nFor example the base class for all CRFs in a module might look like this:\n\n.. code-block:: python\n\n from edc_model.models import BaseUuidModel, HistoricalRecords\n\n from .visit import Visit\n\n class CrfModel(BaseUuidModel):\n\n visit = models.OneToOneField(Visit)\n\n objects = CrfModelManager()\n\n history = HistoricalRecords()\n\n def natural_key(self):\n return (self.visit.natural_key(), )\n natural_key.dependencies = ['myapp.visit']\n\nAdd a model to the site global\n==============================\n\nIn your app, add module ``offline_models.py``.\n\n.. code-block:: python\n\n # offline_models.py\n\n from django_collect_offline.site_offline_models import site_offline_models\n from django_collect_offline.offline_model import OfflineModel\n\n offline_models = [\n 'my_app.CrfModel',\n ]\n\n site_offline_models.register(offline_models, OfflineModel)\n\n\nSettings\n--------\n\nto disable offline-use add this to your ``settings.py``\n\n.. code-block:: python\n\n ALLOW_MODEL_SERIALIZATION = False # (default: True)\n\n\nView models registered for synchronization\n==========================================\n\n.. code-block:: python\n\n from django_collect_offline.site_offline_models import site_offline_models\n\n # list all models in app 'bcpp_household' set for offline-use\n models = site_offline_models.site_models('bcpp_household', sync=True)\n\n # list all models in app 'bcpp_household' NOT set for offline-use\n models = site_offline_models.site_models('bcpp_household', offline=False)\n\n # list all models in app 'bcpp_household' not set for offline-use, excluding the \"historical\" models\n offline_models = [m.model._meta.label_lower for m in models if 'historical' not in m.model_name]\n\nTo create the model list for an apps ``offline_models.py``, open a shell and list all models not yet registered for offline-use: \n\n.. code-block:: python\n\n models = site_offline_models.site_models('bcpp_household', offline=False)\n [m.model._meta.label_lower for m in models if 'historical' not in m.model_name]\n\n\nAbout Offline-use\n=================\n\nThe offline model approach is limited and only transfers data one-way and always toward a central server or parent node.\nMany client nodes may push data to their server node. \n\nGetting data from the field\n============================\n\nWe use ``django-collect-offline`` in Django projects deployed to low-resourced remote communities where there is no reliable internet, public or private network. Our Research Assistants collect participant data in households, mobile tents and remote clinics. The Research Assistants enter data directly into their offline laptops. Once back online, data is pushed to the ``community-server`` and later to the ``central-server``. \n\nOur research also involves collecting blood specimens that need to get to our community clinic within an hour or two from time of collection. Research Assistants stay out in the field on shift for 6 hours or more. So we send a driver to fetch specimens and data from the Research Assistant in the field. The driver has a ``middleman`` laptop that pulls all pending data from the Research Assistant's laptop. The driver and the Research Assistant then reconcile specimens and requisition data against the ``middleman`` data and the physical specimen. (Note: we requisition and label specimens in the field through the app). The driver then returns to the community clinic, pushes data onto the ``community-server`` and delivers all the specimens. The Lab Assistant then reconciles the specimens and requisition data against the ``community-server`` data and the physical specimen.\n\nData Flow\n=========\n\n``django-collect-offline`` uses either the REST API or FILE transfer:\n\n* field client ---REST---> community server\n* field client ---REST---> middleman (and modelre inspector) ---REST---> community server\n* site server ---FILE---> central server\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/django-collect-offline.svg\n :target: https://pypi.python.org/pypi/django-collect-offline\n\n.. |travis| image:: https://travis-ci.org/erikvw/django-collect-offline.svg?branch=develop\n :target: https://travis-ci.org/erikvw/django-collect-offline\n\n.. |codecov| image:: https://codecov.io/gh/erikvw/django-collect-offline/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/erikvw/django-collect-offline\n\n.. |downloads| image:: https://pepy.tech/badge/django-collect-offline\n :target: https://pepy.tech/project/django-collect-offline\n\n.. |maintainability| image:: https://api.codeclimate.com/v1/badges/e08f2bbee238af7bfdc7/maintainability\n :target: https://codeclimate.com/github/erikvw/django-collect-offline/maintainability\n :alt: Maintainability\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code Style \n\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/erikvw/django-collect-offline", "keywords": "django data synchronization offline-use", "license": "GPL license, see LICENSE", "maintainer": "", "maintainer_email": "", "name": "django-collect-offline", "package_url": "https://pypi.org/project/django-collect-offline/", "platform": "", "project_url": "https://pypi.org/project/django-collect-offline/", "project_urls": { "Homepage": "https://github.com/erikvw/django-collect-offline" }, "release_url": "https://pypi.org/project/django-collect-offline/0.2.45/", "requires_dist": [ "django-collect-offline-files", "django-cors-headers", "django-crypto-fields", "django-js-reverse", "djangorestframework", "edc-device", "edc-protocol", "requests" ], "requires_python": ">=3.7", "summary": "Collect data offline and push to the server later.", "version": "0.2.45" }, "last_serial": 5538066, "releases": { "0.2.27": [ { "comment_text": "", "digests": { "md5": "e7929593269c0dafc9de82aedc6144ef", "sha256": "3b252f76248bca9013249fa5b87a0b143ae82bc0305ed8f859045475747ee7eb" }, "downloads": -1, "filename": "django-collect-offline-0.2.27.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "e7929593269c0dafc9de82aedc6144ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142780, "upload_time": "2018-07-20T17:11:32", "url": "https://files.pythonhosted.org/packages/b3/10/aa46db740f55030459461ec56b89dd3a38f2120e4082b58749770b8ab7f1/django-collect-offline-0.2.27.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "47f50b5286165c95fa095f80bc21e56b", "sha256": "49336a88e3cb5747ce9b071893ce205c3a6a92d8be1aa15d37de2f4fa7ce5def" }, "downloads": -1, "filename": "django_collect_offline-0.2.27-py3-none-any.whl", "has_sig": false, "md5_digest": "47f50b5286165c95fa095f80bc21e56b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 105915, "upload_time": "2018-07-20T17:11:29", "url": "https://files.pythonhosted.org/packages/d1/79/75508ed7d96cde3ac00a4e2a8ae6da41aa87374dc7443481fac4121dfd99/django_collect_offline-0.2.27-py3-none-any.whl" } ], "0.2.28": [ { "comment_text": "", "digests": { "md5": "042ab58d782f445b85a7b490cc29e5ed", "sha256": "540c14bdd6a68cc76f4c1e1b3bf868754fb3be7a9571fbe3a8b20482c7e416da" }, "downloads": -1, "filename": "django-collect-offline-0.2.28.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "042ab58d782f445b85a7b490cc29e5ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73154, "upload_time": "2018-08-01T01:15:36", "url": "https://files.pythonhosted.org/packages/82/99/860bcca5f68566ecf5a66cbb1b531d0280e1619522a0be74736d946b8184/django-collect-offline-0.2.28.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b87cb544533f01501233b25fb3195985", "sha256": "8c4217ba8e218b819bd66e47da5d389ca638d3d6974a0714ced169640379332d" }, "downloads": -1, "filename": "django_collect_offline-0.2.28-py3-none-any.whl", "has_sig": false, "md5_digest": "b87cb544533f01501233b25fb3195985", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 56535, "upload_time": "2018-08-01T01:15:33", "url": "https://files.pythonhosted.org/packages/74/72/b4e907ae02336c40432b13432c822a6ee69e7d14b4ae10ec8c07e6dc90eb/django_collect_offline-0.2.28-py3-none-any.whl" } ], "0.2.29": [ { "comment_text": "", "digests": { "md5": "51126939ca67f21cd0adf7e9b9e7d144", "sha256": "a747f5b1832dbc4a0efd05c42822a4b0485acd17fc8690e4536e94969515fcec" }, "downloads": -1, "filename": "django-collect-offline-0.2.29.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "51126939ca67f21cd0adf7e9b9e7d144", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73021, "upload_time": "2018-08-07T21:48:17", "url": "https://files.pythonhosted.org/packages/2e/c6/89d04ff8cc879870d57dc93888498b0f4572a12c99ef0b93d8b5fb5ff59c/django-collect-offline-0.2.29.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "8e2538f86611d1c1d494b4b33f2d65a6", "sha256": "51d54085159651b994acbd44a09a7db2d03156ab48614c061db265f9d22476aa" }, "downloads": -1, "filename": "django_collect_offline-0.2.29-py3-none-any.whl", "has_sig": false, "md5_digest": "8e2538f86611d1c1d494b4b33f2d65a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 56560, "upload_time": "2018-08-07T21:48:16", "url": "https://files.pythonhosted.org/packages/3d/a2/b3f584d32b5097b8e11921864b80758b3d0582b92ac9ef1aa8ed38932318/django_collect_offline-0.2.29-py3-none-any.whl" } ], "0.2.30": [ { "comment_text": "", "digests": { "md5": "838d5560172240d07e846c8512891aa2", "sha256": "b7bf99cfa247f3ee118a615e8d8cd57ca6cb4eb6ccb4885b2120eb549441bdf5" }, "downloads": -1, "filename": "django-collect-offline-0.2.30.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "838d5560172240d07e846c8512891aa2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73255, "upload_time": "2018-09-03T00:30:43", "url": "https://files.pythonhosted.org/packages/bc/df/8d585719485bf149b49514990bb64b3aabf5cea761787cee2267783deaa3/django-collect-offline-0.2.30.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "9dd0497bce142904210e6560926d1855", "sha256": "b6d050a039cf8610cdb4ee6e9e3dd142bc93d58ebab455d5df7c97a87f6afdb9" }, "downloads": -1, "filename": "django_collect_offline-0.2.30-py3-none-any.whl", "has_sig": false, "md5_digest": "9dd0497bce142904210e6560926d1855", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 56576, "upload_time": "2018-09-03T00:30:41", "url": "https://files.pythonhosted.org/packages/71/de/4e10ceb08843faf4d4c9a6099461561d9c7c7fcbb765504ef0d63562bbe0/django_collect_offline-0.2.30-py3-none-any.whl" } ], "0.2.31": [ { "comment_text": "", "digests": { "md5": "0ebf960ec51cfa8b7d0d12b320e18c09", "sha256": "16531fe7d4486440d2b2e99e8393229853d5789c5f4ff946402726d5b1031bd8" }, "downloads": -1, "filename": "django-collect-offline-0.2.31.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "0ebf960ec51cfa8b7d0d12b320e18c09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75712, "upload_time": "2018-12-07T22:33:16", "url": "https://files.pythonhosted.org/packages/3f/56/98a78e11a77e9d9ada9a9f0c3e2bddae7b6a2c32a15b193b6f53231fec2c/django-collect-offline-0.2.31.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "a1663814bd8af1abb22efb1579575c31", "sha256": "48de65857b16d67c3a53896956084f0f12a7d05c6827b637d7cb5fc9756b3c92" }, "downloads": -1, "filename": "django_collect_offline-0.2.31-py3-none-any.whl", "has_sig": false, "md5_digest": "a1663814bd8af1abb22efb1579575c31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 57577, "upload_time": "2018-12-07T22:33:15", "url": "https://files.pythonhosted.org/packages/97/c3/6792ab8c3963b7f880c5d846da400e7ba3e45cb3ab8b109bbbdea2042a87/django_collect_offline-0.2.31-py3-none-any.whl" } ], "0.2.32": [ { "comment_text": "", "digests": { "md5": "fc83cb536db70480b2d63d0f87f6471f", "sha256": "774de41c8111e849ff5e619f8f2e756bf56afd919a16570c5732c29dbeacde20" }, "downloads": -1, "filename": "django-collect-offline-0.2.32.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "fc83cb536db70480b2d63d0f87f6471f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75747, "upload_time": "2018-12-07T22:55:48", "url": "https://files.pythonhosted.org/packages/96/c7/0adba8176909ae46babf71dbf6e240f3aae4403a54fdb79c50ea2a17e721/django-collect-offline-0.2.32.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "c4c9f308fc569633b2589790789e8016", "sha256": "05c6a563b4228e302b990de934d358c4c07283fad216623f840ea00020a117b1" }, "downloads": -1, "filename": "django_collect_offline-0.2.32-py3-none-any.whl", "has_sig": false, "md5_digest": "c4c9f308fc569633b2589790789e8016", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 57567, "upload_time": "2018-12-07T22:55:47", "url": "https://files.pythonhosted.org/packages/3c/66/5fa6ae7ea0699958be61c00b04ca1cc377ac5259d897c9bb6df284e693e4/django_collect_offline-0.2.32-py3-none-any.whl" } ], "0.2.33": [ { "comment_text": "", "digests": { "md5": "82f2d122b32b4cdec093b65a7330061c", "sha256": "325a47e256fd547fe82b1c909516e552f40632f5053e84cbb09daa9e6d42573d" }, "downloads": -1, "filename": "django-collect-offline-0.2.33.macosx-10.7-x86_64.tar.gz", "has_sig": false, "md5_digest": "82f2d122b32b4cdec093b65a7330061c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74558, "upload_time": "2019-01-12T16:11:31", "url": "https://files.pythonhosted.org/packages/90/63/01a25915cd20c1f1ac612e449fe28d6777cdee09a61a1624d1579d836518/django-collect-offline-0.2.33.macosx-10.7-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "69a720b713d87c903cf41d62929bb81a", "sha256": "b05f8491c318d1d3bee24350472b5098f0cbfc90bd5a4dc1a88b94072cfc9e0a" }, "downloads": -1, "filename": "django_collect_offline-0.2.33-py3-none-any.whl", "has_sig": false, "md5_digest": "69a720b713d87c903cf41d62929bb81a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69487, "upload_time": "2019-01-12T16:11:29", "url": "https://files.pythonhosted.org/packages/d6/72/5ba3e0af2daef88d028cadcd0f440df781e5169e82698e7d92e3c282104e/django_collect_offline-0.2.33-py3-none-any.whl" } ], "0.2.34": [ { "comment_text": "", "digests": { "md5": "ec7e3f40379b85bf55fd308785dc0ac5", "sha256": "07c92fc12e91c462267e8df2161e47dd56bd59a0a33dbbc0b489d54ca8b28d0f" }, "downloads": -1, "filename": "django-collect-offline-0.2.34.macosx-10.7-x86_64.tar.gz", "has_sig": false, "md5_digest": "ec7e3f40379b85bf55fd308785dc0ac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74897, "upload_time": "2019-01-14T01:06:41", "url": "https://files.pythonhosted.org/packages/5c/21/9d42233da2847b6ecd448040dfe199c24563b9a54885cc3aacefd36e564e/django-collect-offline-0.2.34.macosx-10.7-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "9a32b25f34b2d116d8cecc131025d159", "sha256": "7430e4477a2fb69f6c6795d2c6e15455f60687e80be4aa01a79cee1940092b5f" }, "downloads": -1, "filename": "django_collect_offline-0.2.34-py3-none-any.whl", "has_sig": false, "md5_digest": "9a32b25f34b2d116d8cecc131025d159", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69983, "upload_time": "2019-01-14T01:06:39", "url": "https://files.pythonhosted.org/packages/00/e3/880be9992f9538117c1c9b1cdb69edbe73e397539349bb0e4d419982684c/django_collect_offline-0.2.34-py3-none-any.whl" } ], "0.2.35": [ { "comment_text": "", "digests": { "md5": "7cd3740e01ceb5360d5c33c4edc703c0", "sha256": "95638a189082defeb7128e59104a15936d03489c757548c9774f56031ee73366" }, "downloads": -1, "filename": "django-collect-offline-0.2.35.macosx-10.7-x86_64.tar.gz", "has_sig": false, "md5_digest": "7cd3740e01ceb5360d5c33c4edc703c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 75148, "upload_time": "2019-01-30T16:01:21", "url": "https://files.pythonhosted.org/packages/c9/8d/eae14aa253ccb68c20c00ec52de773770e17058f53b3c79954f29231d39a/django-collect-offline-0.2.35.macosx-10.7-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "3daf37ac5e6afdccd6c17cb218f20e9d", "sha256": "d012644a036317795869bf6f850ea6f5c4f4ded95b456f068f96a98fba5543ac" }, "downloads": -1, "filename": "django_collect_offline-0.2.35-py3-none-any.whl", "has_sig": false, "md5_digest": "3daf37ac5e6afdccd6c17cb218f20e9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70222, "upload_time": "2019-01-30T16:01:20", "url": "https://files.pythonhosted.org/packages/cb/cc/ff1ce8044c33c016f4be354a96ad7cef139b4bfe58a0ee69277209d467ec/django_collect_offline-0.2.35-py3-none-any.whl" } ], "0.2.36": [ { "comment_text": "", "digests": { "md5": "f35bbfc35e306c89cf0178ca7bd87a82", "sha256": "60e999ca6bd3d2e6c3d93027a639924e51e0f529817349254ee9ce1264a8188c" }, "downloads": -1, "filename": "django_collect_offline-0.2.36-py3-none-any.whl", "has_sig": false, "md5_digest": "f35bbfc35e306c89cf0178ca7bd87a82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70191, "upload_time": "2019-03-04T17:41:33", "url": "https://files.pythonhosted.org/packages/56/34/36b1368ee58fcc9124fe59f606c337578cd7d614e17a65b77640afc26b32/django_collect_offline-0.2.36-py3-none-any.whl" } ], "0.2.37": [ { "comment_text": "", "digests": { "md5": "37f7c2eedc96993e6deaa487ace40349", "sha256": "e0e5dd18d6cc5fe4acafcc023fccb49235c19754af7c559b3b1d56254601696b" }, "downloads": -1, "filename": "django_collect_offline-0.2.37-py3-none-any.whl", "has_sig": false, "md5_digest": "37f7c2eedc96993e6deaa487ace40349", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70969, "upload_time": "2019-03-12T15:48:21", "url": "https://files.pythonhosted.org/packages/4a/81/1ec199b33deb3fe8a1e3dec9904cee71186669bdc79b90b6826e00c619d0/django_collect_offline-0.2.37-py3-none-any.whl" } ], "0.2.38": [ { "comment_text": "", "digests": { "md5": "e9c70bbfedc0d915ae903c90301a7b80", "sha256": "974afcd83fe2264e2c233638a00c125058d742e179c4e959d008fbd5813b49ab" }, "downloads": -1, "filename": "django_collect_offline-0.2.38-py3-none-any.whl", "has_sig": false, "md5_digest": "e9c70bbfedc0d915ae903c90301a7b80", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70975, "upload_time": "2019-03-18T19:06:51", "url": "https://files.pythonhosted.org/packages/27/d5/1138b3be39a7d12dfc741406351decea393dd9df268cfd73a94ad1e8cc04/django_collect_offline-0.2.38-py3-none-any.whl" } ], "0.2.39": [ { "comment_text": "", "digests": { "md5": "e07d04f856e8e97fcd6113625f1249ae", "sha256": "33c553bea13cd320ce4d7c34f07959b38bb7a8fc904995cc9f83a4222e9b4309" }, "downloads": -1, "filename": "django_collect_offline-0.2.39-py3-none-any.whl", "has_sig": false, "md5_digest": "e07d04f856e8e97fcd6113625f1249ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 59846, "upload_time": "2019-04-08T20:42:49", "url": "https://files.pythonhosted.org/packages/02/b3/8898cd4a81a9b7cda97054b9c81994d4bcdff27955a25814b4d82ed965f1/django_collect_offline-0.2.39-py3-none-any.whl" } ], "0.2.40": [ { "comment_text": "", "digests": { "md5": "73321666c1da83569811b48e940b263a", "sha256": "c169b116ec6743b5a5a67463c76cc4499e13ca9cccf4be0a76cadd71988e6022" }, "downloads": -1, "filename": "django_collect_offline-0.2.40-py3-none-any.whl", "has_sig": false, "md5_digest": "73321666c1da83569811b48e940b263a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 72578, "upload_time": "2019-04-09T03:26:49", "url": "https://files.pythonhosted.org/packages/79/fd/66edba9709caa8fb8c2cde60dc80afcbf615287852d23cb48041068a82f7/django_collect_offline-0.2.40-py3-none-any.whl" } ], "0.2.41": [ { "comment_text": "", "digests": { "md5": "d739a5199d7419f572010c4af8875bde", "sha256": "310c42c019ff5fe1fc8ae4793184f7da658e332e0297d7e1141676ff34895a87" }, "downloads": -1, "filename": "django_collect_offline-0.2.41-py3-none-any.whl", "has_sig": false, "md5_digest": "d739a5199d7419f572010c4af8875bde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 72572, "upload_time": "2019-04-10T05:12:19", "url": "https://files.pythonhosted.org/packages/06/e0/87e41dd7d23601d4ea42738aa68823cbeb0d85d4bf36949032c7c26bcdea/django_collect_offline-0.2.41-py3-none-any.whl" } ], "0.2.42": [ { "comment_text": "", "digests": { "md5": "38c7c44f29b5250e5dc42fa89cbbb96f", "sha256": "9040beac5cd61e6f4cbf258172e415b527d69ebc6c247493019da5db1af44d8b" }, "downloads": -1, "filename": "django_collect_offline-0.2.42-py3-none-any.whl", "has_sig": false, "md5_digest": "38c7c44f29b5250e5dc42fa89cbbb96f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70623, "upload_time": "2019-05-06T02:45:41", "url": "https://files.pythonhosted.org/packages/a3/ae/6c170ce3363c31e17d3d771f210287a8c265bdaa8ef2d65b325f88e8e2d4/django_collect_offline-0.2.42-py3-none-any.whl" } ], "0.2.43": [ { "comment_text": "", "digests": { "md5": "066edc6a6a2a6e781edfb4be9261763a", "sha256": "b1ffed35285ca90ac749f77559bd6d830bb741c701fd09849d992e8e9ccc5053" }, "downloads": -1, "filename": "django_collect_offline-0.2.43-py3-none-any.whl", "has_sig": false, "md5_digest": "066edc6a6a2a6e781edfb4be9261763a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70599, "upload_time": "2019-05-16T03:48:43", "url": "https://files.pythonhosted.org/packages/62/58/2771a8418b9020fbabf84bf16b941bb6979f7e6e735afd994bb631e3e47d/django_collect_offline-0.2.43-py3-none-any.whl" } ], "0.2.44": [ { "comment_text": "", "digests": { "md5": "81135fd0433e97591d6ab0c519aece8d", "sha256": "fb5f651fdc873d95db79db4d95f845d618a93ef5a6c7a627325d41a49f99c433" }, "downloads": -1, "filename": "django_collect_offline-0.2.44-py3-none-any.whl", "has_sig": false, "md5_digest": "81135fd0433e97591d6ab0c519aece8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70616, "upload_time": "2019-06-25T03:16:47", "url": "https://files.pythonhosted.org/packages/f6/33/6d859760695d5dbed8917a3c6cf523bbbaa7f5035c0b84df372fe6ac8444/django_collect_offline-0.2.44-py3-none-any.whl" } ], "0.2.45": [ { "comment_text": "", "digests": { "md5": "8e72545838f461585676dc95b7e20efd", "sha256": "ebbf6e72c365510467b7604569104090ded49a0d508e405720424189a2db8130" }, "downloads": -1, "filename": "django_collect_offline-0.2.45-py3-none-any.whl", "has_sig": false, "md5_digest": "8e72545838f461585676dc95b7e20efd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70627, "upload_time": "2019-07-16T03:10:11", "url": "https://files.pythonhosted.org/packages/1f/c1/5a9283ab10113a1567081f03d904759a26cc46097bc018a206e5c6e1c48e/django_collect_offline-0.2.45-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8e72545838f461585676dc95b7e20efd", "sha256": "ebbf6e72c365510467b7604569104090ded49a0d508e405720424189a2db8130" }, "downloads": -1, "filename": "django_collect_offline-0.2.45-py3-none-any.whl", "has_sig": false, "md5_digest": "8e72545838f461585676dc95b7e20efd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 70627, "upload_time": "2019-07-16T03:10:11", "url": "https://files.pythonhosted.org/packages/1f/c1/5a9283ab10113a1567081f03d904759a26cc46097bc018a206e5c6e1c48e/django_collect_offline-0.2.45-py3-none-any.whl" } ] }