Metadata-Version: 2.1
Name: contentful-webhook-receiver
Version: 0.5.0
Summary: A Django package to receive Webhooks from Contentful as signals
Home-page: https://github.com/MarcoGlauser/contentful-webhook-receiver
Author: Marco Glauser
Author-email: github@mglauser.ch
License: MIT
Keywords: contentful-webhook-receiver
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: djangorestframework>=3.0.0
Requires-Dist: django<5.1,>=3.1

=============================
Contentful Webhook Receiver
=============================

.. image:: https://badge.fury.io/py/contentful-webhook-receiver.svg
    :target: https://badge.fury.io/py/contentful-webhook-receiver

.. image:: https://github.com/MarcoGlauser/contentful-webhook-receiver/actions/workflows/ci.yml/badge.svg
    :target: https://github.com/MarcoGlauser/contentful-webhook-receiver/actions/workflows/ci.yml

.. image:: https://codecov.io/gh/MarcoGlauser/contentful-webhook-receiver/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/MarcoGlauser/contentful-webhook-receiver

A Django package to receive Webhooks from Contentful as signals

Documentation
-------------

The full documentation is at https://contentful-webhook-receiver.readthedocs.io.

Quickstart
----------

Install Contentful Webhook Receiver::

    pip install contentful-webhook-receiver

Add it to your `INSTALLED_APPS`:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'contentful_webhook_receiver.apps.ContentfulWebhookReceiverConfig',
        ...
    )

Add Contentful Webhook Receiver's URL patterns:

.. code-block:: python

    from contentful_webhook_receiver import urls as contentful_webhook_receiver_urls


    urlpatterns = [
        ...
        path(r'^', include(contentful_webhook_receiver_urls)),
        ...
    ]


Listen for the Contentful Webhook Receiver signal:

.. code-block:: python

    @receiver(contentful_publish_entry)
    def entry_published(sender, instance: WebhookInvocation, **kwargs):
        print(instance.data['sys']['content_type']['id'])

Register a Webhook on Contentful:

The path added to the urlpatterns is `contentful-webhook/`.
If you're adding it to the root url configuration the path will be `https://example.com/contentful-webook/`


Features
--------

* TODO

Running Tests
-------------

Does the code actually work?

::

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ pip install tox
    (myenv) $ tox


Development commands
---------------------

::

    pip install -r requirements_dev.txt
    invoke -l


Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
-------

0.5.0 (2023-12-07)
++++++++++++++++++
* Add Django 5.0 compatibility
* Add Python 3.12 compatibility

0.4.0 (2022-12-21)
++++++++++++++++++

* Deprecate Django 3.1 compatibility
* Add option to not log contentful webhook invocations with the `LOG_CONTENTFUL_WEBHOOKS` setting

0.3.0 (2022-06-04)
++++++++++++++++++

* Add Django 4.0 compatibility

0.2.0 (2021-02-16)
++++++++++++++++++

* Change receiver url from hook/ to contentful-webhook/

0.1.0 (2021-02-15)
++++++++++++++++++

* First release on PyPI.
