Python-based Linked Data Notifications libraries
January 2, 2021 ยท View on GitHub
Python-based Linked Data Notifications libraries
.. image:: https://github.com/trellis-ldp/py-ldnlib/workflows/Python%20Linked%20Data%20Notifications/badge.svg :target: https://github.com/trellis-ldp/py-ldnlib :alt: Build Status
.. image:: https://badge.fury.io/py/py-ldnlib.svg :target: https://badge.fury.io/py/py-ldnlib :alt: Version
This is an implementation of a python3-based Linked Data Notification <https://www.w3.org/TR/ldn/>_ sender and consumer.
Installing
pip install py-ldnlib
Adding an LDN sender to your code
A simple LDN Sender could be written as:
.. code-block::
import ldnlib
sender = ldnlib.Sender()
inbox = sender.discover(target_resource)
if inbox is not None: sender.send(inbox, data)
The data value may be a string, a dictionary, a list or an rdflib\ -based Graph.
Adding an LDN consumer to your code
A simple LDN Consumer could be written as:
.. code-block::
import ldnlib
consumer = ldnlib.Consumer()
inbox = consumer.discover(target_resource)
if inbox is not None: for iri in consumer.notifications(inbox): // fetch the notification as a Python dictionary notification = consumer.notification(iri)
Authentication
If the target-resource or inbox-resource requires authentication, an auth tuple may be supplied:
.. code-block::
import ldnlib
sender = ldnlib.Sender()
inbox = sender.discover(target_resource, auth=(username, password))
if inbox is not None: sender.send(inbox, data, auth=(username, password))
Maintainer
Aaron Coburn <https://github.com/acoburn>_