HVO.Weather.DavisVantagePro
1.0.0
dotnet add package HVO.Weather.DavisVantagePro --version 1.0.0
NuGet\Install-Package HVO.Weather.DavisVantagePro -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HVO.Weather.DavisVantagePro" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HVO.Weather.DavisVantagePro" Version="1.0.0" />
<PackageReference Include="HVO.Weather.DavisVantagePro" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HVO.Weather.DavisVantagePro --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HVO.Weather.DavisVantagePro, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HVO.Weather.DavisVantagePro@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HVO.Weather.DavisVantagePro&version=1.0.0
#tool nuget:?package=HVO.Weather.DavisVantagePro&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HVO.SDK
Shared .NET utilities and functional patterns used across all HVO projects.
Packages
| Package | Target | Description |
|---|---|---|
| HVO.Core | netstandard2.0 |
Result<T>, Option<T>, OneOf<T1..T4>, discriminated unions, guard clauses, extensions |
| HVO.Core.SourceGenerators | netstandard2.0 |
Roslyn source generators (e.g., [NamedOneOf] attribute) |
Installation
dotnet add package HVO.Core
dotnet add package HVO.Core.SourceGenerators
Quick Start
Result<T> — Railway-oriented error handling
using HVO.Core.Results;
public Result<Customer> GetCustomer(int id)
{
try
{
var customer = _repository.Find(id);
return customer != null
? Result<Customer>.Success(customer)
: Result<Customer>.Failure(new NotFoundException($"Customer {id} not found"));
}
catch (Exception ex)
{
return ex; // Implicit conversion to failure
}
}
// Usage
var result = GetCustomer(42);
var output = result.Match(
success: c => $"Found: {c.Name}",
failure: ex => $"Error: {ex.Message}");
Result<T, TEnum> — Typed error codes
using HVO.Core.Results;
public enum OrderError { NotFound, InvalidAmount, Unauthorized }
public Result<Order, OrderError> ValidateOrder(OrderRequest request)
{
if (request.Amount <= 0)
return OrderError.InvalidAmount; // Implicit conversion
return Result<Order, OrderError>.Success(new Order(request));
}
Option<T> — Safe optional values
using HVO.Core.Options;
public Option<string> GetSetting(string key)
{
return _config.TryGetValue(key, out var value)
? new Option<string>(value)
: Option<string>.None();
}
// Usage
var setting = GetSetting("timeout");
var value = setting.GetValueOrDefault("30"); // Returns "30" if None
OneOf<T1, T2> — Discriminated unions
using HVO.Core.OneOf;
OneOf<int, string> result = 42;
var output = result.Match(
i => $"Got integer: {i}",
s => $"Got string: {s}");
// output: "Got integer: 42"
Guard & Ensure — Input validation and state assertions
using HVO.Core.Utilities;
// Guard: validates input parameters (throws ArgumentException)
public void Process(string name, int count)
{
Guard.AgainstNullOrWhiteSpace(name);
Guard.AgainstNegativeOrZero(count, 0);
}
// Ensure: asserts internal state (throws InvalidOperationException)
public void Execute()
{
Ensure.That(_isInitialized, "Service must be initialized");
Ensure.NotNull(_connection, "Connection not established");
}
Extensions
using HVO.Core.Extensions;
// String extensions
"hello world".ToTitleCase(); // "Hello World"
"Hello World Test".RemoveWhitespace(); // "HelloWorldTest"
"Second".ToEnum<MyEnum>(); // MyEnum.Second
// Collection extensions
new[] { 1, 2, 3 }.ForEach(x => Console.Write(x));
items.DistinctBy(x => x.Id);
items.Shuffle();
// Enum extensions
MyEnum.Value.GetDescription(); // Returns [Description] attribute value
Compatibility
HVO.Core targets .NET Standard 2.0 for maximum compatibility:
- .NET Framework 4.8.1+
- .NET 8+
- .NET 10+
- Mono, Xamarin, Unity
Building
dotnet build
dotnet test
Documentation
| Document | Description |
|---|---|
| CONTRIBUTING.md | PR workflow, coding standards, branch naming |
| CHANGELOG.md | Release history and notable changes |
Contributing
See CONTRIBUTING.md for PR workflow, coding standards, and how to run tests locally.
License
MIT
| 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- HVO.Core (>= 1.1.0)
- HVO.Weather (>= 1.0.0)
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.0 | 114 | 3/4/2026 |