Skip to content

happyleavesaoc/python-myusps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status PyPI version

python-myusps

Python 3 API for USPS Informed Delivery, a way to track packages and mail.

Prerequisites

USPS

Sign up for Informed Delivery and verify your address.

Chrome

Install Google Chrome and Chromedriver. These are dependencies for the Selenium webdriver, which is used internally to this module to facilitate the login process.

Instructions (adapt as necessary for your OS):

Note that installing Selenium Server is not required.

Install

pip install myusps

Usage

import myusps

# Establish a session.
# Use the login credentials you use to login to My USPS via the web.
# A login failure raises a `USPSError`.
session = myusps.get_session("username", "password")

# Get your profile information as a dict. Includes name, address, phone, etc.
profile = myusps.get_profile(session)

# Get all packages that My UPS knows about.
packages = myusps.get_packages(session)

# Get mail delivered on a given day.
import datetime
mail = myusps.get_mail(session, datetime.datetime.now().date())

Caching

Session cookies are cached by default in ./usps_cookies.pickle and will be used if available instead of logging in. If the cookies expire, a new session will be established automatically.

HTTP requests are cached by default in ./usps_cache.sqlite. HTTP caching defaults to 5 minutes and can be turned off by passing cache=False to get_session. The cache expiry can be adjusted with the keyword argument cache_expiry.

Development

Lint

tox

Release

make release

Contributions

Contributions are welcome. Please submit a PR that passes tox.

Disclaimer

Not affiliated with USPS. Does not use USPS Web Tools API. Use at your own risk.