Python async API wrapper for Apaleo Swagger
Project description
Apaleo API Client
Python SDK for the Apaleo API. Provides a type-safe, async client for seamless integration with Apaleo's hospitality platform. Built on Pydantic v2 and httpx. Fast, easy to use, and fully documented.
Help
See documentation for more details.
Features
This SDK is actively under development with the goal of providing full coverage of the Apaleo API Swagger specifications focusing on v1 but with the capability and intention to expand to other versions in the future.
Current status:
- Type-safe abstractions - Full type hints and Pydantic models for implemented resources
- Async/await support - Non-blocking I/O for high-performance applications
- Authentication handling - Built-in support for OAuth 2.0 flows (Client Credentials, Authorization Code)
- Pagination - Smart concurrent batch fetching for large datasets
- Integration-tested - Implemented endpoints validated against a DEV instance
- Documentation-first - Usage examples and docs evolving alongside feature coverage
Installation
Install using pip install -U apaleo-api-client or poetry add apaleo-api-client.
For more installation options to make Apaleo API Client even faster,
see the Installation section in the documentation.
Code Examples
Client Credentials
from apaleoapi import ApaleoAPIClient, OAuth2ClientCredentialsProvider
# Create a token provider with your API credentials
token_provider = OAuth2ClientCredentialsProvider(
client_id="your-client-id",
client_secret="your-client-secret",
service="Apaleo API Client - Client Credentials Flow"
)
# Create an instance of the client
client = ApaleoAPIClient(token_provider=token_provider)
# Fetch a property by its ID
property_berlin = await client.core.v1.inventory.get_property(property_id="BER")
print(property_berlin)
#> Property id=BER name='Berlin Hotel' address='123 Berlin St.'
print(type(property_berlin))
#> <class 'apaleo_api_client.core.v1.inventory.Property'>
print(property_berlin.id)
#> BER
Contributing
For guidance on setting up a development environment and how to make a Contributing to Apaleo API Client.
Reporting a Security Vulnerability
See our security policy.
About the Author
The author has a background in meteorology and hydrology with 10+ years of full-stack web development and 5+ years specializing in Python. Currently working in the hospitality domain and actively integrating with Apaleo APIs, this project began as a way to eliminate repetitive API implementation work and provide Python developers with modern, type-safe Python bindings for the Apaleo API.
This is the author's first library published on PyPI. As a hobby project, support and development pace depend on availability beyond work commitments.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apaleo_api_client-0.1.2.tar.gz.
File metadata
- Download URL: apaleo_api_client-0.1.2.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41cfda3744a4cd83e226ec9d166d6bb7da0963c126a77df8bea0866d17b78239
|
|
| MD5 |
9efff854c2f15a2b831f745f4d3660b4
|
|
| BLAKE2b-256 |
f30e245ba4fe1a5b39e6259e97de2766c986afc2b213f3a03c0b2ae02b34e516
|
Provenance
The following attestation bundles were made for apaleo_api_client-0.1.2.tar.gz:
Publisher:
python-publish.yml on lipppy/apaleo-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apaleo_api_client-0.1.2.tar.gz -
Subject digest:
41cfda3744a4cd83e226ec9d166d6bb7da0963c126a77df8bea0866d17b78239 - Sigstore transparency entry: 1397927953
- Sigstore integration time:
-
Permalink:
lipppy/apaleo-api-client@ca1b40bed42483c4bc013e2ee5f6e09aede8f7fa -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/lipppy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ca1b40bed42483c4bc013e2ee5f6e09aede8f7fa -
Trigger Event:
release
-
Statement type:
File details
Details for the file apaleo_api_client-0.1.2-py3-none-any.whl.
File metadata
- Download URL: apaleo_api_client-0.1.2-py3-none-any.whl
- Upload date:
- Size: 48.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcae9c7e190a034b20c99b5280e7d32a09f4ed7ca3a8b50771512b1216ff7578
|
|
| MD5 |
e97dc57be3e5ab1f62a42dc6ae2ef21d
|
|
| BLAKE2b-256 |
795506fd2324ffab5582477140b9ef69ffa5bd421fd196c44afe8285e1c183e0
|
Provenance
The following attestation bundles were made for apaleo_api_client-0.1.2-py3-none-any.whl:
Publisher:
python-publish.yml on lipppy/apaleo-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apaleo_api_client-0.1.2-py3-none-any.whl -
Subject digest:
bcae9c7e190a034b20c99b5280e7d32a09f4ed7ca3a8b50771512b1216ff7578 - Sigstore transparency entry: 1397927964
- Sigstore integration time:
-
Permalink:
lipppy/apaleo-api-client@ca1b40bed42483c4bc013e2ee5f6e09aede8f7fa -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/lipppy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ca1b40bed42483c4bc013e2ee5f6e09aede8f7fa -
Trigger Event:
release
-
Statement type: