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.7.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for ClassicUPS-0.1.7.tar.gz
Algorithm Hash digest
SHA256 acb34cbd83422416993337930111a29738f7c36092886ca7c5da2c8c929b748f
MD5 993908e6fcae99cc6d7183f3c927b623
BLAKE2b-256 13a4285a16b79dc2d7d39180ca05072e5634f7cf8d739b0b06d2ad047292c910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ClassicUPS-0.1.7.linux-x86_64.exe
Algorithm Hash digest
SHA256 4274642b3f57478e1e8da051f9161499010f1015095455d9ee4e066c1da227ae
MD5 94ac1efe6999b18a0c8467e6f355e139
BLAKE2b-256 51791b2df8941aeebbc7ad15fc5141da1cde467208cde46766389409d2040179

See more details on using hashes here.

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