{ "info": { "author": "Jens Nistler , Bogdan Radko ", "author_email": "opensource@regiohelden.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Monitoring" ], "description": "[![PyPI version](https://badge.fury.io/py/django-datawatch.svg)](https://badge.fury.io/py/django-datawatch)\n[![Travis CI build status](https://travis-ci.org/RegioHelden/django-datawatch.svg)](https://travis-ci.org/RegioHelden/django-datawatch)\n[![Coverage Status](https://coveralls.io/repos/github/RegioHelden/django-datawatch/badge.svg?branch=add_coveralls)](https://coveralls.io/github/RegioHelden/django-datawatch?branch=add_coveralls)\n[![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n# Django Datawatch\n\nWith Django Datawatch you are able to implement arbitrary checks on data, review their status and even describe what to do to resolve them.\nThink of [nagios](https://www.nagios.org/)/[icinga](https://www.icinga.org/) for data.\n\n## Check execution backends\n\n### Synchronous\n\nWill execute all tasks synchronously which is not recommended but the most simple way to get started.\n\n### Celery\n\nWill execute the tasks asynchronously using celery as a task broker and executor.\nCelery is supported from 3.1.25.\n\n### Other backends\n\nFeel free to implement other task execution backends and send a pull request.\n\n## Install\n\n```shell\n$ pip install django-datawatch\n```\n\nAdd `django_datawatch` to your `INSTALLED_APPS`\n\n## Celery beat database scheduler\n\nIf the datawatch scheduler should be run using the celery beat database scheduler, you need to install [django_celery_beat](hhttp://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-custom-schedulers) for celery >= 4 or [django-celery](https://github.com/celery/django-celery) for celery < 4.\n\nAdd `django_datawatch.tasks.django_datawatch_scheduler` to the `CELERYBEAT_SCHEDULE` of your app.\nThis task should be executed every minute e.g. `crontab(minute='*/1')`, see example app.\n\n## Write a custom check\n\nCreate `checks.py` inside your module.\n\n```python\nfrom datetime import datetime\n\nfrom celery.schedules import crontab\n\nfrom django_datawatch.datawatch import datawatch\nfrom django_datawatch.base import BaseCheck, CheckResponse\nfrom django_datawatch.models import Result\n\n\n@datawatch.register\nclass CheckTime(BaseCheck):\n run_every = crontab(minute='*/5') # scheduler will execute this check every 5 minutes\n\n def generate(self):\n yield datetime.now()\n\n def check(self, payload):\n response = CheckResponse()\n if payload.hour <= 7:\n response.set_status(Result.STATUS.ok)\n elif payload.hour <= 12:\n response.set_status(Result.STATUS.warning)\n else:\n response.set_status(Result.STATUS.critical)\n return response\n\n def get_identifier(self, payload):\n # payload will be our datetime object that we are getting from generate method\n return payload\n\n def get_payload(self, identifier):\n # as get_identifier returns the object we don't need to process it\n # we can return identifier directly\n return identifier\n```\n\n### .generate\n\nMust yield payloads to be checked. The check method will then be called for every payload.\n\n### .check\n\nMust return an instance of CheckResponse.\n\n### .get_identifier\n\nMust return a unique identifier for the payload. \n\n### trigger check updates\n\nCheck updates for individual payloads can also be triggered when related datasets are changed.\nThe map for update triggers is defined in the Check class' trigger_update attribute.\n\n```\ntrigger_update = dict(subproduct=models_customer.SubProduct)\n```\n\nThe key is a slug to define your trigger while the value is the model that issues the trigger when saved.\nYou must implement a resolver function for each entry with the name of get__payload which returns the payload to check (same datatype as .check would expect or .generate would yield).\n```\ndef get_subproduct_payload(self, instance):\n return instance.product\n```\n\n## Run your checks\n\nA management command is provided to queue the execution of all checks based on their schedule.\nAdd a crontab to run this command every minute and it will check if there's something to do.\n\n```shell\n$ ./manage.py datawatch_run_checks\n$ ./manage.py datawatch_run_checks --slug=example.checks.UserHasEnoughBalance\n```\n\n## Refresh your check results\n\nA management command is provided to forcefully refresh all existing results for a check.\nThis comes in handy if you changes the logic of your check and don't want to wait until the periodic execution or an update trigger.\n\n```shell\n$ ./manage.py datawatch_refresh_results\n$ ./manage.py datawatch_refresh_results --slug=example.checks.UserHasEnoughBalance\n```\n\n## Get a list of registered checks\n\n```shell\n$ ./manage.py datawatch_list_checks\n```\n\n## Clean up your database\n\nRemove the unnecessary check results and executions if you've removed the code for a check.\n\n```shell\n$ ./manage.py datawatch_clean_up\n```\n\n## Settings\n\n```python\nDJANGO_DATAWATCH_BACKEND = 'django_datawatch.backends.synchronous'\nDJANGO_DATAWATCH_RUN_SIGNALS = True\n```\n\n### DJANGO_DATAWATCH_BACKEND\n\nYou can chose the backend to run the tasks. Supported are 'django_datawatch.backends.synchronous' and 'django_datawatch.backends.celery'.\n\nDefault: 'django_datawatch.backends.synchronous'\n\n### DJANGO_DATAWATCH_RUN_SIGNALS\n\nUse this setting to disable running post_save updates during unittests if required.\n\nDefault: True\n\n### celery task queue\n\nDatawatch supported setting a specific queue in release < 0.4.0\n\nWith the switch to celery 4, you should use task routing to define the queue for your tasks, see http://docs.celeryproject.org/en/latest/userguide/routing.html\n\n# CONTRIBUTE\n\n## Dev environment\n- docker (at least 17.12.0+)\n- docker-compose (at least 1.18.0)\n- docker-hostmanager\n\n## docker-hostmanager\n\nIn order to access the application on your browser, your host machine must be able to resolve the host name of your container.\nWe're using docker-hostmanager to manage the hosts file entries.\n\nLinux:\n\n```\n$ docker run -d --name docker-hostmanager --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /etc/hosts:/hosts iamluc/docker-hostmanager\n```\n\nFor other environments, see https://github.com/iamluc/docker-hostmanager\n\n## Setup\n\nWe've included an example app to show how django_datawatch works.\nStart by launching the included docker container.\n```bash\ndocker-compose up -d\n```\n\nThen setup the example app environment.\n```bash\ndocker-compose run --rm django migrate\ndocker-compose run --rm django loaddata example\n```\nThe installed superuser is \"example\" with password \"datawatch\".\n\n## Run checks\n\nLogin on the admin interface and open http://datawatch.rh-dev.eu:8000/ afterwards.\nYou'll be prompted with an empty dashboard. That's because we didn't run any checks yet.\nLet's enqueue an update.\n```bash\ndocker-compose run --rm django datawatch_run_checks --force\n```\n\nThe checks for the example app are run synchronously and should be updated immediately.\nIf you decide to switch to the celery backend, you should now start a celery worker to process the checks.\n```bash\ndocker-compose run --rm --entrypoint=celery django worker -A example -l DEBUG\n```\n\nTo execute the celery beat scheduler which runs the datawatch scheduler every minute, just run:\n```bash\ndocker-compose run --rm --entrypoint=celery django beat --scheduler django_celery_beat.schedulers:DatabaseScheduler -A example\n```\n\nYou will see some failed check now after you refreshed the dashboard view.\n\n![Django Datawatch dashboard](http://static.jensnistler.de/django_datawatch.png \"Django Datawatch dashboard\")\n\n## Run the tests\n```bash\ndocker-compose run --rm django test\n```\n\n## Making a new release\n\n[bumpversion](https://github.com/peritus/bumpversion) is used to manage releases.\n\nAdd your changes to the [CHANGELOG](./CHANGELOG.rst), run\n```bash\ndocker-compose run django bumpversion \n```\nthen push (including tags).", "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/RegioHelden/django-datawatch", "keywords": "django,monitoring,datawatch,check,checks", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-datawatch", "package_url": "https://pypi.org/project/django-datawatch/", "platform": "", "project_url": "https://pypi.org/project/django-datawatch/", "project_urls": { "Homepage": "https://github.com/RegioHelden/django-datawatch" }, "release_url": "https://pypi.org/project/django-datawatch/1.1.2/", "requires_dist": null, "requires_python": "", "summary": "Django Datawatch runs automated data checks in your Django installation", "version": "1.1.2" }, "last_serial": 5624615, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b57b8560362e84d78229161908bc642f", "sha256": "95e0e41579a2369124eff9475990a899bdcf55f8c391b6b0e436fb238ecd22fd" }, "downloads": -1, "filename": "django-datawatch-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b57b8560362e84d78229161908bc642f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7118, "upload_time": "2016-09-04T00:14:43", "url": "https://files.pythonhosted.org/packages/70/55/bfedd508c84a31f327ce14799600b2cd180ce771e61995b5cf633880dbea/django-datawatch-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "266e31975bd69e549e7eff30356b2b34", "sha256": "8301e4ca3f271b8234aaebd1b12a112f7fbcdd5f10ac9cb895d3692ff2167152" }, "downloads": -1, "filename": "django-datawatch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "266e31975bd69e549e7eff30356b2b34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7636, "upload_time": "2016-09-04T09:32:06", "url": "https://files.pythonhosted.org/packages/42/ec/c74b8ee408249798c8b5fff724c6940bafa292a358554e8894e398c8106b/django-datawatch-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "d7301871c60ec00c4b59b04d50146572", "sha256": "bb01bfcc5e3e1fda8021b6fa26522209f824ce6bc9527e57d61e2e809d9ba377" }, "downloads": -1, "filename": "django_datawatch-0.1.10-py2-none-any.whl", "has_sig": false, "md5_digest": "d7301871c60ec00c4b59b04d50146572", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22632, "upload_time": "2016-09-30T12:00:16", "url": "https://files.pythonhosted.org/packages/71/03/eb6bcb4c12217262f870a2bb5b40de2b3f745c70652584f2fc442650233a/django_datawatch-0.1.10-py2-none-any.whl" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "c8213c379a65e744305979e67403962f", "sha256": "46655cd47475175987fcff8782a1b87f99a61a9ffef3d3cf0d7d8627e2ba00c6" }, "downloads": -1, "filename": "django_datawatch-0.1.11-py2-none-any.whl", "has_sig": false, "md5_digest": "c8213c379a65e744305979e67403962f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 28963, "upload_time": "2016-09-30T13:04:59", "url": "https://files.pythonhosted.org/packages/6c/b9/daade20c0ef8e9193f09bfb4c8dbf5b34ee283250632a3e21397a810d30b/django_datawatch-0.1.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b93baa9e8188d6434abd83d55f350b44", "sha256": "cdb70936e84835469280cead5d87c57aefa4832a0719baddf2484492ed27fdb0" }, "downloads": -1, "filename": "django-datawatch-0.1.11.tar.gz", "has_sig": false, "md5_digest": "b93baa9e8188d6434abd83d55f350b44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17397, "upload_time": "2016-09-30T13:05:02", "url": "https://files.pythonhosted.org/packages/d9/99/1048302485f017129bfd060113c10915502db7607effe7567dcb82a54580/django-datawatch-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "00ec5ef39d095a4e227f9dc73dd17773", "sha256": "b52edd73e592cd72c6ae0d86d436b3b2ffac2203dd16e8a7d18401be27eeea90" }, "downloads": -1, "filename": "django-datawatch-0.1.12.tar.gz", "has_sig": false, "md5_digest": "00ec5ef39d095a4e227f9dc73dd17773", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17721, "upload_time": "2016-10-11T16:56:10", "url": "https://files.pythonhosted.org/packages/d5/61/0f562221b9d45ec229079167e1b7399c31216261006224e6c168800ab2b2/django-datawatch-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "231b64f2af9324d7e833e3ce1fc5610f", "sha256": "f40d7982ebae6d4a351ddf501033cdf304e89fb3346f770af92164da242d941f" }, "downloads": -1, "filename": "django-datawatch-0.1.13.tar.gz", "has_sig": false, "md5_digest": "231b64f2af9324d7e833e3ce1fc5610f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17791, "upload_time": "2016-10-12T08:50:32", "url": "https://files.pythonhosted.org/packages/2b/84/5da0a48c5c56671626c08c7bacf92800a09d5aaf29179aa17231103cfeb4/django-datawatch-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "f823cca1d88198a173f36356ef5b5ee9", "sha256": "fcc1e3f896d5f2bff90bff1b326f41bf64a1e1d23dafae3dfbf34582d7a0859d" }, "downloads": -1, "filename": "django-datawatch-0.1.14.tar.gz", "has_sig": false, "md5_digest": "f823cca1d88198a173f36356ef5b5ee9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17086, "upload_time": "2016-10-13T06:49:36", "url": "https://files.pythonhosted.org/packages/7b/55/e4d491e65f7dc509a0aa385d5569ff6f60112798215decbb624cf79b40fd/django-datawatch-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "cca87289797761f743ea64a8f31091ea", "sha256": "fbda98916577d1ce4171a5e1534054b5d1f5dcfabe12df914ea865a2575e2869" }, "downloads": -1, "filename": "django-datawatch-0.1.15.tar.gz", "has_sig": false, "md5_digest": "cca87289797761f743ea64a8f31091ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17177, "upload_time": "2016-10-17T12:36:01", "url": "https://files.pythonhosted.org/packages/b4/58/f6dce2a24104bb242788c8e06b5104c459c6c9b4e4fc86bd7eab1982d20f/django-datawatch-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "8bbf8c659df66ce33ea712b8008e0815", "sha256": "81eb469a71d451ac78b57b8cbddfea225856c8274218d87303a758d250d5307f" }, "downloads": -1, "filename": "django-datawatch-0.1.16.tar.gz", "has_sig": false, "md5_digest": "8bbf8c659df66ce33ea712b8008e0815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17396, "upload_time": "2016-10-24T13:11:05", "url": "https://files.pythonhosted.org/packages/c5/05/f27e836d7062e1cae72fcd0bd609509c231ad7df5a3f92f1489852d0913a/django-datawatch-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "0ffd1504c5fc6cf276707df9ba095f9d", "sha256": "95791b4773caa584f6941ca3dac0a50850e2bc6e412e3b92ae0e47771f14a73e" }, "downloads": -1, "filename": "django-datawatch-0.1.17.tar.gz", "has_sig": false, "md5_digest": "0ffd1504c5fc6cf276707df9ba095f9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17981, "upload_time": "2016-10-25T12:05:08", "url": "https://files.pythonhosted.org/packages/94/b2/a3e0ac7306041656308c2db33d920c793b656da5c281da9f0e8cf0f594f3/django-datawatch-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "443145496562aa44114f4765bc09c3df", "sha256": "21dce223f8c400ac64655aa6008484cf2828cbc43e1b5be37b81574d0016a6b6" }, "downloads": -1, "filename": "django-datawatch-0.1.18.tar.gz", "has_sig": false, "md5_digest": "443145496562aa44114f4765bc09c3df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18047, "upload_time": "2016-10-25T14:46:38", "url": "https://files.pythonhosted.org/packages/26/68/b55582b03673a05d8ab6e4a794dbcc6d9f3deb1dc48f875fd7ccf00c7492/django-datawatch-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "3167e32ea104beac97d6bc749a0de06f", "sha256": "0c627de2029a6be8aef7d7c25a4ecd0776ec354a62bb7170fb180b4da2f39b45" }, "downloads": -1, "filename": "django-datawatch-0.1.19.tar.gz", "has_sig": false, "md5_digest": "3167e32ea104beac97d6bc749a0de06f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18308, "upload_time": "2016-10-28T15:40:53", "url": "https://files.pythonhosted.org/packages/bb/b7/b5e11f495bd41e0a8fa378ca386337f4bc3c853c31ab442c8b95eead75af/django-datawatch-0.1.19.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f1883057afd89077823f20484d5e5116", "sha256": "67518e3badf3eb76ee0fc468d87f7e8eb60379af62a548b388c9275fe31fc1cd" }, "downloads": -1, "filename": "django-datawatch-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f1883057afd89077823f20484d5e5116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8931, "upload_time": "2016-09-04T10:01:15", "url": "https://files.pythonhosted.org/packages/a7/80/1b6d8725597b16782eddd997b8d24e00a384278de950182414bdd07c678f/django-datawatch-0.1.2.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "ca84aae2ba623e3b6ff2a9d2634851f1", "sha256": "fc0c8bf91a92a4724e39f8611567ce00ec489453444fdc6dd2eb40c5d2ec6300" }, "downloads": -1, "filename": "django-datawatch-0.1.20.tar.gz", "has_sig": false, "md5_digest": "ca84aae2ba623e3b6ff2a9d2634851f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18528, "upload_time": "2016-11-04T17:12:53", "url": "https://files.pythonhosted.org/packages/46/59/613f888a4d12f683cfba516167e383d408c7c2e70f39396b098105a5349f/django-datawatch-0.1.20.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "ef37b0088c2f41bc0e7e50186319422f", "sha256": "dd9892da5e117a45695c74c285d2a4d7a8e91c7ac8a50ece8ed56d5595d178ea" }, "downloads": -1, "filename": "django-datawatch-0.1.21.tar.gz", "has_sig": false, "md5_digest": "ef37b0088c2f41bc0e7e50186319422f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18954, "upload_time": "2016-11-04T17:37:47", "url": "https://files.pythonhosted.org/packages/cf/f1/e44fbc8dacff54deefc3ad578ace882bddb3b96605d5119f8dcc341e0fee/django-datawatch-0.1.21.tar.gz" } ], "0.1.22": [ { "comment_text": "", "digests": { "md5": "be8032bf9a34c4fff847da022c394b31", "sha256": "619aca3bab6c979318bdbed857c4fde499b79236a7871fd6f3aaaef64832558c" }, "downloads": -1, "filename": "django-datawatch-0.1.22.tar.gz", "has_sig": false, "md5_digest": "be8032bf9a34c4fff847da022c394b31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19626, "upload_time": "2016-11-21T15:46:17", "url": "https://files.pythonhosted.org/packages/9e/db/f19840368fdc6d41a7cef42d54cd7bc2b752d1a1b8157831111b59ce1a47/django-datawatch-0.1.22.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "dfcc094c55ee9ad98813ea1a456d69d4", "sha256": "de91bfe09e74e1bb7095c4a76eefdabc1852a44344e4c32acbc3e7f404b9c06b" }, "downloads": -1, "filename": "django-datawatch-0.1.3.tar.gz", "has_sig": false, "md5_digest": "dfcc094c55ee9ad98813ea1a456d69d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13798, "upload_time": "2016-09-04T10:18:47", "url": "https://files.pythonhosted.org/packages/c3/d8/f5fe23510e21619f287d053ed160f5ab5a48844a2dca1f7b502136ea52b6/django-datawatch-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e0d9d35258df89c9e43b8c585c707122", "sha256": "e46999195da0dbd20151be09519f076df11668dd3c9b4d06b26e58376c1796d9" }, "downloads": -1, "filename": "django-datawatch-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e0d9d35258df89c9e43b8c585c707122", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13932, "upload_time": "2016-09-04T12:24:21", "url": "https://files.pythonhosted.org/packages/e2/3a/12e066b2726ae631c93b659142b92edc3ddbad3df06720f313358d54ecdd/django-datawatch-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "1df76ccff7ae7986712fa36a97f17cf9", "sha256": "c79b346a53750b7c13afa2fde402b9690243bf2b46c839236835fa59c119004b" }, "downloads": -1, "filename": "django-datawatch-0.1.5.tar.gz", "has_sig": false, "md5_digest": "1df76ccff7ae7986712fa36a97f17cf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14683, "upload_time": "2016-09-04T14:08:53", "url": "https://files.pythonhosted.org/packages/59/d2/b65ed545d7eec53b8a8efa7913bedfc34f0f657b08ced504d5cd23156a98/django-datawatch-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3a6831cba44398babcfa39b15589d8ac", "sha256": "cf964a4395d278f9639ff249ac0abaa9aa568454c6ab3515f9fc52c36a6af699" }, "downloads": -1, "filename": "django-datawatch-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3a6831cba44398babcfa39b15589d8ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15144, "upload_time": "2016-09-04T14:41:48", "url": "https://files.pythonhosted.org/packages/4b/d8/9bf147f4f09e2801cc887246353a5c87925442b019f2b320d5c368bed4d6/django-datawatch-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0f62d96191d76ec3077f0142655be0af", "sha256": "e0b57535b1ff17b0bdaf35fa601354a612543cae32b53cd89f26beee389d059e" }, "downloads": -1, "filename": "django-datawatch-0.1.7.tar.gz", "has_sig": false, "md5_digest": "0f62d96191d76ec3077f0142655be0af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15254, "upload_time": "2016-09-05T17:17:39", "url": "https://files.pythonhosted.org/packages/de/c4/45bdcec5330f001ea12a0152741a93f8bb89d864a5da2c1d23e3a945e6ce/django-datawatch-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "397ff374e5aa5185010be701b905f59c", "sha256": "451023ac53ec8f8b849cd384635690561b11f4a6c71e48970fd3fa89cfe733ff" }, "downloads": -1, "filename": "django-datawatch-0.1.8.tar.gz", "has_sig": false, "md5_digest": "397ff374e5aa5185010be701b905f59c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17361, "upload_time": "2016-09-26T16:02:51", "url": "https://files.pythonhosted.org/packages/08/4d/6b138d86541e571b1b6e22c935d34c6bac3dc41ae15158323c699b2389fc/django-datawatch-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "c41894b7b22c73e4eef588852c1ea7fa", "sha256": "b3ad3453c2b523b02a584fac3ecc5380bb7b561b668878c2195b20792ece53a6" }, "downloads": -1, "filename": "django_datawatch-0.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "c41894b7b22c73e4eef588852c1ea7fa", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22619, "upload_time": "2016-09-30T11:55:02", "url": "https://files.pythonhosted.org/packages/ec/89/a11e92a1c7e83f60506e0746ff2a8c2f93ec9b2c0f5fb2f656f3e8d62a1c/django_datawatch-0.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ef35cec43f3d6aaf8de2b292ac9079e", "sha256": "af4fa75126a075d3c01d5b75182bf16640c59e982fec05fff77f73fa9c9b5a39" }, "downloads": -1, "filename": "django-datawatch-0.1.9.tar.gz", "has_sig": false, "md5_digest": "7ef35cec43f3d6aaf8de2b292ac9079e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17372, "upload_time": "2016-09-27T13:06:03", "url": "https://files.pythonhosted.org/packages/15/2c/aad2df790abc3fb7dda1cba6df20f9aa9956a174d7b73ae706392d229aa5/django-datawatch-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1c1dce146f6031ccba30eea53244aa6c", "sha256": "d2a660478c02515961ab5261970f3edd87c41ac2d78cfd4f19f7734ca1ade96b" }, "downloads": -1, "filename": "django-datawatch-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1c1dce146f6031ccba30eea53244aa6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19462, "upload_time": "2016-11-21T17:14:18", "url": "https://files.pythonhosted.org/packages/5c/d3/2da20b0c26b62cfd46c9669ef7606adae1896bc41259bb76905bda14bdf7/django-datawatch-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "3646f226348da660b9564d86bb5a3564", "sha256": "c394e4e1e94e5c07c06e397d66ceca47532a8a3100bc9e3785d9f5caa8aa04d3" }, "downloads": -1, "filename": "django_datawatch-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "3646f226348da660b9564d86bb5a3564", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 33919, "upload_time": "2018-01-02T13:48:53", "url": "https://files.pythonhosted.org/packages/86/b4/019267b2ed48ec00a5aa46c91813f79870265d67cde33f320d961f70048e/django_datawatch-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9fe3b1e2455465a5ecdbadc2e4944c8", "sha256": "d21809ce14ea8aacdd55e9fd0a5e0307f9cc07725d269c53d15b3c6cab835fb6" }, "downloads": -1, "filename": "django-datawatch-0.2.1.tar.gz", "has_sig": false, "md5_digest": "c9fe3b1e2455465a5ecdbadc2e4944c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19474, "upload_time": "2017-02-23T13:44:20", "url": "https://files.pythonhosted.org/packages/4d/4c/9457c42811f932107c0105749fcbf9e702fc87dd8d77079ae306e746bfb5/django-datawatch-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "758027556f01903190524b05a645073c", "sha256": "544d0fef0dcfc4ac08353feebf714007ff4de012ac24196d2080287d8e0853c7" }, "downloads": -1, "filename": "django_datawatch-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "758027556f01903190524b05a645073c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34220, "upload_time": "2018-01-02T13:48:56", "url": "https://files.pythonhosted.org/packages/7e/cb/62d68b83227b4f5a8caec278c400a5de214297770cc901890aa4d42e118f/django_datawatch-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5377fe563e386b9141dea5afd124f536", "sha256": "5bd36095dd50f1a7c72fe23139faeea45319327f911ff786b152d52b394eb853" }, "downloads": -1, "filename": "django-datawatch-0.2.3.tar.gz", "has_sig": false, "md5_digest": "5377fe563e386b9141dea5afd124f536", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19683, "upload_time": "2018-01-02T13:48:58", "url": "https://files.pythonhosted.org/packages/23/dc/fac882d63bd7d6697b1b8f04bf6366d763baa1f0c384a2c4e2a004bb63f8/django-datawatch-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "303d1314f9350e0d7d027d4659425461", "sha256": "67914570e1d967a59fe6d29bd2e795f4552f02739115bf1de89c5daa2c2059a1" }, "downloads": -1, "filename": "django_datawatch-0.2.4-py2-none-any.whl", "has_sig": false, "md5_digest": "303d1314f9350e0d7d027d4659425461", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 55235, "upload_time": "2018-01-30T15:28:08", "url": "https://files.pythonhosted.org/packages/33/cd/b301b56e71000be8740c7de2a6c3d75c91036b28bdeaa17848dd37b911a1/django_datawatch-0.2.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "240305aa2ff6d821e66757a3ee5fef7c", "sha256": "eb8fc3dd4d006279b31bdcec9fd1eaad0cc2a26912c8bc6d4741e3454dc465b2" }, "downloads": -1, "filename": "django_datawatch-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "240305aa2ff6d821e66757a3ee5fef7c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55234, "upload_time": "2018-01-30T15:28:10", "url": "https://files.pythonhosted.org/packages/45/7e/a8410f8b25a1429b70948c570d144ddf517de406b495deabf497781cf0ad/django_datawatch-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d042ed2117f3a7bd2829bca8ebffa7e", "sha256": "b5d10e60d7973e9228a74009f312b6981ff4cdcc5aa69619bda974d491e9304e" }, "downloads": -1, "filename": "django-datawatch-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6d042ed2117f3a7bd2829bca8ebffa7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33163, "upload_time": "2018-01-30T15:28:12", "url": "https://files.pythonhosted.org/packages/ea/aa/f696201449120cc475c7c8f953707e8b840d25f17b9c6e51e5cf6e07329d/django-datawatch-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "49675b4a34847518868086d4a1d2cf29", "sha256": "46bee1fe507746c096e67470e41a298205bf984ce79a87d5a77af672341a36e6" }, "downloads": -1, "filename": "django_datawatch-0.2.5-py2-none-any.whl", "has_sig": false, "md5_digest": "49675b4a34847518868086d4a1d2cf29", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34260, "upload_time": "2018-02-16T15:02:16", "url": "https://files.pythonhosted.org/packages/cd/da/e740786a04b749645d2de78193ca3215536f8ff760928144332aa13ade35/django_datawatch-0.2.5-py2-none-any.whl" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "57560795f207df93d14d6510b3f70f2c", "sha256": "558d5c237ed3472fa831629d9cb9b4100cfe728661d92d33274b973a3a5eed4f" }, "downloads": -1, "filename": "django-datawatch-0.2.7.tar.gz", "has_sig": false, "md5_digest": "57560795f207df93d14d6510b3f70f2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21617, "upload_time": "2018-08-07T13:58:27", "url": "https://files.pythonhosted.org/packages/5c/96/960ad7f92ed3ecf8e9cc30809eba0f016bc69ff816e72ba31c2976f99ef1/django-datawatch-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "0987b690b0c41ace40787eaebb2aeac3", "sha256": "704ff3b5ed5f4934ec56113cb3e1035df407557d5987edce7fb133c76f574465" }, "downloads": -1, "filename": "django-datawatch-0.2.8.tar.gz", "has_sig": false, "md5_digest": "0987b690b0c41ace40787eaebb2aeac3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21827, "upload_time": "2018-08-07T15:45:00", "url": "https://files.pythonhosted.org/packages/56/e8/4ccc95c885b605e8fef20243c18a470967c2869ea11562ed510219964ad9/django-datawatch-0.2.8.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ef31f0024575d70379de56f934ab6683", "sha256": "09abf646e2de226bfe1ee605b7af342cede86ef9573056c6b66b583b9be3aa85" }, "downloads": -1, "filename": "django-datawatch-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ef31f0024575d70379de56f934ab6683", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21841, "upload_time": "2018-08-07T18:27:13", "url": "https://files.pythonhosted.org/packages/a4/b3/e340947e875f69c439619a99f3a181662d72e68d9f1dc15042cf527ab870/django-datawatch-0.3.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f82fa15f8447dfce4b31f915a1da09a1", "sha256": "6a9e09b04727c14e4ae00539eb2c5eb58bada15e1088b05b405880ceb80e8af2" }, "downloads": -1, "filename": "django-datawatch-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f82fa15f8447dfce4b31f915a1da09a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21634, "upload_time": "2019-02-14T11:07:55", "url": "https://files.pythonhosted.org/packages/40/8b/3cc206c4903932f272cc2b97ddcef618d3895692aa953ac6bcb61ecd580f/django-datawatch-1.0.0.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b0198f87cae6027b03898df991f8d06d", "sha256": "c1c192aad349a409ff2f5ec0a462522726671b9c756d4a8c6f0a2184fa2f7eda" }, "downloads": -1, "filename": "django-datawatch-1.0.2.tar.gz", "has_sig": false, "md5_digest": "b0198f87cae6027b03898df991f8d06d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21672, "upload_time": "2019-02-14T12:34:20", "url": "https://files.pythonhosted.org/packages/de/22/f25f9e1937edc9173ca2e069dff0212aa2435c3b589fd0b26711fe5985d5/django-datawatch-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "323e37de190524163b997b30852ba6f4", "sha256": "c25b6d837aab20d9afab673a3bab404e1ddea4de45a0ee7a582b6d43e91def0a" }, "downloads": -1, "filename": "django-datawatch-1.0.3.tar.gz", "has_sig": false, "md5_digest": "323e37de190524163b997b30852ba6f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21732, "upload_time": "2019-03-20T15:46:30", "url": "https://files.pythonhosted.org/packages/9a/36/59e4020e87aa4d54bf7267914883f001b651e86a14f46e7ef02ece8efc8d/django-datawatch-1.0.3.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "814874bd8149ef08ed4c5c386e26a3bf", "sha256": "c32ca88662613880971dd6955530356340cf873d077eed900cbd0c61a5ad6c51" }, "downloads": -1, "filename": "django-datawatch-1.1.1.tar.gz", "has_sig": false, "md5_digest": "814874bd8149ef08ed4c5c386e26a3bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21811, "upload_time": "2019-07-08T15:59:35", "url": "https://files.pythonhosted.org/packages/0f/2b/d1666a6010b52bd965fe0bc5ea2b6680d08c8e0c1ddd6d5b39049bd8cadd/django-datawatch-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "fa45c89d40833b9ffbb04cc823b3d7c0", "sha256": "edeb1803ceece4344073369540099566713e91015a7f5ffad8b99092716cb596" }, "downloads": -1, "filename": "django-datawatch-1.1.2.tar.gz", "has_sig": false, "md5_digest": "fa45c89d40833b9ffbb04cc823b3d7c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21801, "upload_time": "2019-08-02T14:52:23", "url": "https://files.pythonhosted.org/packages/58/c7/64625522db82b638a9264f069a0608227d519154df7b288577383b420d9c/django-datawatch-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa45c89d40833b9ffbb04cc823b3d7c0", "sha256": "edeb1803ceece4344073369540099566713e91015a7f5ffad8b99092716cb596" }, "downloads": -1, "filename": "django-datawatch-1.1.2.tar.gz", "has_sig": false, "md5_digest": "fa45c89d40833b9ffbb04cc823b3d7c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21801, "upload_time": "2019-08-02T14:52:23", "url": "https://files.pythonhosted.org/packages/58/c7/64625522db82b638a9264f069a0608227d519154df7b288577383b420d9c/django-datawatch-1.1.2.tar.gz" } ] }