Environment & Weather¶
Tools: 19
Examples use the Google ADK callable wrapper surface so each example is directly executable as ordinary Python.
Tool Index¶
fetch_google_weather_current¶
Retrieve google weather current data.
Signature¶
def fetch_google_weather_current( address: str, units_system: str='METRIC', language_code: str='en', time: int=10 ) -> Any
Purpose¶
Retrieve google weather current data through Google Weather.
Example¶
from fonky.gemini.tools import fetch_google_weather_current
result = fetch_google_weather_current(
address='1600 Pennsylvania Avenue NW, Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
address |
str |
Street address or place description used for geocoding, validation, or routing. |
units_system |
str |
Measurement unit system requested from the provider. |
language_code |
str |
BCP-47-style language code used for provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_google_weather_hourly_forecast¶
Retrieve hourly forecast.
Signature¶
def fetch_google_weather_hourly_forecast( address: str, hours: int=24, units_system: str='METRIC', language_code: str='en', time: int=10 ) -> Any
Purpose¶
Retrieve hourly forecast through Google Weather.
Example¶
from fonky.gemini.tools import fetch_google_weather_hourly_forecast
result = fetch_google_weather_hourly_forecast(
address='1600 Pennsylvania Avenue NW, Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
address |
str |
Street address or place description used for geocoding, validation, or routing. |
hours |
int |
Number of hourly observations or forecast periods to request. |
units_system |
str |
Measurement unit system requested from the provider. |
language_code |
str |
BCP-47-style language code used for provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_google_weather_daily_forecast¶
Retrieve daily forecast.
Signature¶
def fetch_google_weather_daily_forecast( address: str, days: int=5, units_system: str='METRIC', language_code: str='en', time: int=10 ) -> Any
Purpose¶
Retrieve daily forecast through Google Weather.
Example¶
from fonky.gemini.tools import fetch_google_weather_daily_forecast
result = fetch_google_weather_daily_forecast(
address='1600 Pennsylvania Avenue NW, Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
address |
str |
Street address or place description used for geocoding, validation, or routing. |
days |
int |
Number of calendar days included in the requested interval. |
units_system |
str |
Measurement unit system requested from the provider. |
language_code |
str |
BCP-47-style language code used for provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_google_weather_hourly_history¶
Retrieve hourly history.
Signature¶
def fetch_google_weather_hourly_history( address: str, hours: int=24, units_system: str='METRIC', language_code: str='en', time: int=10 ) -> Any
Purpose¶
Retrieve hourly history through Google Weather.
Example¶
from fonky.gemini.tools import fetch_google_weather_hourly_history
result = fetch_google_weather_hourly_history(
address='1600 Pennsylvania Avenue NW, Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
address |
str |
Street address or place description used for geocoding, validation, or routing. |
hours |
int |
Number of hourly observations or forecast periods to request. |
units_system |
str |
Measurement unit system requested from the provider. |
language_code |
str |
BCP-47-style language code used for provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_google_weather_alerts¶
Retrieve google weather alerts data.
Signature¶
Purpose¶
Retrieve google weather alerts data through Google Weather.
Example¶
from fonky.gemini.tools import fetch_google_weather_alerts
result = fetch_google_weather_alerts(
address='1600 Pennsylvania Avenue NW, Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
address |
str |
Street address or place description used for geocoding, validation, or routing. |
language_code |
str |
BCP-47-style language code used for provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_earth_observatory¶
Retrieve NASA EONET events, categories, sources, and layers.
Signature¶
def fetch_earth_observatory( mode: str='events', status: str='open', category: str='', source: str='', limit: int=20, days: int=30, start_date: str='', end_date: str='', time: int=20 ) -> Any
Purpose¶
Retrieve NASA EONET events, categories, sources, and layers through NASA EONET. Date and time arguments constrain the requested interval when supplied. Result-count arguments bound the amount of data requested.
Example¶
from fonky.gemini.tools import fetch_earth_observatory
result = fetch_earth_observatory( )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation mode used to select the provider or processing workflow. |
status |
str |
Provider status filter applied to returned records. |
category |
str |
Optional logical category retained in tool metadata. |
source |
str |
Provider source identifier used to restrict or classify results. |
limit |
int |
Maximum number of records or items to return. |
days |
int |
Number of calendar days included in the requested interval. |
start_date |
str |
Inclusive start date for the requested time range, in the provider-supported format. |
end_date |
str |
Inclusive end date for the requested time range, in the provider-supported format. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_open_weather¶
Retrieve Open-Meteo current and forecast weather.
Signature¶
def fetch_open_weather( location: str, mode: str='current', zone: str='auto', forecast_days: int=7, past_days: int=0, count: int=10 ) -> Any
Purpose¶
Retrieve Open-Meteo current and forecast weather through Open-Meteo.
Example¶
from fonky.gemini.tools import fetch_open_weather
result = fetch_open_weather(
location='Washington, DC' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
location |
str |
Place name, address, or location description resolved by the provider. |
mode |
str |
Operation mode used to select the provider or processing workflow. |
zone |
str |
Timezone identifier or automatic timezone-selection mode. |
forecast_days |
int |
Number of forecast days to request. |
past_days |
int |
Number of historical days to include with the weather request. |
count |
int |
Maximum number of matching locations or records to consider. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_historical_weather¶
Retrieve historical weather archive.
Signature¶
def fetch_historical_weather( location: str, date: dt.date, zone: str='auto', count: int=10 ) -> Any
Purpose¶
Retrieve historical weather archive through Open-Meteo Archive.
Example¶
from fonky.gemini.tools import fetch_historical_weather
result = fetch_historical_weather(
location='Washington, DC',
date='2026-08-01' )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
location |
str |
Place name, address, or location description resolved by the provider. |
date |
dt.date |
Date used by the provider or processing operation. |
zone |
str |
Timezone identifier or automatic timezone-selection mode. |
count |
int |
Maximum number of matching locations or records to consider. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_usgs_earthquakes¶
Retrieve USGS earthquake feed and query.
Signature¶
def fetch_usgs_earthquakes( mode: str='feed', feed: str='all_day.geojson', start_date: str='', end_date: str='', min_magnitude: float=1.0, max_magnitude: float=10.0, limit: int=25, order_by: str='time', event_type: str='earthquake', latitude: float | None=None, longitude: float | None=None, max_radius_km: float | None=None, time: int=20 ) -> Any
Purpose¶
Retrieve USGS earthquake feed and query through USGS Earthquake Hazards Program. Use mode to select among feed, search. Date and time arguments constrain the requested interval when supplied. Coordinate and bounding arguments constrain geographic scope when supported. Result-count arguments bound the amount of data requested.
Example¶
from fonky.gemini.tools import fetch_usgs_earthquakes
result = fetch_usgs_earthquakes( )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include feed, search. |
feed |
str |
Predefined USGS earthquake feed name used when feed mode is selected. |
start_date |
str |
Inclusive start date for the requested time range, in the provider-supported format. |
end_date |
str |
Inclusive end date for the requested time range, in the provider-supported format. |
min_magnitude |
float |
Minimum earthquake magnitude to include in the result set. |
max_magnitude |
float |
Maximum earthquake magnitude to include in the result set. |
limit |
int |
Maximum number of records or items to return. |
order_by |
str |
Provider-supported field used to order results. |
event_type |
str |
USGS event type to include; earthquake is the default. |
latitude |
float | None |
Latitude in decimal degrees. |
longitude |
float | None |
Longitude in decimal degrees. |
max_radius_km |
float | None |
Maximum geographic search radius in kilometers. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_usgs_water_data¶
Retrieve USGS water services records.
Signature¶
def fetch_usgs_water_data( mode: str='monitoring-locations', monitoring_location_id: str='', state_code: str='', county_code: str='', site_type: str='', parameter_code: str='', limit: int=25, time: int=20 ) -> Any
Purpose¶
Retrieve USGS water services records through USGS Water Data. Use mode to select among latest-continuous, latest-daily, monitoring-locations, time-series-metadata. Result-count arguments bound the amount of data requested.
Example¶
from fonky.gemini.tools import fetch_usgs_water_data
result = fetch_usgs_water_data( )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include latest- continuous, latest-daily, monitoring-locations, time-series-metadata. |
monitoring_location_id |
str |
USGS monitoring-location identifier used to target a specific site. |
state_code |
str |
State code used to restrict provider records. |
county_code |
str |
County code used to restrict provider records. |
site_type |
str |
USGS site-type code used to restrict monitoring locations. |
parameter_code |
str |
USGS parameter code identifying the measured property. |
limit |
int |
Maximum number of records or items to return. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_air_now¶
Retrieve AirNow current and forecast air quality data.
Signature¶
def fetch_air_now( mode: str='current-zip', zip_code: str='', latitude: float | None=None, longitude: float | None=None, date: str='', distance: int=25, time: int=20 ) -> Any
Purpose¶
Retrieve AirNow current and forecast air quality data through AirNow. Use mode to select among current-latlon, current-zip, forecast-latlon, forecast-zip. Coordinate and bounding arguments constrain geographic scope when supported.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include current- latlon, current-zip, forecast-latlon, forecast-zip. |
zip_code |
str |
Provider code identifying or filtering zip. |
latitude |
float | None |
Latitude in decimal degrees. |
longitude |
float | None |
Longitude in decimal degrees. |
date |
str |
Date used by the provider or processing operation. |
distance |
int |
Maximum provider search distance, using the units defined by that service. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_climate_data¶
Retrieve NOAA climate dataset and data records.
Signature¶
def fetch_climate_data( mode: str='datasets', keyword: str='', dataset: str='', start_date: str='', end_date: str='', stations: str='', data_types: str='', limit: int=25, offset: int=0, time: int=20 ) -> Any
Purpose¶
Retrieve NOAA climate dataset and data records through NOAA climate services. Use mode to select among data, datasets. Date and time arguments constrain the requested interval when supplied. Result-count arguments bound the amount of data requested.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include data, datasets. |
keyword |
str |
Keyword used to filter provider records. |
dataset |
str |
Provider dataset name or identifier. |
start_date |
str |
Inclusive start date for the requested time range, in the provider-supported format. |
end_date |
str |
Inclusive end date for the requested time range, in the provider-supported format. |
stations |
str |
Station identifiers used to restrict climate observations. |
data_types |
str |
Climate data-type identifiers requested from the provider. |
limit |
int |
Maximum number of records or items to return. |
offset |
int |
Zero-based result offset used for pagination. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_eonet¶
Retrieve NASA EONET environmental event data.
Signature¶
def fetch_eonet( mode: str='events', source: str='', category: str='', status: str='open', limit: int=25, days: int=30, start_date: str='', end_date: str='', bbox: str='', time: int=20 ) -> Any
Purpose¶
Retrieve NASA EONET environmental event data through NASA EONET. Use mode to select among categories, events. Date and time arguments constrain the requested interval when supplied. Coordinate and bounding arguments constrain geographic scope when supported. Result-count arguments bound the amount of data requested.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include categories, events. |
source |
str |
Provider source identifier used to restrict or classify results. |
category |
str |
Optional logical category retained in tool metadata. |
status |
str |
Provider status filter applied to returned records. |
limit |
int |
Maximum number of records or items to return. |
days |
int |
Number of calendar days included in the requested interval. |
start_date |
str |
Inclusive start date for the requested time range, in the provider-supported format. |
end_date |
str |
Inclusive end date for the requested time range, in the provider-supported format. |
bbox |
str |
Bounding box defining the geographic extent of the request. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_envirofacts¶
Retrieve EPA Envirofacts table and facility records.
Signature¶
def fetch_envirofacts( table_name: str='TRI_FACILITY', state_code: str='', facility_name: str='', limit: int=25, time: int=20 ) -> Any
Purpose¶
Retrieve EPA Envirofacts table and facility records through EPA Envirofacts. Result-count arguments bound the amount of data requested.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
table_name |
str |
Envirofacts table or resource name to query. |
state_code |
str |
State code used to restrict provider records. |
facility_name |
str |
Facility-name filter applied to Envirofacts records. |
limit |
int |
Maximum number of records or items to return. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_tides_and_currents¶
Retrieve NOAA tides, currents, and station data.
Signature¶
def fetch_tides_and_currents( mode: str='water-level', station_id: str='', begin_date: str='', end_date: str='', datum: str='MLLW', units: str='metric', time_zone: str='gmt', interval: str='hilo', time: int=20 ) -> Any
Purpose¶
Retrieve NOAA tides, currents, and station data through NOAA Tides & Currents. Use mode to select among station, tide-predictions, water-level. Date and time arguments constrain the requested interval when supplied.
Example¶
from fonky.gemini.tools import fetch_tides_and_currents
result = fetch_tides_and_currents( )
print( result )
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include station, tide-predictions, water-level. |
station_id |
str |
Provider identifier for the selected station. |
begin_date |
str |
Beginning date for the requested interval, in the provider-supported format. |
end_date |
str |
Inclusive end date for the requested time range, in the provider-supported format. |
datum |
str |
Vertical datum used for tide or water-level measurements. |
units |
str |
Unit system used for returned measurements. |
time_zone |
str |
Timezone used for returned tide or current timestamps. |
interval |
str |
Provider sampling or reporting interval. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_uv_index¶
Retrieve EPA UV Index current and forecast data.
Signature¶
def fetch_uv_index( mode: str='daily-zip', zip_code: str='', city: str='', state: str='', time: int=20 ) -> Any
Purpose¶
Retrieve EPA UV Index current and forecast data through EPA UV Index. Use mode to select among daily-city-state, daily-zip, hourly-city-state, hourly-zip.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include daily- city-state, daily-zip, hourly-city-state, hourly-zip. |
zip_code |
str |
Provider code identifying or filtering zip. |
city |
str |
City name used to locate or filter provider records. |
state |
str |
State name or abbreviation used to locate or filter provider records. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_purple_air¶
Retrieve PurpleAir sensor and air quality records.
Signature¶
def fetch_purple_air( mode: str='sensors', sensor_index: int | None=None, nwlng: float | None=None, nwlat: float | None=None, selng: float | None=None, selat: float | None=None, location_type: int=0, max_age: int=0, modified_since: int=0, fields: str='', time: int=20 ) -> Any
Purpose¶
Retrieve PurpleAir sensor and air quality records through PurpleAir. Use mode to select among sensor, sensors. Coordinate and bounding arguments constrain geographic scope when supported.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include sensor, sensors. |
sensor_index |
int | None |
PurpleAir sensor identifier. |
nwlng |
float | None |
Northwest bounding-box longitude in decimal degrees. |
nwlat |
float | None |
Northwest bounding-box latitude in decimal degrees. |
selng |
float | None |
Southeast bounding-box longitude in decimal degrees. |
selat |
float | None |
Southeast bounding-box latitude in decimal degrees. |
location_type |
int |
Provider type selector for location. |
max_age |
int |
Maximum age permitted by the operation. |
modified_since |
int |
Unix timestamp used to return PurpleAir sensors modified after the specified time. |
fields |
str |
Comma-separated or provider-specific field selection. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_open_aq¶
Retrieve OpenAQ location, measurement, and air-quality records.
Signature¶
def fetch_open_aq( mode: str='locations', location_id: int | None=None, parameter_id: int | None=None, country_id: int | None=None, coordinates: str='', radius: int=25000, providers_id: str='', parameters_id: str='', limit: int=25, page: int=1, time: int=20 ) -> Any
Purpose¶
Retrieve OpenAQ location, measurement, and air-quality records through OpenAQ. Use mode to select among countries, latest, locations, parameter_latest, parameters, providers. Coordinate and bounding arguments constrain geographic scope when supported. Result-count arguments bound the amount of data requested.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include countries, latest, locations, parameter_latest, parameters, providers. |
location_id |
int | None |
Provider identifier for the selected location. |
parameter_id |
int | None |
Provider identifier for the selected parameter. |
country_id |
int | None |
Provider identifier for the selected country. |
coordinates |
str |
Latitude/longitude coordinate string used by the provider. |
radius |
int |
Search radius in the units specified by the operation. |
providers_id |
str |
Provider identifier for the selected providers. |
parameters_id |
str |
Provider identifier for the selected parameters. |
limit |
int |
Maximum number of records or items to return. |
page |
int |
One-based result page to request. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.
fetch_firms¶
Retrieve NASA FIRMS active fire data.
Signature¶
def fetch_firms( mode: str='area', source: str='VIIRS_SNPP_NRT', area_coordinates: str='world', day_range: int=1, date: str='', sensor: str='ALL', time: int=20 ) -> Any
Purpose¶
Retrieve NASA FIRMS active fire data through NASA FIRMS. Use mode to select among area, data-availability.
Example¶
Arguments¶
| Argument | Type | Description |
|---|---|---|
mode |
str |
Operation selector. Supported values detected in the implementation include area, data-availability. |
source |
str |
Provider source identifier used to restrict or classify results. |
area_coordinates |
str |
FIRMS area-of-interest coordinates or world selector. |
day_range |
int |
Number of days included in the FIRMS active-fire request. |
date |
str |
Date used by the provider or processing operation. |
sensor |
str |
Sensor or instrument filter applied to provider results. |
time |
int |
Request timeout in seconds. |
Returns¶
Any: Structured mapping produced by the operation.
Raises¶
ValueError: If a required value is missing, blank, or outside the supported range. Error: If the implementation wraps a provider, parsing, filesystem, or processing failure in the project error type.