This is an unofficial package for acessing the TravelPerk official Web API from your Python language project. It is designed so you can easily query and retrieve all data hold on their platform and accessible through the API.
This package is hosted on PyPi, you can install it using any python package manager.
$ pip install travelperk-http-python
Before getting started retrieving querying information from the TravelPerk Web API you first need to get an API Key.
For querying the data you need to get a TravelPerk instance, here are two ways to get a TravelPerk API instance depending on how you authenticate with their API.
At TravelPerk there are two ways to authenticate, using an API Key or OAuth2.
If you have an API Key for authenticating you need to call the Service Provider's build
method passing your api key, and a boolean indicating if you will be using the sandbox environment or not like this:
from travelperk_http_python.builder.builder import build
is_sandbox = False
travelperk = build("YOUR_API_KEY", is_sandbox)
Due to time constrains the OAuth authentication flow is not fully implemented so is not supported yet, see this GitHub issue
Everything is ready, you can start asking for the data.
travelperk.expenses().invoices().all()
For further information refer to the documentation linked in the next section.
The full documentation can be found in the wiki section of this github repository. Also you can refer to the official TravelPerk Web API documentation
Any suggestion, bug reports, prs or any other kind enhacements are welcome. Just open an issue first, for creating a PR remember this project has linting checkings and unit tests so any PR should comply with both before beign merged, this checks will be automatically applied when opening or modifying the PRs.
This project comes with a docker-compose.yml
file so if you use Docker and docker-compose you can develop without installing anything on your local environment. Just run docker-compose up --build
for the first time to setup the container and launch the tests. Pytest is configured as the entrypoint so just run docker-compose up
everytime you want the tests to execute on the Dockerized Python development container.