dro
drogher
pypi i drogher
dro

drogher

Identify shippers and valid tracking numbers from package barcodes

by Jason Bittel

0.0.2 (see all)License:BSD
pypi i drogher
Readme

drogher

Identify shippers and valid tracking numbers from package barcodes.

A package barcode string is tested against known shipper barcode types, matching the format and calculating checksum validity to identify the type provided. The module supports these barcode formats:

  • DHL
  • FedEx Express
  • FedEx Ground "96"
  • OnTrac
  • UPS
  • USPS IMpb
  • USPS UPU S10
  • USPS 20

Note: For some shippers the package barcode is the same as the tracking number, while for others the tracking number is a subset of the barcode. Inputting a tracking number instead of a barcode will work in some cases but not others.

Usage

Begin by importing the Drogher module::

import drogher

Now, call the barcode function with a package barcode string::

package = drogher.barcode('1Z999AA10123456784')

That returns a Package subclass containing some useful information::

package.barcode '1Z999AA10123456784' package.shipper 'UPS' package.tracking_number '1Z999AA10123456784'

We can also ensure the package is valid, which tells us the barcode matched an expected format and the calculated checksum matches the check digit::

package.is_valid True

If a barcode cannot be matched with a shipper, the class does not validate and the shipper is None::

package = drogher.barcode('123456') package.is_valid False package.shipper None

For some shippers, the barcode is not the same as the tracking number::

package = drogher.barcode('420221539101026837331000039521') package.barcode '420221539101026837331000039521' package.tracking_number '9101026837331000039521' package.shipper 'USPS'

Changelog

Version 0.0.2

  • Improved pattern match for USPS IMpb barcodes
  • Added support for 20 character USPS barcodes

Version 0.0.1

  • Initial release

GitHub Stars

14

LAST COMMIT

6yrs ago

MAINTAINERS

1

CONTRIBUTORS

1

OPEN ISSUES

0

OPEN PRs

1
VersionTagPublished
0.0.2
6yrs ago
0.0.1
6yrs ago
No alternatives found
No tutorials found
Add a tutorial