An unofficial Python client for interacting with the AELF API. This library provides an easy-to-use interface for fetching liturgical information from the AELF API.
- Fetch liturgical information for a specific date and zone.
- Retrieve liturgical entities (
masses,complines,lauds,readings,none,sext,terceorvespers) for a specific date and zone. - Built with
aiohttpfor asynchronous requests. - Validates API responses using
pydanticmodels.
Package is directly available from the Pypi repositories:
pip install aelf-api-clientExample: Fetch masses informations
from datetime import datetime
import asyncio
from aelf_api_client import AELFClient
from aelf_api_client.schemas.enums import ZoneEnum, EntityEnum
from aelf_api_client.schemas.responses import MassesResponseModel
async def main():
client = AELFClient()
date = datetime.now()
zone = ZoneEnum.FRANCE
masses: MassesResponseModel
# 2 ways to fetch a liturgical entity:
masses = await client.request_masses(date=date, zone=zone)
# or
masses = await client.request(entity=EntityEnum.MASS, date=date, zone=zone)
print(masses)
asyncio.run(main())The AELFClient provides the following methods:
request(entity: EntityEnum, date: datetime, zone: ZonesEnum): Fetch any liturgical entity for a given day and zonerequest_informations(date: datetime, zone: ZonesEnum): Fetch informations for a given day and zonerequest_masses(date: datetime, zone: ZonesEnum): Fetch masses for a given day and zonerequest_complines(date: datetime, zone: ZonesEnum): Fetch comlines for a given day and zonerequest_lauds(date: datetime, zone: ZonesEnum): Fetch lauds for a given day and zonerequest_readings(date: datetime, zone: ZonesEnum): Fetch readings for a given day and zonerequest_none(date: datetime, zone: ZonesEnum): Fetch none for a given day and zonerequest_sext(date: datetime, zone: ZonesEnum): Fetch sext for a given day and zonerequest_terce(date: datetime, zone: ZonesEnum): Fetch terce for a given day and zonerequest_vespers(date: datetime, zone: ZonesEnum): Fetch vespers for a given day and zone
Each method fetches data for a specific liturgical entity and returns a validated Pydantic response model.
git clone git@github.com:thamin-i/aelf-api-client.git
cd aef-client
make installTests are written using pytest. To run the tests:
poetry run pytestThis project uses ruff, isort, and pylint for formatting and linting. To check the code:
make format_code && make check_codeContributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Write tests for your changes.
- Run the tests to ensure everything works.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Pypi: Project
- Homepage: AELF Python Client
- Issues: https://github.com/thamin-i/aelf-api-client/issues