Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

command line tool to track packages using gmail api and selenium

Project description

package-track

package-track is an easy to use package tracker that can automate the process of tracking your deliveries and shipments. The release is currently limited to tracking deliveries from USPS, UPS, FEDEX, and other major logistics providers that ship within the United States.

Things to know:

  • When you first run the program, package-track will ask you to grant email access through Gmail. We do not store any of your email information. We have simply built on top of the Gmail API to allow your terminal to have access to your emails. If you don't enable this functionality, the program will not work correctly. The scope and API information is available here: https://developers.google.com/gmail/api/guides.
  • package-track is cobbled together from a bunch of different dependencies. Please ensure that you have them all installed or the program will not work correctly.

Dependencies

For Gmail's API Functionality:

  • pickle, os, google-api-python-client, google-auth-httplib2, google-auth-oauthlib, email, and base64

For Online Searching / Web Scraping:

  • selenium, bs4

For everything else:

  • pandas, csv, re, itertools

Authentication

  • To allow package-track to automatically find tracking numbers from emails you need to set up the Gmail API and authenticate and authorize your application.

Using OAuth Client ID

This is the case where package-track is going to ask the end user (or yourself if you’re running it) to grant access to the user’s data. Here's how to grant access:

  • Enable API Access for a Project if you haven’t done it yet by using this link: https://developers.google.com/gmail/api/quickstart/python.
  • Click "Enable the Gmail API".
  • When prompted to configure your OAuth Client, select "Desktop app" from the dropdown menu.
  • A message will appear telling you that the credentials have been created successfully.
  • Download the credentials by clicking the Download button.
  • Move the downloaded file to ~/.package-track/bin/credentials.json. *Note: The default name for this OAuth client is Quickstart. We recommend changing the name to package-track, but it is by no means necessary for the functionality of the program.

Installation

package-track requires Python v3+ to run.

To install package-track, simply use pip install:

$ pip install package-track

Running package-track

To run package-track, simply open your command line and type in package-track at the prompt line!

Development

Want to contribute? Great!

package-track could definitely use some help. Feel free to email me at idm2114@columbia.edu or send a pull request to the github repository.

Todos

  • Refactor code
  • Add more shipping providers

License

MIT

thank you

Project details


Download files

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

Files for package-track, version 0.2.8
Filename, size File type Python version Upload date Hashes
Filename, size package-track-0.2.8.tar.gz (7.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page