Client library for the Duffel API
Project description
duffel-api
Python client library for the Duffel API.
Requirements
- Python 3.8+
Getting started
pip install duffel-api
Usage
You first need to set the API token you can find in the Duffel dashboard under the section Developers > Access Tokens.
Once you have the token, you can call Duffel()
with the value:
from duffel_api import Duffel
access_token = 'test_...'
client = Duffel(access_token = access_token)
After you have a client you can interact with, you can make calls to the Duffel API:
from duffel_api import Duffel
client = Duffel(access_token = 'test...')
offer_requests = client.offer_requests.list()
for offer_request in offer_requests:
print(offer_request.id)
You can find a complete example of booking a flight in ./examples/book-flight.py.
Development
Testing
Run all the tests:
tox
As part of running tox
, a code coverage report is built for you. You can navigate it by opening htmlcov/index.html
in a browser, or if in a OS that supports it by using open
(alternative xdg-open
):
open ./htmlcov/index.html
Packaging
Setup pypi config (~/.pypirc
):
[pypi]
username = __token__
password = pypi-generated-token
[testpypi]
username = __token__
password = pypi-generated-token
Install dependencies:
pip install wheel twine
Build the package before uploading:
python setup.py sdist bdist_wheel
Upload packages (test):
twine upload -r testpypi --verbose dist/*
The above will upload the packages to test.pypi.org which will allow you to verify all is well with your upload before uploading it to the main pypi repository.
twine upload -r pypi --verbose dist/*
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
Hashes for duffel_api-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 329d3887d71d59491c55c7f24ab1d7e49dd58b4b1940d109dab3a28d82810acd |
|
MD5 | c5495ccb9b24a645fe3aaa079e616d8e |
|
BLAKE2b-256 | b6b462e2a0c26863fa1252e956b33d953d18e668de42e5c816b725d7b37cba61 |