Expand description
Typed Rust client for the Open-Meteo API.
The current surface includes the general forecast, archive, historical forecast, previous model runs, ensemble forecast, seasonal forecast, climate projections, satellite radiation, flood forecast, marine forecast, air-quality, geocoding, and elevation endpoints. Request variables are typed and weather-like responses use nullable column-oriented data.
Most users should import types from the crate root:
Client, endpoint builders, request variable enums such as HourlyVar,
response carriers such as ForecastResponse, and the crate-wide
Result alias are all re-exported here.
Open-Meteo data is licensed under CC BY 4.0. Applications using the API
should include attribution such as Weather data by Open-Meteo.com.
use openmeteo_rs::{Client, HourlyVar};
let client = Client::new();
let forecast = client
.forecast(52.52, 13.41)
.hourly([HourlyVar::Temperature2m])
.forecast_days(1)
.send()
.await?;
if let Some(hourly) = forecast.hourly {
let temps = hourly.temperature_2m().unwrap().values_f32().unwrap();
let observed = temps.iter().flatten().count();
println!("{} hourly temperatures, {} observed", temps.len(), observed);
}Re-exports§
pub use response::CurrentData;pub use response::DailyData;pub use response::ForecastResponse;pub use response::HourlyData;pub use response::Minutely15Data;pub use response::MonthlyData;pub use response::SeriesValues;pub use response::Variable;pub use response::VariableDescriptor;pub use response::VariableSeries;pub use units::CellSelection;pub use units::LengthUnit;pub use units::PrecipitationUnit;pub use units::TemperatureUnit;pub use units::TimeFormat;pub use units::Timezone;pub use units::WindSpeedUnit;pub use variables::Aggregation;pub use variables::AirQualityCurrentVar;pub use variables::AirQualityDomain;pub use variables::AirQualityHourlyVar;pub use variables::ArchiveModel;pub use variables::ClimateDailyVar;pub use variables::ClimateModel;pub use variables::CurrentVar;pub use variables::DailyVar;pub use variables::EnsembleModel;pub use variables::FloodDailyVar;pub use variables::FloodModel;pub use variables::HourlyVar;pub use variables::MarineCurrentVar;pub use variables::MarineDailyVar;pub use variables::MarineHourlyVar;pub use variables::MarineMinutely15Var;pub use variables::MarineModel;pub use variables::Minutely15Var;pub use variables::PressureLevel;pub use variables::SatelliteRadiationHourlyVar;pub use variables::SatelliteRadiationModel;pub use variables::SatelliteRadiationTemporalResolution;pub use variables::SeasonalModel;pub use variables::SeasonalMonthlyVar;pub use variables::SoilMoistureDepth;pub use variables::SoilTemperatureDepth;pub use variables::TowerLevel;pub use variables::WeatherModel;pub use weather_code::Severity;pub use weather_code::WmoCode;
Modules§
- response
- Shared response types and JSON decoding.
- units
- Request-side unit and location-selection types.
- variables
- Typed request variables and model selectors.
- weather_
code - WMO weather-code helpers.
Structs§
- AirQuality
Builder - Builder for the
/v1/air-qualityendpoint. - Archive
Builder - Builder for the
/v1/archiveendpoint. - Client
- Async Open-Meteo API client.
- Client
Builder - Builder for
Client. - Climate
Builder - Builder for the
/v1/climateendpoint. - Ensemble
Builder - Builder for the
/v1/ensembleendpoint. - Flood
Builder - Builder for the
/v1/floodendpoint. - Forecast
Batch Builder - Builder for a multi-location
/v1/forecastrequest. - Forecast
Builder - Builder for the
/v1/forecastendpoint. - Geocoded
Location - A location returned by the Open-Meteo geocoding endpoint.
- Geocoding
Builder - Builder for the
/v1/searchgeocoding endpoint. - Historical
Forecast Builder - Builder for the historical forecast
/v1/forecastendpoint. - Http
Error - HTTP transport error hidden behind the crate error type.
- Marine
Builder - Builder for the
/v1/marineendpoint. - Previous
Runs Builder - Builder for the previous model runs
/v1/forecastendpoint. - Satellite
Radiation Builder - Builder for the satellite-radiation
/v1/archiveendpoint. - Seasonal
Builder - Builder for the
/v1/seasonalendpoint.
Enums§
- Error
- Errors returned by the Open-Meteo client.
Type Aliases§
- AirQuality
Response - Response returned by air-quality requests.
- Archive
Response - Response returned by archive requests.
- Climate
Response - Response returned by climate projection requests.
- Ensemble
Response - Response returned by ensemble forecast requests.
- Flood
Response - Response returned by flood requests.
- Historical
Forecast Response - Response returned by historical forecast requests.
- Marine
Response - Response returned by marine requests.
- Previous
Runs Response - Response returned by previous-runs requests.
- Result
- Crate-wide result type.
- Satellite
Radiation Response - Response returned by satellite-radiation requests.
- Seasonal
Response - Response returned by seasonal forecast requests.