EPCPyYes


NameEPCPyYes JSON
Version 4.0.3 PyPI version JSON
download
home_pagehttps://gitlab.com/serial-lab/EPCPyYes
SummaryEPCIS Python module for quickly developing EPCIS-enabled applications.
upload_time2024-02-25 18:00:45
maintainerNone
docs_urlNone
authorRob Magee
requires_pythonNone
licenseGNU Affero General Public License v3
keywords epcpyyes epcis gs1 rfid serialization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            EPCPYYes
========
.. image:: https://gitlab.com/serial-lab/EPCPyYes/badges/master/coverage.svg
   :target: https://gitlab.com/serial-lab/EPCPyYes/pipelines
.. image:: https://gitlab.com/serial-lab/EPCPyYes/badges/master/pipeline.svg
   :target: https://gitlab.com/serial-lab/EPCPyYes/commits/master
.. image:: https://badge.fury.io/py/EPCPyYes.svg
    :target: https://badge.fury.io/py/EPCPyYes

.. code-block::

    8888888888 8888888b.   .d8888b.  8888888b.        Y88b   d88P
    888        888   Y88b d88P  Y88b 888   Y88b        Y88b d88P
    888        888    888 888    888 888    888         Y88o88P
    8888888    888   d88P 888        888   d88P 888  888 Y888P  .d88b.  .d8888b
    888        8888888P"  888        8888888P"  888  888  888  d8P  Y8b 88K
    888        888        888    888 888        888  888  888  88888888 "Y8888b.
    888        888        Y88b  d88P 888        Y88b 888  888  Y8b.          X88
    8888888888 888         "Y8888P"  888         "Y88888  888   "Y8888   88888P'
                                                     888
                                                Y8b d88P
                                                 "Y88P"

Pronounced "EPC-Pie-Yes": Open source components for the GS1 EPCIS standard
===========================================================================

A foundational component of the QU4RTET open-source EPCIS platform.

For more info on this and other QU4RTET components,
visit http://serial-lab.com

The main
purpose of this library is to allow developers to quickly build systems that
parse, generate and store EPCIS data quickly and efficiently with a clear
and straight-forward pythonic API.

Python to EPCIS XML or JSON
---------------------------
Work with python classes that take the pain out of knowing the EPCIS protocol.
Each class in the EPCPyYes package can be directly manipulated in python and 
then quickly rendered to EPCIS 1.2 compliant XML or JSON for any number
of purposes.  For example:

