Skip to main content

Shipping API Python library (USPS, FedEx, UPS and more)

Project description

Shippo API Python wrapper


This is not maintained by Shippo. Instead, this is a community maintained fork because for some reason Shippo decided to abandon their Python SDK

Shippo is a shipping API that connects you with multiple shipping carriers (such as USPS, UPS, DHL, Canada Post, Australia Post, UberRUSH and many others) through one interface.

Print a shipping label in 10 mins using our default USPS and DHL Express accounts. No need to register for a carrier account to get started.

You will first need to register for a Shippo account to use our API. It's free to sign up, free to use the API. Only pay to print a live label, test labels are free.

Migrating to V2

Configuration

Configurable variables previously available in the main module (ex: shippo.api_key) have been moved to the shippo.config module.

import shippo

shippo.config.api_key = "<API-KEY>"
shippo.config.api_version = "2018-02-08"
shippo.config.verify_ssl_certs = True
shippo.config.rates_req_timeout = 30.0
shippo.config.timeout_in_seconds = None 
# default timeout set in the above line is:
# 80 seconds for RequestsClient
# 55 seconds for UrlFetchClient
shippo.config.app_name = "Name of your Application" # Not required
shippo.config.app_version = "Version of Application" # Not required

How do I get set up?

To install from the source file:

#!shell
python setup.py install

or pip (https://pip.pypa.io/en/latest/index.html):

#!shell
sudo pip install shippo3

To test:

Set your SHIPPO_API_KEY as an environment variable. e.g. on OSX:

export SHIPPO_API_KEY="<MY-API-KEY>"

Optionally, set your APP_NAME and APP_VERSION as environment variables, e.g.:

export APP_NAME=MyAwesomeApp
export APP_VERSION=1.0.0

Run the test with the following command:

#!shell
python setup.py test --test-suite=shippo

Using the API:

import shippo
shippo.config.api_key = "<API-KEY>"

address1 = shippo.Address.create(
    name='John Smith',
    street1='6512 Greene Rd.',
    street2='',
    company='Initech',
    phone='+1 234 346 7333',
    city='Woodridge',
    state='IL',
    zip='60517',
    country='US',
    metadata='Customer ID 123456'
)

print 'Success with Address 1 : %r' % (address1, )

We've created a number of examples to cover the most common use cases. You can find the sample code files in the examples folder. Some of the use cases we covered include:

Documentation

Please see https://goshippo.com/docs for complete up-to-date documentation.

About Shippo

Connect with multiple different carriers, get discounted shipping labels, track parcels, and much more with just one integration. You can use your own carrier accounts or take advantage of our discounted rates with the USPS and DHL Express. Using Shippo makes it easy to deal with multiple carrier integrations, rate shopping, tracking and other parts of the shipping workflow. We provide the API and dashboard for all your shipping needs.

Supported Features

The Shippo API provides in depth support of carrier and shipping functionalities. Here are just some of the features we support through the API:

  • Shipping rates & labels - Docs
  • Shippo Invoices and Invoice Items
  • Shippo Address Book and Address Parsing
  • Tracking for any shipment with just the tracking number - Docs
  • Batch label generation - Docs
  • Multi-piece shipments - Docs
  • Manifests and SCAN forms - Docs
  • Customs declaration and commercial invoicing - Docs
  • Address verification - Docs
  • Consolidator support including: _ DHL eCommerce _ UPS Mail Innovations * FedEx Smartpost
  • Additional services: cash-on-delivery, certified mail, delivery confirmation, and more - Docs

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

shippo3-3.0.2.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

shippo3-3.0.2-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file shippo3-3.0.2.tar.gz.

File metadata

  • Download URL: shippo3-3.0.2.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.2

File hashes

Hashes for shippo3-3.0.2.tar.gz
Algorithm Hash digest
SHA256 2847bc978f66a3a92ea5e30e7ebd3ec6f6ee4cbf6110f7979aef3885480d732d
MD5 348ba8e294ba04213d6e210b99124470
BLAKE2b-256 4732150b9246b2391e48f3f010e50b1566af2b67e32c63c595cb0fd07a4bfdc2

See more details on using hashes here.

File details

Details for the file shippo3-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: shippo3-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.2

File hashes

Hashes for shippo3-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 12baffbc22a974c3fc51e5e71d67f5168e965d0ab81d8af12563c54a79a98833
MD5 4a92be3ee67f03ab0576e6ad4cf5ea87
BLAKE2b-256 b2abc739db04dc3a2831a6ae4aff2707cc6bf6e1035ab69e06378656ac2ac1ee

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