{ "info": { "author": "Kirit Saelensminde", "author_email": "kirit@felspar.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Django PubSubPull\n=================\n\n|Build Status|\n\n``django-pubsubpull`` is intended to help you decouple micro-services.\nIt provides mechanisms that allow services to publish changes, subscribe\nto change notifications, and pull records.\n\nIn practice what we'll end up with is along the lines of:\n\n- Use Django slumber and async to provide a load of basic\n infrastructure this is going to need.\n- Provide new models for tracking database level changes to certain\n tables (models), and database triggers to ensure that they are\n properly recorded.\n- All operations will be based on HTTP using GET, PUT and DELETE only.\n- Django middleware to capture as much information about the request\n and the underlying changes we can and to tie that in to the records\n of database changes recorded there.\n- Support for Django 1.0 through 1.7. We may support 1.8 and later if\n we can make our middleware subsume the functionality of the old\n transaction middleware.\n- Only support Postgres 9.4 and later.\n\nThe use cases we envisage include:\n\n- A service needs to locally cache a copy of some attributes of an\n object held in another micro-service, generally for performance\n reasons (for example, a billing service needing copies of a\n customer's location so that it can choose the correct rates).\n- A service needs to record meta-data about user instructed changes for\n audit trail purposes (for example, any change to a customer email\n subscription is recorded with full details of who made the change and\n when it was made).\n- A service needs to be notified of certain API calls so that it can in\n turn trigger other behaviours (for example, a comms service sending a\n welcome email when a new user is created).\n\nThe three parts are:\n\n- Publish: A service will notify it's subscribers about any changes to\n the requested model instances. Ultimately the publish will hook into\n a database trigger to ensure that changes are always properly\n recorded no matter how it occurs.\n- Subscribe: A service can request change notifications be sent to it\n from the publishing service. The subscriber is able to specify a URL\n that is used for a PUT request when changes are notified.\n- Pull: A service can iterate over all of the instances of a particular\n model and then periodically iterate over new ones.\n\n.. |Build Status| image:: https://travis-ci.org/KayEss/django-pubsubpull.svg?branch=master\n :target: https://travis-ci.org/KayEss/django-pubsubpull", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/KayEss/django-pubsubpull", "keywords": "django rest data pub-sub pull", "license": "Boost Software License - Version 1.0 - August 17th, 2003", "maintainer": null, "maintainer_email": null, "name": "django-pubsubpull", "package_url": "https://pypi.org/project/django-pubsubpull/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-pubsubpull/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/KayEss/django-pubsubpull" }, "release_url": "https://pypi.org/project/django-pubsubpull/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Pub/sub and pull for Django", "version": "0.1.2" }, "last_serial": 2423346, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0a3e6ec11bd07f068baea2e239c6465b", "sha256": "baf476140eaeb6935d3917936a254580fc457c4988ec1f968b82a2d2e308c344" }, "downloads": -1, "filename": "django-pubsubpull-0.1.tar.gz", "has_sig": false, "md5_digest": "0a3e6ec11bd07f068baea2e239c6465b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10543, "upload_time": "2015-05-23T07:34:33", "url": "https://files.pythonhosted.org/packages/0d/38/1c07e937b19870f04270b32eab4f0a3adc29ed00d558369d9596e9120116/django-pubsubpull-0.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f8119aed09e566dc39566b72f2c2e9f4", "sha256": "7b1730c47331b0ac21f93cde565f1754048763c9184dc1d4add7c9d379f98019" }, "downloads": -1, "filename": "django-pubsubpull-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f8119aed09e566dc39566b72f2c2e9f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13198, "upload_time": "2016-10-26T03:29:30", "url": "https://files.pythonhosted.org/packages/91/b8/0957b5cb593c77c20cd1077fa8e1e30a29ad75bc70d13dc4f5d5983da24b/django-pubsubpull-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f8119aed09e566dc39566b72f2c2e9f4", "sha256": "7b1730c47331b0ac21f93cde565f1754048763c9184dc1d4add7c9d379f98019" }, "downloads": -1, "filename": "django-pubsubpull-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f8119aed09e566dc39566b72f2c2e9f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13198, "upload_time": "2016-10-26T03:29:30", "url": "https://files.pythonhosted.org/packages/91/b8/0957b5cb593c77c20cd1077fa8e1e30a29ad75bc70d13dc4f5d5983da24b/django-pubsubpull-0.1.2.tar.gz" } ] }