Warning
This client library is not currently being supported by Duffel due to a lack of adoption.
You're welcome to fork the repositories and continue maintaining them for your own use.
If, in the future, there's sufficient demand for a particular client library, we'll reconsider our decision to officially support it.
Python client library for the Duffel API.
- Python 3.8+
pip install duffel-api
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.
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
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/*