Skip to content

Library for encoding/decoding and representing GS1 Electronic Product Codes

License

Notifications You must be signed in to change notification settings

AACEngineering/epcpy-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EPC Encoding Utils

Documentation Status

pip install epc-encoding-utils

Library for encoding/decoding and representing GS1 Electronic Product Codes (EPCs). It supports the following encoding schemes:

  • GIAI
  • GID
  • GRAI
  • SGLN
  • SGTIN

The library's goal is to abstract away much of the complexity of converting between tag representations, and make generating tags and barcodes simple.

Docs

https://epcpy-tools.readthedocs.io/en/latest/index.html

Examples

Create a new GID encoded tag

>>> from epc.schemes import GID
>>> tag = GID()
>>> tag.manager_number(31231).object_class(11).serial_number(12)
<epc.schemes.GID urn:epc:id:gid:31231.11.12>

>>> hex(tag)
'0x3500079ff00000b00000000c'

>>> tag.tag_uri
'urn:epc:tag:gid-96:31231.11.12'

Generate GIAI barcode from/to a hexadecimal tag data representation

>>> from epc.schemes import GIAI
>>> tag = GIAI(epc='0x341401388000000000000001')
>>> tag.barcode
'800400200001'

>>> tag.barcode_humanized
'(8004) 0020000 1'

>>> tag = GIAI(barcode='800400200001', company_prefix_length=7)
>>> hex(tag)
'0x341401388000000000000001'

Decode an EPC data tag with unknown encoding

>>> from epc.utils import decode_epc
>>> tag = decode_epc('341401388000000000000001')  # '0x' prefix is optional
>>> print(tag)
<epc.schemes.GIAI urn:epc:id:giai:0020000.1>

This library was built based on the Tag Data Standard v1.11.

Running Tests

python -m unittest discover -s epc/schemes/tests

Deploy To PyPI

python setup.py sdist bdist_wheel
twine upload dist/*