A Simple Python API for 17track.net
Project description
📦 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.5
- Python 3.6
- Python 3.7
However, running the test suite currently requires Python 3.6 or higher; tests run on Python 3.5 will fail.
Installation
pip install py17track
Usage
py17track starts within an
aiohttp ClientSession:
import asyncio
from aiohttp import ClientSession
from py17track import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
# YOUR CODE HERE
asyncio.get_event_loop().run_until_complete(main())
Create a client then get to it:
import asyncio
from aiohttp import ClientSession
from py17track import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
client = Client(websession)
# 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(..), ...]
asyncio.get_event_loop().run_until_complete(main())
Each Package object has the following info:
destination_country: the country the package was shipped toinfo: a text description of the latest statuslocation: the current location (if known)origin_country: the country the package was shipped frompackage_type: the type of package (if known)status: the overall package status ("In Transit", "Delivered", etc.)tracking_info_language: the language of the tracking infotracking_number: the all-important tracking number
Contributing
- Check for open features/bugs or initiate a discussion on one.
- Fork the repository.
- Install the dev environment:
make init. - Enter the virtual environment:
pipenv shell - Code your new feature or bug fix.
- Write a test that covers your new functionality.
- Update
README.mdwith any new documentation. - Run tests and ensure 100% code coverage:
make coverage - Ensure you have no linting errors:
make lint - Ensure you have no typed your code correctly:
make typing - Add yourself to
AUTHORS.md. - Submit a pull request!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py17track-2.0.2.tar.gz.
File metadata
- Download URL: py17track-2.0.2.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6a08a8808c5cc6ec42fa3c31176508769178b0b5a1358018c328c5041ea6116
|
|
| MD5 |
fe7664b4ba6a4ec8b03743699fec0ddb
|
|
| BLAKE2b-256 |
df0648f823d566cb0a9b17f6fb148dcedf1c02bfd659b05deca3a9398a30742e
|
File details
Details for the file py17track-2.0.2-py3-none-any.whl.
File metadata
- Download URL: py17track-2.0.2-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7691cba43b3de82fdf91ace4166eb45f5a403bb9e821b4ebd657075f6a1a2324
|
|
| MD5 |
4a72744de5e9d976f5388f63d6366314
|
|
| BLAKE2b-256 |
9e4eed86176f1018333bb0c8ed0a99f0fbfade92bfbac85423d1825945519de1
|