py17track 2021.12.2

Last updated:

0 purchases

py17track 2021.12.2 Image
py17track 2021.12.2 Images
Add to Cart

Description:

py17track 2021.12.2

📦 py17track: A Simple Python API for 17track.net







py17track is a simple Python library to track packages in
17track.net accounts.
Since this is uses an unofficial API, there's no guarantee that 17track.net
will provide every field for every package, all the time. Additionally, this
API may stop working at any moment.
Python Versions
py17track is currently supported on:

Python 3.6
Python 3.7
Python 3.8
Python 3.9
Python 3.10

Installation
pip install py17track

Usage
import asyncio

from aiohttp import ClientSession

from py17track import Client


async def main() -> None:
"""Run!"""
client = Client()

# Login to 17track.net:
await client.profile.login('<EMAIL>', '<PASSWORD>')

# Get the account ID:
client.profile.account_id
# >>> 1234567890987654321

# Get a summary of the user's packages:
summary = await client.profile.summary()
# >>> {'In Transit': 3, 'Expired': 3, ... }

# Get all packages associated with a user's account:
packages = await client.profile.packages()
# >>> [py17track.package.Package(..), ...]

# Add new packages by tracking number
await client.profile.add_package('<TRACKING NUMBER>', '<FRIENDLY NAME>')


asyncio.run(main())

By default, the library creates a new connection to 17track with each coroutine. If you
are calling a large number of coroutines (or merely want to squeeze out every second of
runtime savings possible), an
aiohttp ClientSession can be used for connection
pooling:
import asyncio

from aiohttp import ClientSession

from py17track import Client


async def main() -> None:
"""Run!"""
async with ClientSession() as session:
client = Client(session=session)

# ...


asyncio.run(main())

Each Package object has the following info:

destination_country: the country the package was shipped to
friendly_name: the human-friendly name of the package
info: a text description of the latest status
location: the current location (if known)
timestamp: the timestamp of the latest event
origin_country: the country the package was shipped from
package_type: the type of package (if known)
status: the overall package status ("In Transit", "Delivered", etc.)
tracking_info_language: the language of the tracking info
tracking_number: the all-important tracking number

Contributing

Check for open features/bugs
or initiate a discussion on one.
Fork the repository.
(optional, but highly recommended) Create a virtual environment: python3 -m venv .venv
(optional, but highly recommended) Enter the virtual environment: source ./.venv/bin/activate
Install the dev environment: script/setup
Code your new feature or bug fix.
Write tests that cover your new functionality.
Run tests and ensure 100% code coverage: script/test
Update README.md with any new documentation.
Add yourself to AUTHORS.md.
Submit a pull request!

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.