Python implementation of the Pakkelabels.dk php package for interacting with the Pakkelabels.dk web service. For documentation on usage and the methods, see the documentation here.
The package and tests are all compatible with Python 2 and 3. And are tested on Python 2.7, 3.4 and 3.5.
Easiest way is to install the package using pip:
pip install Pykkelabels
Alternatively, download the repository from github and put the Pykkelabels folder into your project folder.
Import the package and accompanying exceptions using:
from pykkelabels import Pykkelabels, ConnError, PageError
The first thing required is to login:
label = Pykkelabels('api_user', 'api_key')
This will login and fetch the required token. The token is then automatically added to any subsequent calls.
To see the generated token you can use:
print(label.getToken())
Get all Post Danmark labels shipped to Denmark:
labels = label.shipments({'shipping_agent': 'pdk', 'receiver_country': 'DK'})
Get the PDF for a specific label:
import base64
base64 = label.pdf(31629)
pdf = base64.b64decode(base64)
If there is problems with the connectivity to the server, or if the returned data is not parsable, a ConnError is raised. If the server returns an error a PageError exception is raised, with a message containing the error message from the server.
See the github guide to contributing here.
- v0.1: First working release. Most of the functionality is still untested.
- v0.1.1: Added unittests to the methods where it is possible
- v0.1.2: Prepared pypi release
- v0.1.3: Added better error handling, and added custom exception. Added testing for bad inputs. Implemented better test of pdf generation.
- v0.1.4: Removed unwanted files from pypi release
- v1.0.0: Made the package compatible with Python 2 and 3. Renamed exception.
- v1.1.0: Better error handling
- v1.1.1: Sets user_agent
Python package by Anders Winther Brandt
Original PHP module by Pakkelabels.dk
Tweaks from Jan Christensen from Pakkelabels.dk
MIT, see LICENSE file