Skip to main content

A Simple Python API for 17track.net

Project description

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

Travis CI PyPi Version License Code Coverage Maintainability Say Thanks

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 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:

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

Contributing

  1. Check for open features/bugs or initiate a discussion on one.
  2. Fork the repository.
  3. Install the dev environment: make init.
  4. Enter the virtual environment: pipenv shell
  5. Code your new feature or bug fix.
  6. Write a test that covers your new functionality.
  7. Update README.md with any new documentation.
  8. Run tests and ensure 100% code coverage: make coverage
  9. Ensure you have no linting errors: make lint
  10. Ensure you have no typed your code correctly: make typing
  11. Add yourself to AUTHORS.md.
  12. Submit a pull request!

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

py17track-2.0.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py17track-2.0.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file py17track-2.0.0.tar.gz.

File metadata

  • Download URL: py17track-2.0.0.tar.gz
  • Upload date:
  • Size: 9.1 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

Hashes for py17track-2.0.0.tar.gz
Algorithm Hash digest
SHA256 5201083c6453b94f2f63882a190b4ac1acd09d7fe20796de559becf0038eb7eb
MD5 0970841c07c12e2e8ca0ba6758e9a0b9
BLAKE2b-256 8deb59ecc862adbfa62fe8931792383c4d3c08ae6387686d70fc3b6dc49c675a

See more details on using hashes here.

File details

Details for the file py17track-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: py17track-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 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

Hashes for py17track-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8bbcefdf0fecfe892aa7f7bbfc5d10b609f0b69a4a1b5d1d4ad9c0d9e645983d
MD5 f457d9fb91e87692163b1f263cadf26d
BLAKE2b-256 1ff55e2d2e799405d6c3ca4b4dd06e15d7eb25bbb43e7a5cf6f173556bcc5cc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page