OpenMeteo.dotnet
0.1.48
See the version list below for details.
dotnet add package OpenMeteo.dotnet --version 0.1.48
NuGet\Install-Package OpenMeteo.dotnet -Version 0.1.48
<PackageReference Include="OpenMeteo.dotnet" Version="0.1.48" />
paket add OpenMeteo.dotnet --version 0.1.48
#r "nuget: OpenMeteo.dotnet, 0.1.48"
// Install OpenMeteo.dotnet as a Cake Addin #addin nuget:?package=OpenMeteo.dotnet&version=0.1.48 // Install OpenMeteo.dotnet as a Cake Tool #tool nuget:?package=OpenMeteo.dotnet&version=0.1.48
🌡️🌤️ 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. |
.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
This package is not used by any popular GitHub repositories.