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.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 480173d376924160325a55d0340b65f61626fadc8f912cc7bd9a893e3332a94d |
|
MD5 | 30dbb28b519fcc78176890404dd5e1db |
|
BLAKE2b-256 | 0aca03a1bb52f0b38c76c5bcfb71f09fd7de20f574168b024a7ec05f62e93c5c |