Skip to main content

Python async API wrapper for Apaleo Swagger

Project description

Apaleo API Client

CI Coverage pypi downloads versions license

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apaleo_api_client-0.1.2.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apaleo_api_client-0.1.2-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

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

Hashes for apaleo_api_client-0.1.2.tar.gz
Algorithm Hash digest
SHA256 41cfda3744a4cd83e226ec9d166d6bb7da0963c126a77df8bea0866d17b78239
MD5 9efff854c2f15a2b831f745f4d3660b4
BLAKE2b-256 f30e245ba4fe1a5b39e6259e97de2766c986afc2b213f3a03c0b2ae02b34e516

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apaleo_api_client-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for apaleo_api_client-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bcae9c7e190a034b20c99b5280e7d32a09f4ed7ca3a8b50771512b1216ff7578
MD5 e97dc57be3e5ab1f62a42dc6ae2ef21d
BLAKE2b-256 795506fd2324ffab5582477140b9ef69ffa5bd421fd196c44afe8285e1c183e0

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page