Iconic.Yaml 1.0.0-beta

This is a prerelease version of Iconic.Yaml.
dotnet add package Iconic.Yaml --version 1.0.0-beta                
NuGet\Install-Package Iconic.Yaml -Version 1.0.0-beta                
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="Iconic.Yaml" Version="1.0.0-beta" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Iconic.Yaml --version 1.0.0-beta                
#r "nuget: Iconic.Yaml, 1.0.0-beta"                
#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.
// Install Iconic.Yaml as a Cake Addin
#addin nuget:?package=Iconic.Yaml&version=1.0.0-beta&prerelease

// Install Iconic.Yaml as a Cake Tool
#tool nuget:?package=Iconic.Yaml&version=1.0.0-beta&prerelease                

Yaml Loader

.NET GitHub tag (latest SemVer) Nuget

A library that allows loading of yaml files and getting values based on paths

It is meant as a lightweight and easy to use alternative to YamlDotNet and the Configuration framework.

If you feel like sometimes the framework is over-engineered, this is the library for you

If you use complex yaml configuration and you require complex validation or mapping to strongly typed objects, then you should use YamlDotNet and the Configuration Framework.

Yaml support

The library does not validate files and does not support the entire Yaml specification (for example arrays).

Only simple values are supported

Validation

The library does not handle validation. This is functionality that should be handled by each service, to avoid leaking business logic all over framework glue-code

Usage

var configuration = new YamlLoader();
configuration.Load("app.yaml");
configuration.Load("log.yaml");
var dbpass = configuration.Get("database.motosales.name");
var dbport = configuration.Get("database.motosales.port");
var logMode = configuration.Get("log.mode");

Performance

Smaller keys are retrieved faster

The library is not yet optimized for performance, however it was designed to front-load expensive operations to the time of initialization, and make retrieving operations more performant.

TODO

Work on improving performance and decrease the cpu/memory footprint

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

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-beta 107 3/13/2023

Initial release