SimpleWeather 2.5.0
dotnet add package SimpleWeather --version 2.5.0
NuGet\Install-Package SimpleWeather -Version 2.5.0
<PackageReference Include="SimpleWeather" Version="2.5.0" />
paket add SimpleWeather --version 2.5.0
#r "nuget: SimpleWeather, 2.5.0"
// Install SimpleWeather as a Cake Addin #addin nuget:?package=SimpleWeather&version=2.5.0 // Install SimpleWeather as a Cake Tool #tool nuget:?package=SimpleWeather&version=2.5.0
SimpleWeather
Summary
This is a <strong>C# (.NET 6)</strong> library that provides simple means of obtaining weather data from the OpenWeatherMap's API.
Status
Upcomming features
No upcomming features right now
Methods
There are two <strong>asynchronous</strong> methods which return an Object containing all the weather data for a given city: Current weather data:
GetCurrentWeather(string city, string units)
Weather forecast data:
GetWeatherForecast(string city, string units)
GetWeatherForecast(double lat, double lon, string units)
Prerequisites
In order for the library to work you need to have an <strong>appsettings.json</strong> file containing your OpenWeatherMap's API KEY in your project's output directory with the following parameter:
{
"openWeatherApiKey": "YourKeyGoesHere"
}
Example usage
using SimpleWeather;
var weatherController = new WeatherController();
var currentWeather = await weatherController.GetCurrentWeather("Lovech", "metric");
var weatherForecast = await weatherController.GetWeatherForecast("Lovech");
Console.WriteLine($"The current weather in {currentWeather.City} is {Math.Round(currentWeather.Main.Temperature)}°C degrees with {currentWeather.Weather.Description}.\n");
Console.WriteLine("The weather forecast for the next 7 days is:\n");
foreach (var day in weatherForecast.Daily)
{
Console.WriteLine($"The weather for: {day.DT.ToString("dd.MM.yyyy")}");
Console.WriteLine($"Min temperature: {Math.Round(day.Temperature.Min)}°C");
Console.WriteLine($"Max temperature: {Math.Round(day.Temperature.Max)}°C");
Console.WriteLine($"Wind speed will be: {day.WindSpeed} m/s");
Console.WriteLine($"Wind direction will be: {day.WindDirectionLong} ({day.WindDirectionShort})");
Console.WriteLine($"The weather conditions will be: {day.Weather.Description}");
Console.WriteLine($"Probability for precipitation: {day.PrecipitationProbability}%");
Console.WriteLine($"The moon phase will be: {day.MoonPhase}\n");
}
This will produce the following result:
The current weather in Lovech is 17°C degrees with clear sky.
The weather forecast for the next 7 days is:
The weather for: 15.04.2022
Min temperature: 9°C
Max temperature: 22°C
Wind speed will be: 2.2 m/s
Wind direction will be: South-southwest (SSW)
The weather conditions will be: clear sky
Probability for precipitation: 0%
The moon phase will be: Full Moon
.
.
.
The weather for: 21.04.2022
Min temperature: 5°C
Max temperature: 17°C
Wind speed will be: 7.63 m/s
Wind direction will be: West (W)
The weather conditions will be: few clouds
Probability for precipitation: 0%
The moon phase will be: Waning Gibbous
Installation
DISCLAIMER: Plese note that this package is still under development and bugs may be present. If you spot a bug, please open a new Issue
You can install the NuGet library into your project using:
Package Manager:
Install-Package SimpleWeather -Version 2.5.0
.NET CLI:
dotnet add package SimpleWeather --version 2.5.0
License
Copyright © 2022 Ivan Gechev.
This package has MIT license. Refer to the LICENSE for detailed information.
Questions, comments or additions
If you have a feature request or bug report, open a new Issue or send a Pull request.
Support
If you like this project, give it a ⭐ and share it with friends!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.AspNet.WebApi.Core (>= 5.2.7)
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.Configuration.Json (>= 6.0.0)
- Microsoft.Web.Administration (>= 11.1.0)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
2.5.0: Introduced wind direction as string (both short and long). Updated MoonPhase to string (used to be a double).