quartet_output


Namequartet_output JSON
Version 4.0.0 PyPI version JSON
download
home_pagehttps://gitlab.com/serial-lab/quartet_output
SummaryOutput logic for QU4RTET supply chain messaging.
upload_time2024-02-21 00:25:44
maintainerNone
docs_urlNone
authorRob Magee
requires_pythonNone
licenseMIT
keywords quartet_output
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =============================
QU4RTET OUTPUT
=============================

.. image:: https://gitlab.com/serial-lab/quartet_output/badges/master/coverage.svg
   :target: https://gitlab.com/serial-lab/quartet_output/pipelines
.. image:: https://gitlab.com/serial-lab/quartet_output/badges/master/pipeline.svg
   :target: https://gitlab.com/serial-lab/quartet_output/-/commits/master
.. image:: https://badge.fury.io/py/quartet_output.svg
    :target: https://badge.fury.io/py/quartet_output


Output Rules and logic for the QU4RTET open-source EPCIS / Level-4 
supply chain and trading-partner messaging framework.

Intro
-----
The `quartet_output` module is responsible for inspecting inbound messages
and, based on criteria defined by users, singling out some of those messages
for further processing.  Once a message has been filtered, it is typically
used to create a new message from some existing EPCIS data or to simply
create a new message using the same data with the intent of sending that
message to another system.

Criteria
--------
The `quartet_output` module allows users to define *EPCIS Output Criteria*
definitions.  These definitions allow users to instruct the module to look
at inbound EPCIS events and look for events that meet certain selection
criteria.  For example, users can define criteria that would inspect all
inbound *Transaction Events* of action *ADD* from a specific *bizLocation*
with a *Purchase Order* business transaction attached.  Once an event
arrives meeting these criteria, the system allows a user to use that event
to trigger the generation of a shipping event along with all of the serial
numbers for the epcs specified in the triggering event.  Other scenarios are
possible as well and, of course, users can implement *Rules* and *Steps* of
their own that do just about anything once an inbound event has been filtered.

Transport
---------
`quartet_output` allows users to configure transport configurations using
both `EndPoint` and `AuthenticationInfo` database models.  These models are
attached to the criteria that filter EPCIS events and allow the user to
specify where messages should be sent once an event has been filtered and
has triggered any outbound processing logic.

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

The full documentation is located here:

https://serial-lab.gitlab.io/quartet_output

Quickstart
----------

Install quartet_output

.. code-block:: text

    pip install quartet_output

Add it to your `INSTALLED_APPS`:

.. code-block:: text

    INSTALLED_APPS = (
        ...
        'quartet_output.apps.QuartetOutputConfig',
        ...
    )

Add quartet_output's URL patterns:

.. code-block:: text

    from quartet_output import urls as quartet_output_urls


    urlpatterns = [
        ...
        url(r'^', include(quartet_output_urls)),
        ...
    ]

Features
--------

* Output determination allows you to create filters on inbound EPCIS data
  and determine which inbound EPCIS events trigger outbound business messaging.

* Define HTTP and HTTPS end points for trading partners.

* Define various authentication schemes for external end points.

* Outbound messages take advantage of the `quartet_capture` rule engine by
  creating a new outbound task for every message.  This puts every outbound
  task on the Celery Task Queue- allowing you to scale your outbound messaging
  to your liking.


Running The Unit Tests
----------------------

