Tudormobile.IronLedgerLib.UI 1.0.0

dotnet add package Tudormobile.IronLedgerLib.UI --version 1.0.0
                    
NuGet\Install-Package Tudormobile.IronLedgerLib.UI -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="Tudormobile.IronLedgerLib.UI" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tudormobile.IronLedgerLib.UI" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Tudormobile.IronLedgerLib.UI" />
                    
Project file
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 Tudormobile.IronLedgerLib.UI --version 1.0.0
                    
#r "nuget: Tudormobile.IronLedgerLib.UI, 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 Tudormobile.IronLedgerLib.UI@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=Tudormobile.IronLedgerLib.UI&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Tudormobile.IronLedgerLib.UI&version=1.0.0
                    
Install as a Cake Tool

IronLedger

NuGet License .NET

IronLedger is a comprehensive .NET library for hardware asset identification and inventory management. It provides a robust framework for collecting, serializing, and managing hardware component data across your infrastructure.

🎯 Overview

IronLedgerLib enables applications and services to:

  • Collect hardware data from system components (CPU, memory, disks, motherboard, BIOS)
  • Generate unique asset identifiers based on hardware fingerprints
  • Serialize and deserialize asset data using flexible abstractions
  • Track hardware inventory with strongly-typed, immutable data structures

IronLedgerLib.UI enables applications and services to:

  • Observable Entities from system components (CPU, memory, disks, motherboard, BIOS)
  • Relay Commands for management of entities
  • Service Layer for orchestration via MVVM patterns.

Perfect for building windows desktop UI applications that leverage the Iron Ledger library.

⚙️ Platform Support

Platform Status
Windows ✅ Fully Supported
Linux Not supported or planned
macOS Noy supported or planned

📦 Installation

Install via NuGet Package Manager:

dotnet add package Tudormobile.IronLedgerLib.UI

Or via Package Manager Console:

Install-Package Tudormobile.IronLedgerLib.UI

Or add directly to your .csproj:

<PackageReference Include="Tudormobile.IronLedgerLib.UI" Version="1.0.0" />

🚀 Quick Start

using Tudormobile.IronLedgerLib.UI;

✨ Key Features

🔑 Unique Asset Identification

  • Generate cryptographic hardware fingerprints using SHA256
  • Combine system, baseboard, and BIOS metadata
  • Consistent, deterministic asset IDs across reboots
  • Hexadecimal string representation for easy storage and comparison

📊 Hardware Data Collection

  • Processors - CPU details including cores, speed, and specifications
  • Memory Modules - RAM information with capacity and type
  • Disk Drives - Storage device data including size and model
  • System Information - Manufacturer, model, and serial numbers
  • Baseboard - Motherboard details and identifiers
  • BIOS - Firmware version and vendor information

🛡️ Robust Exception Handling

  • Custom exception hierarchy for precise error handling
  • ComponentDataProviderException for hardware query failures
  • Comprehensive error context with provider name and WMI class information
  • Standard .NET exceptions for argument validation

📝 Flexible Serialization

  • Abstraction-based serialization framework
  • Built-in JSON serializer with System.Text.Json
  • Snake case naming convention for JSON properties
  • Custom converters for component properties
  • Easy to implement custom serializers

🔒 Immutable Data Structures

  • Thread-safe, immutable record types
  • Init-only properties prevent accidental modification
  • Structural equality for easy comparison
  • Support for non-destructive mutation using with expressions

🧩 Extensible Provider Architecture

  • Interface-based provider system
  • Easy to implement custom data providers
  • Dependency injection-friendly
  • Mock providers for testing

📖 Documentation

🔧 Requirements

  • .NET 10.0 or higher
  • Windows OS designed for windows desktop UI applications
  • Administrator privileges recommended for accessing some hardware data

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines before submitting pull requests.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

💡 Use Cases

IronLedgerLib is ideal for:

  • Asset Management Systems - Track hardware across your infrastructure
  • License Enforcement - Hardware-based license validation
  • IT Inventory - Automated hardware inventory collection
  • Configuration Management - Infrastructure as code with hardware tracking
  • Audit & Compliance - Hardware change detection and reporting
  • Device Registration - Unique device identification for cloud services

Built with ❤️ by Tudormobile

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

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Tudormobile.IronLedgerLib.UI:

Package Downloads
Tudormobile.IronLedgerLib.UI.Wpf

Wpf UI library for Iron Ledger.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 120 3/25/2026
0.6.0 113 3/25/2026
0.5.0 108 3/24/2026
0.4.0 114 3/22/2026
0.3.0 105 3/21/2026
0.2.0 116 3/17/2026
0.1.0 112 3/15/2026