aftership-sdk-python icon indicating copy to clipboard operation
aftership-sdk-python copied to clipboard

The python SDK of AfterShip API

==================== aftership-sdk-python

.. image:: https://github.com/aftership/aftership-sdk-python/actions/workflows/test.yml/badge.svg?branch=master :target: https://github.com/AfterShip/aftership-sdk-python/actions/workflows/test.yml?query=branch%3Amaster

.. image:: https://coveralls.io/repos/github/AfterShip/aftership-sdk-python/badge.svg?branch=master :target: https://coveralls.io/github/AfterShip/aftership-sdk-python?branch=master

aftership-sdk-python is Python SDK (module) for AfterShip API <https://www.aftership.com/docs/api/4>_. Module provides clean way to access API endpoints.

IMPORTANT NOTE

Current version of aftership-sdk-python >=0.3 not compatible with previous version of sdk <=0.2.

Also, version since 1.0 is not support Python 2.X anymore. If you want to use this SDK under Python 2.X, please use versions <1.0.

Supported Python Versions

  • 3.6
  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • pypy3

Installation

Via pip

Use Virtual Environment

We recommend using a virtualenv <https://docs.python.org/3/library/venv.html>_ or poem <https://python-poetry.org/>_ to use this SDK.

.. code-block:: bash

$ pip install aftership

Via source code

Download the code archive, without unzip it, go to the source root directory, then run:

.. code-block:: bash

$ pip install aftership-sdk-python.zip

Usage

You need a valid API key to use this SDK. If you don't have one, please visit https://www.aftership.com/apps/api.

Quick Start

The following code gets list of supported couriers

.. code-block:: python

import aftership
aftership.api_key = 'YOUR_API_KEY_FROM_AFTERSHIP'
couriers = aftership.courier.list_couriers()

You can also set API key via setting :code:AFTERSHIP_API_KEY environment varaible.

.. code-block:: bash

export AFTERSHIP_API_KEY=THIS_IS_MY_API_KEY

.. code-block:: python

import aftership
tracking = aftership.get_tracking(tracking_id='your_tracking_id')

The functions of the SDK will return data field value if the API endpoints return response with HTTP status :code:2XX, otherwise will throw an exception.

Exceptions

Exceptions are mapped from https://docs.aftership.com/api/4/errors, and this table is the exception attributes mapping.

+------------------+----------------------+ | API error | AfterShipError | +==================+======================+ | http status code | :code:http_status | +------------------+----------------------+ | :code:meta.code| :code:code | +------------------+----------------------+ | :code:meta.type| :code:message | +------------------+----------------------+

Keyword arguments

Most of SDK functions only accept keyword arguments.

Examples

Goto examples <examples>_ to see more examples.