.. code-block:: text

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


            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/serial-lab/quartet_output",
    "name": "quartet_output",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "quartet_output",
    "author": "Rob Magee",
    "author_email": "slab@serial-lab.com",
    "download_url": "https://files.pythonhosted.org/packages/a3/4e/022919c14c9afb3d398c78d90c299a6070dd08c35566ed6372f7021dca31/quartet_output-4.0.0.tar.gz",
    "platform": null,
    "description": "=============================\nQU4RTET OUTPUT\n=============================\n\n.. image:: https://gitlab.com/serial-lab/quartet_output/badges/master/coverage.svg\n   :target: https://gitlab.com/serial-lab/quartet_output/pipelines\n.. image:: https://gitlab.com/serial-lab/quartet_output/badges/master/pipeline.svg\n   :target: https://gitlab.com/serial-lab/quartet_output/-/commits/master\n.. image:: https://badge.fury.io/py/quartet_output.svg\n    :target: https://badge.fury.io/py/quartet_output\n\n\nOutput Rules and logic for the QU4RTET open-source EPCIS / Level-4 \nsupply chain and trading-partner messaging framework.\n\nIntro\n-----\nThe `quartet_output` module is responsible for inspecting inbound messages\nand, based on criteria defined by users, singling out some of those messages\nfor further processing.  Once a message has been filtered, it is typically\nused to create a new message from some existing EPCIS data or to simply\ncreate a new message using the same data with the intent of sending that\nmessage to another system.\n\nCriteria\n--------\nThe `quartet_output` module allows users to define *EPCIS Output Criteria*\ndefinitions.  These definitions allow users to instruct the module to look\nat inbound EPCIS events and look for events that meet certain selection\ncriteria.  For example, users can define criteria that would inspect all\ninbound *Transaction Events* of action *ADD* from a specific *bizLocation*\nwith a *Purchase Order* business transaction attached.  Once an event\narrives meeting these criteria, the system allows a user to use that event\nto trigger the generation of a shipping event along with all of the serial\nnumbers for the epcs specified in the triggering event.  Other scenarios are\npossible as well and, of course, users can implement *Rules* and *Steps* of\ntheir own that do just about anything once an inbound event has been filtered.\n\nTransport\n---------\n`quartet_output` allows users to configure transport configurations using\nboth `EndPoint` and `AuthenticationInfo` database models.  These models are\nattached to the criteria that filter EPCIS events and allow the user to\nspecify where messages should be sent once an event has been filtered and\nhas triggered any outbound processing logic.\n\nDocumentation\n-------------\n\nThe full documentation is located here:\n\nhttps://serial-lab.gitlab.io/quartet_output\n\nQuickstart\n----------\n\nInstall quartet_output\n\n.. code-block:: text\n\n    pip install quartet_output\n\nAdd it to your `INSTALLED_APPS`:\n\n.. code-block:: text\n\n    INSTALLED_APPS = (\n        ...\n        'quartet_output.apps.QuartetOutputConfig',\n        ...\n    )\n\nAdd quartet_output's URL patterns:\n\n.. code-block:: text\n\n    from quartet_output import urls as quartet_output_urls\n\n\n    urlpatterns = [\n        ...\n        url(r'^', include(quartet_output_urls)),\n        ...\n    ]\n\nFeatures\n--------\n\n* Output determination allows you to create filters on inbound EPCIS data\n  and determine which inbound EPCIS events trigger outbound business messaging.\n\n* Define HTTP and HTTPS end points for trading partners.\n\n* Define various authentication schemes for external end points.\n\n* Outbound messages take advantage of the `quartet_capture` rule engine by\n  creating a new outbound task for every message.  This puts every outbound\n  task on the Celery Task Queue- allowing you to scale your outbound messaging\n  to your liking.\n\n\nRunning The Unit Tests\n----------------------\n\n.. code-block:: text\n\n    source <YOURVIRTUALENV>/bin/activate\n    (myenv) $ pip install tox\n    (myenv) $ tox\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Output logic for QU4RTET supply chain messaging.",
    "version": "4.0.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/serial-lab/quartet_output"
    },
    "split_keywords": [
        "quartet_output"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f6e1d5326792eb964884e3d7e6ff011221076834547f87a839a9f8cfd5b8531",
                "md5": "8cd5e41fa63dd41f3b2307024628a3dc",
                "sha256": "c6c88842439b46a0d377ed3e674e361933258b10a8c1b73ff083a5b09e5bfd34"
            },
            "downloads": -1,
            "filename": "quartet_output-4.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8cd5e41fa63dd41f3b2307024628a3dc",
            "packagetype": "bdist_wheel",
            "python_version": "3.6",
            "requires_python": null,
            "size": 66212,
            "upload_time": "2024-02-21T00:25:46",
            "upload_time_iso_8601": "2024-02-21T00:25:46.793920Z",
            "url": "https://files.pythonhosted.org/packages/2f/6e/1d5326792eb964884e3d7e6ff011221076834547f87a839a9f8cfd5b8531/quartet_output-4.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a34e022919c14c9afb3d398c78d90c299a6070dd08c35566ed6372f7021dca31",
                "md5": "2e86901cd2ef12f857f3b9bd036f1b78",
                "sha256": "cf4fef8555ae2515b639fa379dec4f8b0782826c3339722e35d9f096d804bb3b"
            },
            "downloads": -1,
            "filename": "quartet_output-4.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2e86901cd2ef12f857f3b9bd036f1b78",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 48179,
            "upload_time": "2024-02-21T00:25:44",
            "upload_time_iso_8601": "2024-02-21T00:25:44.906722Z",
            "url": "https://files.pythonhosted.org/packages/a3/4e/022919c14c9afb3d398c78d90c299a6070dd08c35566ed6372f7021dca31/quartet_output-4.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-21 00:25:44",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "serial-lab",
    "gitlab_project": "quartet_output",
    "lcname": "quartet_output"
}
        
Elapsed time: 0.27176s