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 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 to
  • info: a text description of the latest status
  • location: the current location (if known)
  • 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

  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.2.tar.gz (9.2 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.2-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

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

Hashes for py17track-2.0.2.tar.gz
Algorithm Hash digest
SHA256 d6a08a8808c5cc6ec42fa3c31176508769178b0b5a1358018c328c5041ea6116
MD5 fe7664b4ba6a4ec8b03743699fec0ddb
BLAKE2b-256 df0648f823d566cb0a9b17f6fb148dcedf1c02bfd659b05deca3a9398a30742e

See more details on using hashes here.

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

Hashes for py17track-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7691cba43b3de82fdf91ace4166eb45f5a403bb9e821b4ebd657075f6a1a2324
MD5 4a72744de5e9d976f5388f63d6366314
BLAKE2b-256 9e4eed86176f1018333bb0c8ed0a99f0fbfade92bfbac85423d1825945519de1

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