{ "info": { "author": "Delhivery", "author_email": "noreply@delhivery.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Plugins", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "============================\ndjango-cdc\n============================\n\nTracking changes in django models and push it to logger/aws endpoints.\n\n\nQuickstart Guide\n===============================\n\nInstall it with pip from PyPi::\n\n pip install django-cdc\n\nbefore installing djangoCDC, make sure that you have already run the following command or\nyour environment the following packages:\n\n pip install psycopg2\n pip install django-bitfield\n pip install boto3\n pip install pyyaml\n pip install django-extensions\n pip install confluent-kafka\n\nAdd ``django_cdc`` to your ``INSTALLED_APPS``::\n INSTALLED_APPS = (\n 'django.contrib.admin',\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.messages',\n 'django.contrib.staticfiles',\n 'django_extensions',\n 'django_cdc',\n)\n\nIf you want to track full model changes, then you need to attach an ``DjangoCDC`` manager to the model.\nFor foreign key attributes, we need to pass kwargs foreign of dict type and partition_key is only used with kafka::\n\n from django.db import models\n from django_cdc.models.managers import DjangoCDC\n from django_cdc.models.constants import ServiceType\n\n\n class ProductCategory(models.Model):\n name = models.CharField(max_length=150, primary_key = True)\n description = models.TextField()\n django_cdc = DjangoCDC(services=[ServiceType.SNS], partition_key=name,\n service_custom_name= {ServiceType.ASYNC_KAFKA_PRODUCER : ''})\n\n class Product(models.Model):\n name = models.CharField(max_length = 150)\n description = models.TextField()\n price = models.DecimalField(max_digits = 10, decimal_places = 2)\n productcategory = models.ForeignKey(ProductCategory)\n django_cdc = DjangoCDC(foreign_keys={'productcategory':['name','description']},services=[ServiceType.SNS,ServiceType.KINESIS],\n service_custom_name= {ServiceType.SNS: '' , ServiceType.KINESIS: ''})\n\nServiceType is used for specifying on which you want to publish and service_custom_name is used\nto specify own custom name for resource- KAFKA, SNS, KINESIS. Let us say,if you want to publish\ndata to kafka topic like ProductCategory in that case you need to pass service_custom_name as an\nargument with the custom name as shown above. Also if \"None\" value is set for the\nservice_custom_name then it will publish to the topic derived e.g. -.\n\nRun the following commmand to deploy lambda function that pushes data to kinesis:\n python manage.py setservice\n\nBy default warn, error, critical logging level are enabled.\n\nTo enable info logging:\n python manage.py setservice --logging_level=info\n\nTo enable debugging:\n python manage.py setservice --logging_level=debug\n\nFollowing fields handled for json serialization:\n BitHandler\n datetime\n time\n ImageFieldFile\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://bitbucket.org/DelhiveryTech/djangocdc/get/v2.0.11.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/DelhiveryTech/djangocdc/overview", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-cdc", "package_url": "https://pypi.org/project/django-cdc/", "platform": "", "project_url": "https://pypi.org/project/django-cdc/", "project_urls": { "Download": "https://bitbucket.org/DelhiveryTech/djangocdc/get/v2.0.11.zip", "Homepage": "https://bitbucket.org/DelhiveryTech/djangocdc/overview" }, "release_url": "https://pypi.org/project/django-cdc/2.0.11/", "requires_dist": [ "confluent-kafka", "dill", "pyyaml", "enum34", "django-extensions", "django-bitfield", "boto3" ], "requires_python": "", "summary": "CDC for django models", "version": "2.0.11" }, "last_serial": 3820303, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "67f3d5cb5213aee8589c58d97f634e3a", "sha256": "8d6376c840e389b46b5adeaee4bd630ff5ebfd82e038079e4c56b13008293a94" }, "downloads": -1, "filename": "django_cdc-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67f3d5cb5213aee8589c58d97f634e3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27222, "upload_time": "2017-05-04T09:29:03", "url": "https://files.pythonhosted.org/packages/27/58/151be32f214b4b02524bebb8e3767510cd7495ab484a61644991d65db89c/django_cdc-1.0.0-py2.py3-none-any.whl" } ], "1.0.1": [], "1.0.1.post1": [ { "comment_text": "", "digests": { "md5": "c0c2dc7ca4acbdb7476776c47678c7af", "sha256": "a44a579d75bc0c59e69e086a2d7491d2f0b6e85f4359af516107f39a0671b3e0" }, "downloads": -1, "filename": "django_cdc-1.0.1.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c0c2dc7ca4acbdb7476776c47678c7af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28697, "upload_time": "2017-05-08T07:10:03", "url": "https://files.pythonhosted.org/packages/ae/1f/cc8745c000e8cc0eafb444e24cfe56433d48d14bfae36116a46efc54d132/django_cdc-1.0.1.post1-py2.py3-none-any.whl" } ], "1.0.1.post2": [ { "comment_text": "", "digests": { "md5": "f5ba00aef14ff18aadb6109ff9b3d228", "sha256": "703fe04b1ce62f8a73102574d70fe036813570465c6cfe6e31b811f3290cd7d4" }, "downloads": -1, "filename": "django_cdc-1.0.1.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5ba00aef14ff18aadb6109ff9b3d228", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28694, "upload_time": "2017-05-08T10:57:37", "url": "https://files.pythonhosted.org/packages/2b/2c/3a7491f6d13d2b370e6852b93841478d685aa0b464ac9c5e52009db92ddb/django_cdc-1.0.1.post2-py2.py3-none-any.whl" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "15de3927b9ac7ee1b43befd393c725e1", "sha256": "57023e7df44775e93986bc720dfb9909f2dfcff1de6da3993d8fa2cf0e244095" }, "downloads": -1, "filename": "django_cdc-1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15de3927b9ac7ee1b43befd393c725e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22026, "upload_time": "2017-10-25T11:03:07", "url": "https://files.pythonhosted.org/packages/70/59/d8113fb297079fe4a0dec500c59f23a8d7ae2ec5281338f2769076067fc8/django_cdc-1.0.10-py2.py3-none-any.whl" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "bdc62f4371a25a90d4c4f1a7508a7847", "sha256": "077e50ae6a2b41f2a4229a2bb5268e9a4a66805099c7a2217e3e499cc9b39408" }, "downloads": -1, "filename": "django_cdc-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bdc62f4371a25a90d4c4f1a7508a7847", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22024, "upload_time": "2017-10-25T11:53:45", "url": "https://files.pythonhosted.org/packages/0d/cb/88334cff13625fc25e91a7e377184b19f89e7343cb35f92051811c2bfd6d/django_cdc-1.0.11-py2.py3-none-any.whl" } ], "1.0.2": [], "1.0.4": [ { "comment_text": "", "digests": { "md5": "88496f06f6712c41b24b6db0f173500c", "sha256": "2b1c237f88fdd56623d01db829d1bfa3a3b4e68bcd348e428e47fb64a1d67698" }, "downloads": -1, "filename": "django_cdc-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "88496f06f6712c41b24b6db0f173500c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21620, "upload_time": "2017-05-10T06:41:50", "url": "https://files.pythonhosted.org/packages/f0/6f/8306f1d8e007f0acf43270af39357e34648dc8701a56f92b272e888c5603/django_cdc-1.0.4-py2.py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "fe6bf8d3881bf05af8cd7da7bbe4e4a0", "sha256": "3bb9721465c2258f0bc6a4a3877829796027f19d5103cf63a7a33092178fe4d6" }, "downloads": -1, "filename": "django_cdc-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe6bf8d3881bf05af8cd7da7bbe4e4a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21614, "upload_time": "2017-05-10T13:03:00", "url": "https://files.pythonhosted.org/packages/ca/65/1f150e807a14dceb0d8301111971052fba154007c5309b1215c728d33a20/django_cdc-1.0.5-py2.py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "e64a9471d6ce99461dc74bdf0c2cd84e", "sha256": "a6ceb314eeaeb52ff524a8239bae2ce3021dc9e356a69e95fbcf514433a988f5" }, "downloads": -1, "filename": "django_cdc-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e64a9471d6ce99461dc74bdf0c2cd84e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21612, "upload_time": "2017-05-11T05:07:38", "url": "https://files.pythonhosted.org/packages/b9/9c/e9fe76070c97249871732eb6d5ad4769c4f03d72ed1ff6e15fd44251916a/django_cdc-1.0.6-py2.py3-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "5714973b4a76ed9fa366141a05898d96", "sha256": "6e031eb2a25da3dd7dd625e4c5d7b430e54c65545bd4292752543f1cc5d5bece" }, "downloads": -1, "filename": "django_cdc-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5714973b4a76ed9fa366141a05898d96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21639, "upload_time": "2017-05-11T10:30:50", "url": "https://files.pythonhosted.org/packages/5f/04/cce4ef1693b8da38fab24bf2c4eeaa8a3c38c84c9d00109b9a94a75c6f59/django_cdc-1.0.7-py2.py3-none-any.whl" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "4dc7757d55d04dd66669caad0ab94a5a", "sha256": "9b6c5bff21f3e63635a4b6f89b6ab55feda3a1abf1ba4017d57f176eaa2e0722" }, "downloads": -1, "filename": "django_cdc-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4dc7757d55d04dd66669caad0ab94a5a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21757, "upload_time": "2017-10-24T13:15:42", "url": "https://files.pythonhosted.org/packages/31/38/a794aff21eb96078adaeb738b819b6e2d9c6d3275f0838e83baa97f81a55/django_cdc-1.0.8-py2.py3-none-any.whl" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "8336d89fba611d3344992e2a716fbab5", "sha256": "63ea872fc1023e765ce549096254ad740a685fd8f9a61994f0dc130ee09bd9ee" }, "downloads": -1, "filename": "django_cdc-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8336d89fba611d3344992e2a716fbab5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21683, "upload_time": "2017-10-24T13:31:29", "url": "https://files.pythonhosted.org/packages/a0/1a/baeeb2be5274f9eeb632dd62a0a08b9c112601d126da2bc92754b6f51c87/django_cdc-1.0.9-py2.py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "e74342c4ddfbc08650a0bb57c30393a9", "sha256": "d5b37388d68708841e099159093365fca6d358e0c8fff2b93b23f7153fd8abb6" }, "downloads": -1, "filename": "django_cdc-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e74342c4ddfbc08650a0bb57c30393a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22788, "upload_time": "2017-10-26T06:37:21", "url": "https://files.pythonhosted.org/packages/91/ae/6b85f260a6d4e16357b18cc3673c2e7f40d982379d4cde20418905428c9e/django_cdc-2.0.0-py2.py3-none-any.whl" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "065bf58c2adddc462290ee2028ab5f33", "sha256": "002f4f1b5ccf0915d0a88900e60227f14388e51120aa353eae44f65c1ff704f4" }, "downloads": -1, "filename": "django_cdc-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "065bf58c2adddc462290ee2028ab5f33", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22797, "upload_time": "2017-10-26T12:23:02", "url": "https://files.pythonhosted.org/packages/e3/4f/772b87aeebb7b43b62dcc494950c9791dc4e76ea3e386a6153b7baacea9e/django_cdc-2.0.1-py2.py3-none-any.whl" } ], "2.0.10": [ { "comment_text": "", "digests": { "md5": "eab7faef4b24f9ca0c9c6ce9e610079f", "sha256": "9dd287e31f9e314797e7e7b462bedda34c93c6c2bcaf420c9161c725aa07293f" }, "downloads": -1, "filename": "django_cdc-2.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eab7faef4b24f9ca0c9c6ce9e610079f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21879, "upload_time": "2018-04-27T07:17:30", "url": "https://files.pythonhosted.org/packages/bc/82/531f7c9928fb6834d40acbe13f3e0086a1679df6c6584af2a173e3033bac/django_cdc-2.0.10-py2.py3-none-any.whl" } ], "2.0.11": [ { "comment_text": "", "digests": { "md5": "0ea3d3e8ffeae124a2135fb22f88e005", "sha256": "40b90b026885b2e5253a1f3e1b7915251ab69680f0509c1ef3599fda5ae2fe90" }, "downloads": -1, "filename": "django_cdc-2.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ea3d3e8ffeae124a2135fb22f88e005", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21947, "upload_time": "2018-04-30T09:31:24", "url": "https://files.pythonhosted.org/packages/bd/64/162ac772805562e34c0b51cefffa446aba73264302ad37e96d533bc608fe/django_cdc-2.0.11-py2.py3-none-any.whl" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "ca92fdb8f748bfb977bfab66691db797", "sha256": "3241112fba4d3336d5462866214de4a2560abb54dd8db241dcda4d0b808bf7cb" }, "downloads": -1, "filename": "django_cdc-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ca92fdb8f748bfb977bfab66691db797", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22799, "upload_time": "2017-11-07T07:05:29", "url": "https://files.pythonhosted.org/packages/c5/60/65628709d55dbd97d3b3bedb4120eab49d82905cb1edf6a7db7d812cd504/django_cdc-2.0.2-py2.py3-none-any.whl" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "ec0c467cc1e5499d799c21bb7dc6ad95", "sha256": "f6fd6e43b6a147885f24db381482837dae90a5632f460ac6ea59751def0c2a47" }, "downloads": -1, "filename": "django_cdc-2.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ec0c467cc1e5499d799c21bb7dc6ad95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23180, "upload_time": "2017-11-08T08:56:50", "url": "https://files.pythonhosted.org/packages/7a/a8/b9607090ccc949424a910b7455169f8aacd044d5df56e274fe10a885714d/django_cdc-2.0.3-py2.py3-none-any.whl" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "e41201755d0393faa4162d0d0ce14f84", "sha256": "2867288aa0ecdf083b1a3eaba2f0c5bdf981125589a52ab74e994e67edbbc0c9" }, "downloads": -1, "filename": "django_cdc-2.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e41201755d0393faa4162d0d0ce14f84", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22876, "upload_time": "2017-11-09T06:54:52", "url": "https://files.pythonhosted.org/packages/1c/52/85a2950723ae85e8c01eb1887872782424f5b25c3fa5e33a46df4430312c/django_cdc-2.0.4-py2.py3-none-any.whl" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "8b0260f5713e998af174528d50dfe892", "sha256": "9ae0fb9cbda05882b8095e415e04db97f1f9a945c413a9d068e54ea730a81c0d" }, "downloads": -1, "filename": "django_cdc-2.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b0260f5713e998af174528d50dfe892", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22899, "upload_time": "2017-11-15T05:53:25", "url": "https://files.pythonhosted.org/packages/07/b2/9d4a81a7664cbfb9f6b3694ca4d04cb409318ed7a6b118c777cfe2f3e489/django_cdc-2.0.5-py2.py3-none-any.whl" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "59a508dd2391c2a3fb940dde7e40c217", "sha256": "0dd5f03a2b5ec6311313cb4eb7f9a70be0871c7554ce8f2e86ede25c8cd98f1c" }, "downloads": -1, "filename": "django_cdc-2.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59a508dd2391c2a3fb940dde7e40c217", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22926, "upload_time": "2017-11-30T11:53:36", "url": "https://files.pythonhosted.org/packages/91/9f/94f107eafb1904a7ae701fb95b9a37e0888228ae7796a684de0ff07b1ce2/django_cdc-2.0.6-py2.py3-none-any.whl" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "6b39bb4f0afc9a94f0bc3f8af7efabfa", "sha256": "7235bded8d0e7389e629757cde2f059b9c1a6f962d9fe592639858d2dfe5b3ac" }, "downloads": -1, "filename": "django_cdc-2.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b39bb4f0afc9a94f0bc3f8af7efabfa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23041, "upload_time": "2018-01-25T10:07:53", "url": "https://files.pythonhosted.org/packages/1c/7a/4a14c5386c025c1f89e947993838b1b7f6299ebc0b48044cf7ecfc1722a0/django_cdc-2.0.7-py2.py3-none-any.whl" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "c6cfde5a40e341901cab66cbefd8ae48", "sha256": "e0174328da5c4fef4563dac2275bcf4c0ceaa09632e96b5419d9e5d74ede9f9c" }, "downloads": -1, "filename": "django_cdc-2.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6cfde5a40e341901cab66cbefd8ae48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23021, "upload_time": "2018-01-25T10:10:21", "url": "https://files.pythonhosted.org/packages/b9/ce/c8556d06767f50df0b2c3b9c2e4986fcbcc6f55e2c6faf1663f50c32d119/django_cdc-2.0.8-py2.py3-none-any.whl" } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "74b95f5871515f6dcae7e414572a2e0b", "sha256": "27f34e2488e9e46b82a3ff9655391c261e4dc430f7ea275d775bd38c512879cf" }, "downloads": -1, "filename": "django_cdc-2.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74b95f5871515f6dcae7e414572a2e0b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23019, "upload_time": "2018-01-25T13:08:50", "url": "https://files.pythonhosted.org/packages/01/c4/5ec69acd75047df7920f7986fb263adaa6fdd536444b89bf2d6126463acc/django_cdc-2.0.9-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0ea3d3e8ffeae124a2135fb22f88e005", "sha256": "40b90b026885b2e5253a1f3e1b7915251ab69680f0509c1ef3599fda5ae2fe90" }, "downloads": -1, "filename": "django_cdc-2.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ea3d3e8ffeae124a2135fb22f88e005", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21947, "upload_time": "2018-04-30T09:31:24", "url": "https://files.pythonhosted.org/packages/bd/64/162ac772805562e34c0b51cefffa446aba73264302ad37e96d533bc608fe/django_cdc-2.0.11-py2.py3-none-any.whl" } ] }