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.
https://epcpy-tools.readthedocs.io/en/latest/index.html
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.
python -m unittest discover -s epc/schemes/tests
python setup.py sdist bdist_wheel
twine upload dist/*