Skip to main content

Usable UPS Integration in Python

Project description

ClassicUPS is an Apache2 Licensed wrapper around the UPS API for creating shipping labels and fetching a package’s tracking status. This library by no means encompasses all of the UPS functionality, but it is suitable for some of the most common shipping-related common tasks.

Features

  • Track delivery status of tracking number

  • Create prepaid shipping labels in GIF or EPL (thermal printer) format

Installation

Installation is easy:

$ pip install ClassicUPS

ClassicUPS depends on libxml2 and libxslt. On Ubuntu, the packages are libxml2-dev and libxslt-dev.

Quickstart

Create a UPSConnection object, which gives you access to common UPS methods:

from ClassicUPS import UPSConnection

# Credentials obtained from the UPS website
ups = UPSConnection(license_number,
                    user_id,
                    password,
                    shipper_number,  # Optional if you are not creating a shipment
                    debug=True)      # Use the UPS sandbox API rather than prod

Check the delivery date of a package.

tracking = ups.tracking_info('1Z12345E0291980793')
print tracking.in_transit
print tracking.delivered

Create shipment and save shipping label as GIF file:

from_addr = {
    'name': 'Google',
    'address1': '1600 Amphitheatre Parkway',
    'city': 'Mountain View',
    'state': 'CA',
    'country': 'US',
    'postal_code': '94043',
    'phone': '6502530000'
}
to_addr = {
    'name': 'President',
    'address1': '1600 Pennsylvania Ave',
    'city': 'Washington',
    'state': 'DC',
    'country': 'US',
    'postal_code': '20500',
    'phone': '2024561111'
}
dimensions = {  # in inches
    'length': 1,
    'width': 4,
    'height': 9
}
weight = 10  # in lbs

# Create the shipment. Use file_format='EPL' for a thermal-printer-compatible EPL
shipment = ups.create_shipment(from_addr, to_addr, dimensions, weight,
                               file_format='GIF')

# Print information about our shipment
print shipment.cost
print shipment.tracking_number

# Save the shipping label to print, email, etc
shipment.save_label(open('label.gif', 'wb'))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ClassicUPS-0.1.8.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

ClassicUPS-0.1.8.linux-x86_64.exe (69.6 kB view details)

Uploaded Source

File details

Details for the file ClassicUPS-0.1.8.tar.gz.

File metadata

  • Download URL: ClassicUPS-0.1.8.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ClassicUPS-0.1.8.tar.gz
Algorithm Hash digest
SHA256 fdfa194b8cbe89814b7dd491210bbf6a964bad01817d87fc64cfc3f743d51942
MD5 77b7b9e70d02ef2a2dbc185e008de991
BLAKE2b-256 5ec48bb6d22f2dd6941be9c5c36633ba18ea23b1999bfd8959f98469a39a04dc

See more details on using hashes here.

Provenance

File details

Details for the file ClassicUPS-0.1.8.linux-x86_64.exe.

File metadata

File hashes

Hashes for ClassicUPS-0.1.8.linux-x86_64.exe
Algorithm Hash digest
SHA256 16738d48055598ee65e30898d69d666ca16453e196e764a0cdf25926818814ec
MD5 77c3408a33414108894443ef731b63bb
BLAKE2b-256 9f6352b616ea7581d40f56846cc9b18cd2e8295ea726762b01eca9da110adb13

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page