Source code for langchain_community.document_loaders.weather
"""Simple reader that reads weather data from OpenWeatherMap API"""from__future__importannotationsfromdatetimeimportdatetimefromtypingimportIterator,Optional,Sequencefromlangchain_core.documentsimportDocumentfromlangchain_community.document_loaders.baseimportBaseLoaderfromlangchain_community.utilities.openweathermapimportOpenWeatherMapAPIWrapper
[docs]classWeatherDataLoader(BaseLoader):"""Load weather data with `Open Weather Map` API. Reads the forecast & current weather of any location using OpenWeatherMap's free API. Checkout 'https://openweathermap.org/appid' for more on how to generate a free OpenWeatherMap API. """
[docs]def__init__(self,client:OpenWeatherMapAPIWrapper,places:Sequence[str],)->None:"""Initialize with parameters."""super().__init__()self.client=clientself.places=places
[docs]deflazy_load(self,)->Iterator[Document]:"""Lazily load weather data for the given locations."""forplaceinself.places:metadata={"queried_at":datetime.now()}content=self.client.run(place)yieldDocument(page_content=content,metadata=metadata)