{ "info": { "author": "Robert Lechte", "author_email": "robertlechte@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: Other/Proprietary License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pgnotify: A python library to easily LISTEN to PostgreSQL NOTIFY notifications\n\n## Example\n\nLISTEN to and process NOTIFY events with a simple `for` loop, like so:\n\n```python\nfrom pgnotify import await_pg_notifications\n\nfor notification in await_pg_notifications(\n 'postgresql:///example',\n ['channel1', 'channel2']):\n\n print(notification.channel)\n print(notification.payload)\n```\n\n## Install\n\nInstallable with any python package manager from the python package index, eg:\n\n```shell\npip install pgnotify\n```\n\n## All the bells and whistles\n\nYou can also handle timeouts and signals, as in this more fully-fleshed example:\n\n```python\nimport signal\n\nfrom pgnotify import await_pg_notifications, get_dbapi_connection\n\n# the first parameter of the await_pg_notifications\n# loop is a dbapi connection in autocommit mode\nCONNECT = \"postgresql:///example\"\n\n# use this convenient method to create the right connection\n# from a database URL\ne = get_dbapi_connection(CONNECT)\n\nSIGNALS_TO_HANDLE = [signal.SIGINT, signal.SIGTERM]\n\nfor n in await_pg_notifications(\n e,\n [\"hello\", \"hello2\"],\n timeout=10,\n yield_on_timeout=True,\n handle_signals=SIGNALS_TO_HANDLE,\n):\n # the integer code of the signal is yielded on each\n # occurrence of a handled signal\n if isinstance(n, int):\n sig = signal.Signals(n)\n print(f\"handling {sig.name}, stopping\")\n break\n\n # the `yield_on_timeout` option makes the\n # loop yield `None` on timeout\n elif n is None:\n print(\"timeout, continuing\")\n\n # handle the actual notify occurrences here\n else:\n print((n.pid, n.channel, n.payload))\n```\n\nFurther documentation to come.\n", "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/djrobstep/pgnotify", "keywords": "", "license": "Unlicense", "maintainer": "Robert Lechte", "maintainer_email": "robertlechte@gmail.com", "name": "pgnotify", "package_url": "https://pypi.org/project/pgnotify/", "platform": "", "project_url": "https://pypi.org/project/pgnotify/", "project_urls": { "Homepage": "https://github.com/djrobstep/pgnotify", "Repository": "https://github.com/djrobstep/pgnotify" }, "release_url": "https://pypi.org/project/pgnotify/0.1.1561372201/", "requires_dist": [ "psycopg2-binary", "logx" ], "requires_python": "", "summary": "Easily LISTEN to PostgreSQL NOTIFY notifications", "version": "0.1.1561372201" }, "last_serial": 5440053, "releases": { "0.1.1539662717": [ { "comment_text": "", "digests": { "md5": "4ce9676e214251b248a2dfad812a9905", "sha256": "9593e9afe1b06011377def5e4d6e142fc0adf01a1abc61e6f79501e00899bd7f" }, "downloads": -1, "filename": "pgnotify-0.1.1539662717-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ce9676e214251b248a2dfad812a9905", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6286, "upload_time": "2018-10-16T04:05:18", "url": "https://files.pythonhosted.org/packages/f0/a9/92e9dbbbd0a61cb87d23ee8bb9bea05a9136b52374e8c12d588bd6042f36/pgnotify-0.1.1539662717-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5df3db27b171869917ed0b3578dcc48", "sha256": "e4794136fcd52c29efcd6328d32c2a47330e0905a949df4e8bd27b8490498ebf" }, "downloads": -1, "filename": "pgnotify-0.1.1539662717.tar.gz", "has_sig": false, "md5_digest": "a5df3db27b171869917ed0b3578dcc48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2889, "upload_time": "2018-10-16T04:05:20", "url": "https://files.pythonhosted.org/packages/af/75/841dd0008c5cc98e2381c099a5204e9d244e87c042ba758f19e3c3f8309e/pgnotify-0.1.1539662717.tar.gz" } ], "0.1.1539665961": [ { "comment_text": "", "digests": { "md5": "3f78104e929cd1ea8b2c5588d75258a4", "sha256": "28dbd4f836668bb0e31cbbb81c196902efd1449dbb96e8823fcb4e6cd4e27cca" }, "downloads": -1, "filename": "pgnotify-0.1.1539665961-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f78104e929cd1ea8b2c5588d75258a4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6531, "upload_time": "2018-10-16T04:59:22", "url": "https://files.pythonhosted.org/packages/0a/1d/574a127c3eae2a7ae4d3581648a7a9cc7fed138cb9d84d866a5fbab274e7/pgnotify-0.1.1539665961-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a486bbee28e53bbdf225193605c0a6e5", "sha256": "a5882135f2f17eb2b1b0bbfb513d0bdd0b4e92ca360e2d79f22fdf187bbdcf0d" }, "downloads": -1, "filename": "pgnotify-0.1.1539665961.tar.gz", "has_sig": false, "md5_digest": "a486bbee28e53bbdf225193605c0a6e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3184, "upload_time": "2018-10-16T04:59:23", "url": "https://files.pythonhosted.org/packages/05/30/9540dc345b9f71fa3a215b0cf4c8e874d2dd720698f7855e39ae247affc3/pgnotify-0.1.1539665961.tar.gz" } ], "0.1.1541156696": [ { "comment_text": "", "digests": { "md5": "99fe1f49022e9e7fb46ab958fbc61064", "sha256": "9c592960a2134fcb4dfac0b6af2953bd2339fa337294f298687bf13fe4fee1ad" }, "downloads": -1, "filename": "pgnotify-0.1.1541156696-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "99fe1f49022e9e7fb46ab958fbc61064", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7144, "upload_time": "2018-11-02T11:04:57", "url": "https://files.pythonhosted.org/packages/75/60/775dfa2d6fc8c99b24ab4595c6ebcc1f7b8b0853a099cc9f0b469ad2e2c0/pgnotify-0.1.1541156696-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df2c3e59634a9e1804c2076871717b3e", "sha256": "7234bc53fa537ff387cd23f2b7d438140d73e8739781a0d52e13498f292361ec" }, "downloads": -1, "filename": "pgnotify-0.1.1541156696.tar.gz", "has_sig": false, "md5_digest": "df2c3e59634a9e1804c2076871717b3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3375, "upload_time": "2018-11-02T11:04:58", "url": "https://files.pythonhosted.org/packages/23/f2/1abaaa3040e4400dbab30be38cb99b151170868e583bb6d124c1aef1440c/pgnotify-0.1.1541156696.tar.gz" } ], "0.1.1541159130": [ { "comment_text": "", "digests": { "md5": "5d21bfba4d51fbec4ff4ad56b3d22529", "sha256": "1f7ba4615000f9bde93df2c05d7d2987d427703bfed4da72a2f2df2ff31eca03" }, "downloads": -1, "filename": "pgnotify-0.1.1541159130-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d21bfba4d51fbec4ff4ad56b3d22529", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7569, "upload_time": "2018-11-02T11:45:31", "url": "https://files.pythonhosted.org/packages/e5/5d/71c535ac32dffb390f9152712cb22e03320353ce0060373b04970371dd16/pgnotify-0.1.1541159130-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ac1119e7362b239cc5a888817f2bb89", "sha256": "b5136c51801438ebf5ca20b09334a7722e9dfd9a532e591d3ab0d66555134a67" }, "downloads": -1, "filename": "pgnotify-0.1.1541159130.tar.gz", "has_sig": false, "md5_digest": "4ac1119e7362b239cc5a888817f2bb89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3944, "upload_time": "2018-11-02T11:45:33", "url": "https://files.pythonhosted.org/packages/55/42/c2db6daa18226b47062b364fc8884b5822fb7c716d290e8a15317b16ae15/pgnotify-0.1.1541159130.tar.gz" } ], "0.1.1541160085": [ { "comment_text": "", "digests": { "md5": "5369c2aa79274b40d82d45a22b40da4b", "sha256": "de02e28a090669acb5a0558f1f6047d6a893309fb6278dfd158f92481e797166" }, "downloads": -1, "filename": "pgnotify-0.1.1541160085-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5369c2aa79274b40d82d45a22b40da4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7645, "upload_time": "2018-11-02T12:01:26", "url": "https://files.pythonhosted.org/packages/5d/82/284245d1036dab3d5d7846a6ae4c1f4f52ca9c99d4d07051bdd34f291783/pgnotify-0.1.1541160085-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "286f056c60436f017c9c12dc994bd118", "sha256": "4fd40b06e86ccd5aad1520a7ea67a8a0b071b8188d20dbfad39182a9dbae9d66" }, "downloads": -1, "filename": "pgnotify-0.1.1541160085.tar.gz", "has_sig": false, "md5_digest": "286f056c60436f017c9c12dc994bd118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4030, "upload_time": "2018-11-02T12:01:27", "url": "https://files.pythonhosted.org/packages/22/ff/6d3d872c1a055f86a9aa906048132026eff3fa244b388a4a8b6b39ad7ab2/pgnotify-0.1.1541160085.tar.gz" } ], "0.1.1541160430": [ { "comment_text": "", "digests": { "md5": "5d90f552998b38abda3a330ff177919d", "sha256": "3519ec1d55f07fa4c9b11819146a393719f821e39ea262aff766ef978d73193a" }, "downloads": -1, "filename": "pgnotify-0.1.1541160430-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d90f552998b38abda3a330ff177919d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7700, "upload_time": "2018-11-02T12:07:11", "url": "https://files.pythonhosted.org/packages/ec/55/126f00ca9e4ac4a4749c6a04cf79c495c00df4717ab97dd69b697fb3c645/pgnotify-0.1.1541160430-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "244872cc95b55cc20563e44e61d34626", "sha256": "530be4a579f3ea3d21f3a0e09ada655948d9187e583e24347838c90f1fe24c34" }, "downloads": -1, "filename": "pgnotify-0.1.1541160430.tar.gz", "has_sig": false, "md5_digest": "244872cc95b55cc20563e44e61d34626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4090, "upload_time": "2018-11-02T12:07:12", "url": "https://files.pythonhosted.org/packages/ac/e5/a98934a4fad0dd488fec888f74096f53d0770c1747bd9d5be824d2e11ba1/pgnotify-0.1.1541160430.tar.gz" } ], "0.1.1541160523": [ { "comment_text": "", "digests": { "md5": "c62969b56e27512d346b53844fbbb0b3", "sha256": "f93bad832a582640b8e25695e2c723553a73f6bcbc810c34e0f7ebbf69cc4e42" }, "downloads": -1, "filename": "pgnotify-0.1.1541160523-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c62969b56e27512d346b53844fbbb0b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7721, "upload_time": "2018-11-02T12:08:44", "url": "https://files.pythonhosted.org/packages/c3/5d/b310be8ce4c9fab9b7ee2c6201a832a6738694e470052c50ac04d7d24a78/pgnotify-0.1.1541160523-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d47e1264a7ff3d0e459165222cf90a1d", "sha256": "80b8c84c4fe51dc9609ea09fafd3b97ffbd8632b449d8e3ad28441fa1ecfdd12" }, "downloads": -1, "filename": "pgnotify-0.1.1541160523.tar.gz", "has_sig": false, "md5_digest": "d47e1264a7ff3d0e459165222cf90a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4124, "upload_time": "2018-11-02T12:08:45", "url": "https://files.pythonhosted.org/packages/b6/80/3865ca70dd908306a0b19a386ccc1008e3165e43d26549d5b294eade3fbd/pgnotify-0.1.1541160523.tar.gz" } ], "0.1.1541160882": [ { "comment_text": "", "digests": { "md5": "346f480298e02d5ebab5d1e6fcace7a6", "sha256": "d74d5d02e307e9de2fb3693d320e6d38c72cff761b320cfcdeafb99794c06b6e" }, "downloads": -1, "filename": "pgnotify-0.1.1541160882-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "346f480298e02d5ebab5d1e6fcace7a6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7699, "upload_time": "2018-11-02T12:14:43", "url": "https://files.pythonhosted.org/packages/68/b6/ccb64b1e86c1c169fc00c8d031b5b53e27ffd2afc74d1a170e13c690a58f/pgnotify-0.1.1541160882-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ab83e9b6c5ecab7f67ec0ab92df366e", "sha256": "c7e3273f557ae289aa62af46ccd1e4db22a52fce780c91c15a07e93ed059e650" }, "downloads": -1, "filename": "pgnotify-0.1.1541160882.tar.gz", "has_sig": false, "md5_digest": "0ab83e9b6c5ecab7f67ec0ab92df366e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4111, "upload_time": "2018-11-02T12:14:44", "url": "https://files.pythonhosted.org/packages/aa/d4/7726d44a48785093c3dc45351a03cfc1354e01f1676eaa6db553c5e58be4/pgnotify-0.1.1541160882.tar.gz" } ], "0.1.1541411793": [ { "comment_text": "", "digests": { "md5": "458599533438f47fe634f518958d1fba", "sha256": "45f2fc9d94645081e0ac547aef75ce839123380765358d59a73067f02ae357ff" }, "downloads": -1, "filename": "pgnotify-0.1.1541411793-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "458599533438f47fe634f518958d1fba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7905, "upload_time": "2018-11-05T09:56:34", "url": "https://files.pythonhosted.org/packages/f6/30/671d26faaa7156ab339052bc2b290fc7f311e6fb3d85ed72e1d99c5a71ad/pgnotify-0.1.1541411793-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0068afc684478eedc42cae811f546d9c", "sha256": "4cb8fc5fb271feb2176bde76d593fa37f7ca3af62dc30bc56b2b3a3aa0c2973a" }, "downloads": -1, "filename": "pgnotify-0.1.1541411793.tar.gz", "has_sig": false, "md5_digest": "0068afc684478eedc42cae811f546d9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4165, "upload_time": "2018-11-05T09:56:36", "url": "https://files.pythonhosted.org/packages/7c/30/8dd54f3732bdc01020908933ca5545ffe37703e89a53d914768ede0ee695/pgnotify-0.1.1541411793.tar.gz" } ], "0.1.1541466735": [ { "comment_text": "", "digests": { "md5": "a2c79b99736ec25127e82f4ebda2034e", "sha256": "c0505745f486b5ed066200c5469882740d66e515c3becb75e3f44c38643a0027" }, "downloads": -1, "filename": "pgnotify-0.1.1541466735-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2c79b99736ec25127e82f4ebda2034e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8480, "upload_time": "2018-11-06T01:12:16", "url": "https://files.pythonhosted.org/packages/55/d4/a4085faf60f2f79221e34ad0cd66e0ec89ea81cacb1ab01dfa43da014ee4/pgnotify-0.1.1541466735-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c64b5af31dc97b2618de37dd1dee3e3", "sha256": "3ac4e391266036f2a64ed2f80bce1a0cb074347969a5728c5b8298cb78a22956" }, "downloads": -1, "filename": "pgnotify-0.1.1541466735.tar.gz", "has_sig": false, "md5_digest": "3c64b5af31dc97b2618de37dd1dee3e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4271, "upload_time": "2018-11-06T01:12:18", "url": "https://files.pythonhosted.org/packages/1a/00/90786beaa3908ffa1e50eb2786e3caf55232d9523fe14ff1a68014711259/pgnotify-0.1.1541466735.tar.gz" } ], "0.1.1549857075": [ { "comment_text": "", "digests": { "md5": "1cb64011ff899d888d7c51a51257d3db", "sha256": "0bf292b63a1c3d952d2dda43708bbdbdb1cfed35b3f1fa7ff6aa5d5ec96c46c1" }, "downloads": -1, "filename": "pgnotify-0.1.1549857075-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1cb64011ff899d888d7c51a51257d3db", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8526, "upload_time": "2019-02-11T03:51:16", "url": "https://files.pythonhosted.org/packages/a1/e3/cd1cfcfb334461f66924b3e091e5cccb4ee4cf361d20cfa5e0faae27ce44/pgnotify-0.1.1549857075-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba4a87ce5aedfb495bc3326cbdafb054", "sha256": "315031b13f6dba29d80a5b0d62071530766cf7bc2cbb0f67619cfa4b81a24bad" }, "downloads": -1, "filename": "pgnotify-0.1.1549857075.tar.gz", "has_sig": false, "md5_digest": "ba4a87ce5aedfb495bc3326cbdafb054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4302, "upload_time": "2019-02-11T03:51:17", "url": "https://files.pythonhosted.org/packages/5b/cf/7e020f82cc5503acbcff05c2bccf140129054569327977f6e7799a2712f8/pgnotify-0.1.1549857075.tar.gz" } ], "0.1.1561372201": [ { "comment_text": "", "digests": { "md5": "08327c015a7df343a5cb87ea6b20777c", "sha256": "b9632f3b515f68ec872f1491abc7416391800c0c0c2d62c9b4fa49ebbc71297e" }, "downloads": -1, "filename": "pgnotify-0.1.1561372201-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08327c015a7df343a5cb87ea6b20777c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4711, "upload_time": "2019-06-24T10:30:02", "url": "https://files.pythonhosted.org/packages/bc/05/21fdd45e3c713c3ce893a12d6d05a6bd2fc52baa3f9404da673ef434d7d9/pgnotify-0.1.1561372201-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee37c087f0e9e3bbbe84debb257a0888", "sha256": "509dfe42fde26c6eab066698adc679cf026bf6d1a2feea0ed58d77f6c376ce99" }, "downloads": -1, "filename": "pgnotify-0.1.1561372201.tar.gz", "has_sig": false, "md5_digest": "ee37c087f0e9e3bbbe84debb257a0888", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4354, "upload_time": "2019-06-24T10:30:04", "url": "https://files.pythonhosted.org/packages/79/23/01bc239fd97b399373b639a20f04082cb062fb566dd116f953d9c270f2a2/pgnotify-0.1.1561372201.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "08327c015a7df343a5cb87ea6b20777c", "sha256": "b9632f3b515f68ec872f1491abc7416391800c0c0c2d62c9b4fa49ebbc71297e" }, "downloads": -1, "filename": "pgnotify-0.1.1561372201-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08327c015a7df343a5cb87ea6b20777c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4711, "upload_time": "2019-06-24T10:30:02", "url": "https://files.pythonhosted.org/packages/bc/05/21fdd45e3c713c3ce893a12d6d05a6bd2fc52baa3f9404da673ef434d7d9/pgnotify-0.1.1561372201-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee37c087f0e9e3bbbe84debb257a0888", "sha256": "509dfe42fde26c6eab066698adc679cf026bf6d1a2feea0ed58d77f6c376ce99" }, "downloads": -1, "filename": "pgnotify-0.1.1561372201.tar.gz", "has_sig": false, "md5_digest": "ee37c087f0e9e3bbbe84debb257a0888", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4354, "upload_time": "2019-06-24T10:30:04", "url": "https://files.pythonhosted.org/packages/79/23/01bc239fd97b399373b639a20f04082cb062fb566dd116f953d9c270f2a2/pgnotify-0.1.1561372201.tar.gz" } ] }