OpenMeteo.dotnet
0.1.49
See the version list below for details.
dotnet add package OpenMeteo.dotnet --version 0.1.49
NuGet\Install-Package OpenMeteo.dotnet -Version 0.1.49
<PackageReference Include="OpenMeteo.dotnet" Version="0.1.49" />
<PackageVersion Include="OpenMeteo.dotnet" Version="0.1.49" />
<PackageReference Include="OpenMeteo.dotnet" />
paket add OpenMeteo.dotnet --version 0.1.49
#r "nuget: OpenMeteo.dotnet, 0.1.49"
#:package OpenMeteo.dotnet@0.1.49
#addin nuget:?package=OpenMeteo.dotnet&version=0.1.49
#tool nuget:?package=OpenMeteo.dotnet&version=0.1.49
🌡️🌤️ Open-Meteo Dotnet Library
A .Net Standard library for the Open-Meteo API.
❕ Information
This project is still in development. There will be major changes in the codebase.
🎯 Roadmap
- Enums for HourlyOptions & DailyOptions
- Documentation
- Unit tests
🔨 Installation/Build
NuGet
Use NuGet Package Manager GUI. Or use NuGet CLI:
dotnet add package OpenMeteo.dotnet
Build
Alternatively you can build this library on your own.
- Clone this repo:
git clone https://github.com/AlienDwarf/open-meteo-dotnet
Open the project and build it. The build process will create a .dll file in
/bin/[CONFIGURATION]/netstandard2.1/Add a reference in your own project to the .dll in your own project.
Add
using OpenMeteo;to your class.
💻 Usage
Zero config example:
using OpenMeteo;
static void Main()
{
RunAsync().GetAwaiter().GetResult();
}
static async Task RunAsync()
{
OpenMeteoClient client = new OpenMeteoClient();
var weatherData = await client.QueryAsync("Tokyo");
Console.WriteLine("Weather in Tokyo: " + weatherData.Current_Weather.Temperature + "°C");
// Output: "Weather in Tokyo: 28.1°C
}
Adding options:
using OpenMeteo;
static void Main()
{
RunAsync().GetAwaiter().GetResult();
}
static async Task RunAsync()
{
OpenMeteoClient client = new OpenMeteoClient();
WeatherForecastOptions options = new WeatherForecastOptions();
options.Current_Weather = true;
options.Latitude = 35.6895f;
options.Longitude = 139.69171f; // For Tokyo
WeatherForecast weatherData = await client.QueryAsync(options);
Console.WriteLine("Weather in Tokyo: " + weatherData.CurrentWeather.Temperature + "°C");
// Output: "Weather in Tokyo: 28.1°C
}
Getting Geocoding API data and reuse it for weather forecast:
using OpenMeteo;
static void Main()
{
RunAsync.GetAwaiter().GetResult();
}
static async Task RunAsync()
{
OpenMeteoClient client = new OpenMeteoClient();
GeocodingOptions geocodingOptions = new OpenMeteo.GeocodingOptions("Tokyo");
var cityDataResults = await client.GetCityGeocodingDataAsync(geocodingOptions);
var cityData = cityDataResults.Cities[0];
Console.WriteLine(cityData.Name + "is a city in " + cityData.Country + "with a population of " + cityData.Population + " people.");
// or Console.WriteLine(cityDataResults.Cities[0].Name + " is a city in " + cityData.Cities[0].Country + " with a population of " + cityData.Cities[0].Population + " people.");
// Output: "Tokyo is a city in Japan with a population of 8336599 people."
var weatherData = await client.QueryAsync(geocodingOptions);
Console.WriteLine("Weather in " + cityData.Name + "is " + weatherData.CurrentWeather.Temperature + "°C");
// Output: Weather in Tokyo is 25°C.
}
License
This project is open-source under the MIT license.
Appendix
This library uses the public and free available Open-Meteo API servers. See also:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- System.Text.Json (>= 6.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on OpenMeteo.dotnet:
| Repository | Stars |
|---|---|
|
nalu-development/nalu
Provides .NET MAUI packages to help with everyday challenges
|