Skip to main content

asyncpg-listen

This library simplifies usage of listen/notify with asyncpg:

  1. Handles loss of a connection
  2. Simplifies notifications processing from multiple channels
  3. Setups a timeout for receiving a notification
  4. Allows to receive all notifications/only last notification depending on ListenPolicy.
import asyncio
import asyncpg
import asyncpg_listen


async def handle_notifications(notification: asyncpg_listen.NotificationOrTimeout) -> None:
    print(f"{notification} has been received")


async def main():
    listener = asyncpg_listen.NotificationListener(asyncpg_listen.connect_func(user="postgres"))
    listener_task = asyncio.create_task(
        listener.run(
            {"simple": handle_notifications},
            policy=asyncpg_listen.ListenPolicy.LAST,
            notification_timeout=5
        )
    )

    await asyncio.sleep(1)

    connection = await asyncpg.connect(user="postgres")
    try:
        for i in range(42):
            await connection.execute(f"NOTIFY simple, '{i}'")
    finally:
        await connection.close()

    await asyncio.sleep(1)

    listener_task.cancel()


asyncio.run(main())

v0.0.9 (2025-07-16)

SELECT 1 only if we haven't seen any events

No need to wait for a connection closure

v0.0.8 (2025-05-25)

  • Support python 3.13

v0.0.7 (2024-09-07)

v0.0.6 (2022-11-02)

v0.0.5 (2022-05-23)

v0.0.4 (2022-01-24)

v0.0.3 (2022-01-23)

v0.0.2 (2021-11-02)

v0.0.1 (2021-10-27)

  • A first version

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asyncpg-listen-0.0.9.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asyncpg_listen-0.0.9-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file asyncpg-listen-0.0.9.tar.gz.

File metadata

  • Download URL: asyncpg-listen-0.0.9.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for asyncpg-listen-0.0.9.tar.gz
Algorithm Hash digest
SHA256 f94c4752f7ca1077eaaad0fa2c08fcef4990eaae81a61c423683a722ca3f3a33
MD5 9c1cfe910361e7e2e3e0e0f6b622aa76
BLAKE2b-256 31d70491b438a8d97128e52441d5dc09c4a975b662da8e05da53974146fce939

See more details on using hashes here.

File details

Details for the file asyncpg_listen-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: asyncpg_listen-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for asyncpg_listen-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 44a4fe25a589de71bb8822aa3db6dde6e32d7f95c8e6b674be037473ca1f2775
MD5 76d3476a09888c8c9b9ce1aaa5b38d31
BLAKE2b-256 e5215fe6b94db1f34d84590c7e997d76d11d11af87c6f4048dfd6f4c97325e4f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.9 This release

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page