.. code-block:: text

    # for example, create an ObjectEvent
    oe = ObjectEvent(now, tzoffset,
                     record_time=now,
                     action=Action.add.value,
                     epc_list=epcs,
                     biz_step=BusinessSteps.commissioning.value,
                     disposition=Disposition.encoded.value)
    
    # Create EPCIS 1.2 compliant XML
    print(oe.render())
    
    # Render as JSON
    print(oe.render_json())
    
    # Render as pretty printed JSON
    print(oe.render_pretty_json()


Fully Tested
------------
See our code-coverage and continuous integration builds for the coverage
build artifacts and build/test results.  You can download the code coverage
build artifacts on the
`Pipelines Page <https://gitlab.com/serial-lab/EPCPyYes/pipelines>`_.
by clicking on the download button to the right of the build you are
interested in.


Fully Documented
----------------
The documentation to the EPCPyYes module can be found here:

https://serial-lab.gitlab.io/EPCPyYes/index.html

Jupyter Notebook:
=================
The Jupyter notebook with running example code is included in the documentation
and can be found here:

https://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.ipynb

If you don't have a notebook, you can view the Jupyter example documentation
here:
https://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.md

Jinja2 Templates for Creating and Transforming EPCIS Docs and Events
--------------------------------------------------------------------
The templates package contains Jinja2 templates for generating EPCIS documents
from either discrete EPCIS classes defined in the core package or from collections
of those classes- which allow for the creation of EPCISDocuments with
multiple types of events.  You can change the default behavior of any 
EPCIS class in the framework by passing in a different Jinja2 template when
initializing the class- allowing EPCIS objects to be rendered into just about 
any native or custom format imaginable.  Modifying the default Jinja2
environment can allow the entire package to utilize a different set of 
default templates altogether.

Core Classes
------------
The core library consists of Python classes representing the key EPCIS events:

- EPCISEvent
- ObjectEvent
- AggregationEvent
- TransactionEvent
- TransformationEvent

    Quantity events, as they are being deprecated,
    are not supported right now If you're interested in 
    helping out with this please contact us.
    
Each of the classes in the core library are used throughout the package but 
can be useful to developers in building other applications outside of the
scope of this package.

Helpers
-------

Utilities that help you:
************************

- Quickly generate lists of SGTIN or SSCC URN values by a range of serial numbers.
- Quickly serialize python EPCIS classes into valid EPCIS XML and back.
- ...and More.

CBV 1.2 Type Support and Utilities
----------------------------------
Utilities that help with the generation of CBV compliant data and also
give you code completion while developing CBV compliant EPCIS apps.  We took 
out all the fishery stuff since there are only so many hours in the day.  If
anyone is interested in adding and/or supporting it please contact us.

For example:

.. code-block:: text

    from EPCPyYes.core.v1_2.CBV.dispositions import Disposition
    print(Disposition.commissioning.value)
    urn:epcglobal:cbv:bizstep:commissioning
            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/serial-lab/EPCPyYes",
    "name": "EPCPyYes",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "EPCPyYes EPCIS GS1 RFID Serialization",
    "author": "Rob Magee",
    "author_email": "slab@serial-lab.com",
    "download_url": "https://files.pythonhosted.org/packages/8c/24/51bd1f2907b3affcfb571ffac7c14001be55fccbabb71e0fa1199112832b/EPCPyYes-4.0.3.tar.gz",
    "platform": null,
    "description": "EPCPYYes\n========\n.. image:: https://gitlab.com/serial-lab/EPCPyYes/badges/master/coverage.svg\n   :target: https://gitlab.com/serial-lab/EPCPyYes/pipelines\n.. image:: https://gitlab.com/serial-lab/EPCPyYes/badges/master/pipeline.svg\n   :target: https://gitlab.com/serial-lab/EPCPyYes/commits/master\n.. image:: https://badge.fury.io/py/EPCPyYes.svg\n    :target: https://badge.fury.io/py/EPCPyYes\n\n.. code-block::\n\n    8888888888 8888888b.   .d8888b.  8888888b.        Y88b   d88P\n    888        888   Y88b d88P  Y88b 888   Y88b        Y88b d88P\n    888        888    888 888    888 888    888         Y88o88P\n    8888888    888   d88P 888        888   d88P 888  888 Y888P  .d88b.  .d8888b\n    888        8888888P\"  888        8888888P\"  888  888  888  d8P  Y8b 88K\n    888        888        888    888 888        888  888  888  88888888 \"Y8888b.\n    888        888        Y88b  d88P 888        Y88b 888  888  Y8b.          X88\n    8888888888 888         \"Y8888P\"  888         \"Y88888  888   \"Y8888   88888P'\n                                                     888\n                                                Y8b d88P\n                                                 \"Y88P\"\n\nPronounced \"EPC-Pie-Yes\": Open source components for the GS1 EPCIS standard\n===========================================================================\n\nA foundational component of the QU4RTET open-source EPCIS platform.\n\nFor more info on this and other QU4RTET components,\nvisit http://serial-lab.com\n\nThe main\npurpose of this library is to allow developers to quickly build systems that\nparse, generate and store EPCIS data quickly and efficiently with a clear\nand straight-forward pythonic API.\n\nPython to EPCIS XML or JSON\n---------------------------\nWork with python classes that take the pain out of knowing the EPCIS protocol.\nEach class in the EPCPyYes package can be directly manipulated in python and \nthen quickly rendered to EPCIS 1.2 compliant XML or JSON for any number\nof purposes.  For example:\n\n.. code-block:: text\n\n    # for example, create an ObjectEvent\n    oe = ObjectEvent(now, tzoffset,\n                     record_time=now,\n                     action=Action.add.value,\n                     epc_list=epcs,\n                     biz_step=BusinessSteps.commissioning.value,\n                     disposition=Disposition.encoded.value)\n    \n    # Create EPCIS 1.2 compliant XML\n    print(oe.render())\n    \n    # Render as JSON\n    print(oe.render_json())\n    \n    # Render as pretty printed JSON\n    print(oe.render_pretty_json()\n\n\nFully Tested\n------------\nSee our code-coverage and continuous integration builds for the coverage\nbuild artifacts and build/test results.  You can download the code coverage\nbuild artifacts on the\n`Pipelines Page <https://gitlab.com/serial-lab/EPCPyYes/pipelines>`_.\nby clicking on the download button to the right of the build you are\ninterested in.\n\n\nFully Documented\n----------------\nThe documentation to the EPCPyYes module can be found here:\n\nhttps://serial-lab.gitlab.io/EPCPyYes/index.html\n\nJupyter Notebook:\n=================\nThe Jupyter notebook with running example code is included in the documentation\nand can be found here:\n\nhttps://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.ipynb\n\nIf you don't have a notebook, you can view the Jupyter example documentation\nhere:\nhttps://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.md\n\nJinja2 Templates for Creating and Transforming EPCIS Docs and Events\n--------------------------------------------------------------------\nThe templates package contains Jinja2 templates for generating EPCIS documents\nfrom either discrete EPCIS classes defined in the core package or from collections\nof those classes- which allow for the creation of EPCISDocuments with\nmultiple types of events.  You can change the default behavior of any \nEPCIS class in the framework by passing in a different Jinja2 template when\ninitializing the class- allowing EPCIS objects to be rendered into just about \nany native or custom format imaginable.  Modifying the default Jinja2\nenvironment can allow the entire package to utilize a different set of \ndefault templates altogether.\n\nCore Classes\n------------\nThe core library consists of Python classes representing the key EPCIS events:\n\n- EPCISEvent\n- ObjectEvent\n- AggregationEvent\n- TransactionEvent\n- TransformationEvent\n\n    Quantity events, as they are being deprecated,\n    are not supported right now If you're interested in \n    helping out with this please contact us.\n    \nEach of the classes in the core library are used throughout the package but \ncan be useful to developers in building other applications outside of the\nscope of this package.\n\nHelpers\n-------\n\nUtilities that help you:\n************************\n\n- Quickly generate lists of SGTIN or SSCC URN values by a range of serial numbers.\n- Quickly serialize python EPCIS classes into valid EPCIS XML and back.\n- ...and More.\n\nCBV 1.2 Type Support and Utilities\n----------------------------------\nUtilities that help with the generation of CBV compliant data and also\ngive you code completion while developing CBV compliant EPCIS apps.  We took \nout all the fishery stuff since there are only so many hours in the day.  If\nanyone is interested in adding and/or supporting it please contact us.\n\nFor example:\n\n.. code-block:: text\n\n    from EPCPyYes.core.v1_2.CBV.dispositions import Disposition\n    print(Disposition.commissioning.value)\n    urn:epcglobal:cbv:bizstep:commissioning",
    "bugtrack_url": null,
    "license": "GNU Affero General Public License v3",
    "summary": "EPCIS Python module for quickly developing EPCIS-enabled applications.",
    "version": "4.0.3",
    "project_urls": {
        "Homepage": "https://gitlab.com/serial-lab/EPCPyYes"
    },
    "split_keywords": [
        "epcpyyes",
        "epcis",
        "gs1",
        "rfid",
        "serialization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5070eb700419a7ee77c1ebec58719a2c581393d22e976e587c8b795097cb59a",
                "md5": "1963476f6e27e12a591269fe776d1af8",
                "sha256": "8f4a09e073d164df032e0aea167a3f128fce5664dc888a67d441fbe48a24d3c9"
            },
            "downloads": -1,
            "filename": "EPCPyYes-4.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1963476f6e27e12a591269fe776d1af8",
            "packagetype": "bdist_wheel",
            "python_version": "3.6",
            "requires_python": null,
            "size": 104899,
            "upload_time": "2024-02-25T18:00:46",
            "upload_time_iso_8601": "2024-02-25T18:00:46.652416Z",
            "url": "https://files.pythonhosted.org/packages/e5/07/0eb700419a7ee77c1ebec58719a2c581393d22e976e587c8b795097cb59a/EPCPyYes-4.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c2451bd1f2907b3affcfb571ffac7c14001be55fccbabb71e0fa1199112832b",
                "md5": "fa90c30d01f207a97263e218ee6b9c1f",
                "sha256": "48954621e1232109e72d34ce79bcb1e2bbf30d240133cbcf595a9159b02e8429"
            },
            "downloads": -1,
            "filename": "EPCPyYes-4.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "fa90c30d01f207a97263e218ee6b9c1f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 93464,
            "upload_time": "2024-02-25T18:00:45",
            "upload_time_iso_8601": "2024-02-25T18:00:45.103554Z",
            "url": "https://files.pythonhosted.org/packages/8c/24/51bd1f2907b3affcfb571ffac7c14001be55fccbabb71e0fa1199112832b/EPCPyYes-4.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-25 18:00:45",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "serial-lab",
    "gitlab_project": "EPCPyYes",
    "lcname": "epcpyyes"
}
        
Elapsed time: 0.28132s