SimpleWeatherClient 1.0.2
dotnet add package SimpleWeatherClient --version 1.0.2
NuGet\Install-Package SimpleWeatherClient -Version 1.0.2
<PackageReference Include="SimpleWeatherClient" Version="1.0.2" />
<PackageVersion Include="SimpleWeatherClient" Version="1.0.2" />
<PackageReference Include="SimpleWeatherClient" />
paket add SimpleWeatherClient --version 1.0.2
#r "nuget: SimpleWeatherClient, 1.0.2"
#:package SimpleWeatherClient@1.0.2
#addin nuget:?package=SimpleWeatherClient&version=1.0.2
#tool nuget:?package=SimpleWeatherClient&version=1.0.2
SimpleWeatherClient
SimpleWeatherClient is a Windows solution built around the SimpleWeather library for working with the OpenWeather APIs.
This repository contains:
- the
SimpleWeatherreusable API library - a WPF desktop client
- a WinUI widget client
- a small console-based test harness
Website: https://openweathermap.org/
Original Project and Attribution
This solution is adapted from the original Banovvv/SimpleWeather project by Ivan Gechev and continues to respect the original MIT licensing and attribution requirements.
The original project was a .NET 6 weather library. This repository extends that foundation into a broader solution with additional applications, updated targeting, local configuration improvements, and ongoing modernization work.
What Is Different in This Adaptation
Compared with the original upstream project, this repository currently differs in several important ways:
Broader solution structure
- The repo is no longer just a single library project.
- It now includes multiple applications built around the shared
SimpleWeatherlibrary.
Dual-targeted library
SimpleWeathertargets both:.NET Framework 4.7.2.NET 10
- This allows the API library to be used from both legacy and modern .NET applications.
- The
.NET Framework 4.7.2target still uses the latest C# language version. - Compatibility packages and shims are included so the legacy target can support newer language/runtime-facing features used alongside the
.NET 10target.
Additional Windows clients
SimpleWeather.Desktopis a WPF desktop application.SimpleWeather.Widgetis a WinUI-based widget-style client.
Safer local API-key handling
- Real API keys are not intended to be stored in tracked repository files.
- The apps can fall back to a local non-published key file for local development and testing.
Expanded documentation groundwork
- XML documentation is enabled for the
SimpleWeatherlibrary. - DocFX assets are included for generating API documentation.
- XML documentation is enabled for the
Solution-level modernization work
- Nullable reference types and newer C# features are in use in the modernized code.
- The solution is being prepared for cleaner GitHub publication and NuGet packaging workflows.
Solution Structure
SimpleWeather/- shared weather API librarySimpleWeather.Desktop/- WPF desktop appSimpleWeather.Widget/- WinUI widget clientSimpleWeatherTest/- console test applicationdocs/- repo-facing markdown documentationdocfx/- API documentation assets and generated content
Features
SimpleWeather library
- strongly typed weather models
- current weather retrieval
- forecast retrieval
- geolocation helpers
- support for OpenWeather-based weather queries from reusable .NET code
Desktop and widget clients
- weather lookup from Windows UI applications
- shared use of the
SimpleWeatherlibrary - local, non-published API-key fallback support for development use
Documentation
If you are looking for the actual API surface documentation for the SimpleWeather library, start here:
Additional repository and contributor documentation:
The repository docs in docs/ are for contributors and GitHub readers.
The generated API/reference documentation is built from XML comments and DocFX assets under docfx/ and published to GitHub Pages.
Requirements
To build and run the full solution on Windows, you will typically want:
- Visual Studio 2026 or later with .NET desktop development tools
- .NET 10 SDK
- .NET Framework 4.7.2 targeting pack / developer tools
- Windows 10/11 for the desktop and widget clients
Local Configuration
This repository is set up so a tracked App.config can contain only placeholders while local development still works.
API key lookup order
The desktop app and test app check for an OpenWeather API key in this order:
App.config- solution-local secret file:
.local/openweather-api-key.txt - local AppData fallback:
%AppData%\SimpleWeather\desktop-api-key.txt
Recommended local setup
For portable local development, create this file in the solution root:
.local/openweather-api-key.txt
Its contents should be only the raw API key, for example:
YOUR_OPENWEATHER_API_KEY_HERE
That .local folder is intended to remain local and non-published.
Building the Solution
From the repository root:
dotnet build .\SimpleWeather.sln
Or build from Visual Studio.
Running the Projects
SimpleWeather.Desktop- desktop UI clientSimpleWeather.Widget- widget-style Windows clientSimpleWeatherTest- console-based smoke test / development harness
Before running applications that call the OpenWeather service, make sure a valid API key is available through one of the supported local configuration paths.
Planned Publishing Workflow
This repository is set up for:
- GitHub publication under the
SimpleWeatherClientname - automated NuGet package creation
- release-based package publishing
License
This repository includes MIT-licensed upstream work and preserves attribution to the original author where required.
See:
LICENSESimpleWeather/LICENSE- project source headers in adapted files
Acknowledgments
- Original upstream project:
Banovvv/SimpleWeather - Original author: Ivan Gechev
- Current adaptation and expansion: Neil Colvin
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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 Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Hafner.Compatibility.MetaPackage (>= 1.9.0)
- log4net (>= 3.3.1)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.8)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Newtonsoft.Json (>= 13.0.4)
- System.Net.Http (>= 4.3.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net10.0
- log4net (>= 3.3.1)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2 | 28 | 6/2/2026 |