ZenMonitor.Core
2.0.0-alpha.3
dotnet add package ZenMonitor.Core --version 2.0.0-alpha.3
NuGet\Install-Package ZenMonitor.Core -Version 2.0.0-alpha.3
<PackageReference Include="ZenMonitor.Core" Version="2.0.0-alpha.3" />
<PackageVersion Include="ZenMonitor.Core" Version="2.0.0-alpha.3" />
<PackageReference Include="ZenMonitor.Core" />
paket add ZenMonitor.Core --version 2.0.0-alpha.3
#r "nuget: ZenMonitor.Core, 2.0.0-alpha.3"
#:package ZenMonitor.Core@2.0.0-alpha.3
#addin nuget:?package=ZenMonitor.Core&version=2.0.0-alpha.3&prerelease
#tool nuget:?package=ZenMonitor.Core&version=2.0.0-alpha.3&prerelease
Core library for ZenMonitor system telemetry
A light and fast system monitor
Core hardware abstraction interfaces, models, and platform services powering the ZenMonitor system monitor.
This repository is a separate NuGet library extracted from the main ZenMonitor project.
Only fully supports Linux at the moment. Windows support is WIP. The structure is still being defined. Expect changes.
Quick Start
Using the package:
# Add the packages to your project
dotnet add package ZenMonitor.Core # Main components
dotnet add package ZenMonitor.Core.Hosting # Init ZenMonitor.Core (optional, requires Dependency Injection)
using Microsoft.Extensions.DependencyInjection;
using ZenMonitor.Core.Hosting;
// Optional: Register all services using dependency injection (auto-detects OS)
var services = new ServiceCollection();
services.AddZenMonitor();
// You can also manually register the services you need.
// Skipping dependency injection is possible but not recommended.
See CONTRIBUTING.md for the contribution workflow and our Code of Conduct.
Technical Details
- Stack: C# 100%, .NET 10.0.203
- Platform: Linux (Windows is currently WIP)
- License: LGPL-3.0
Project Documentation
Hardware Interfaces
Each hardware component is defined as an interface in the Abstractions namespace, with a corresponding Null-object service in Services (used as fallback when no platform implementation is available). The Linux project provides real implementations, while Windows support is under development.
IHardwareMonitor aggregates all interfaces as properties, providing a single entry point for consumers to simplify usage.
Each interface exposes a void Update() method plus typed getters:
| Interface | Provides |
|---|---|
ICpu |
CPU usage, temperature, frequency etc. |
IDrive |
Disk I/O, partition usage etc. |
IGpu |
GPU utilization, VRAM etc. |
IMemory |
RAM usage, swap etc. |
INetwork |
Network throughput, interfaces etc. |
ISystem |
OS info, uptime, hostname etc. |
Project Structure
The repo is split across five projects:
| Project | DescriptioSn |
|---|---|
ZenMonitor.Core |
Hardware abstraction interfaces (ICpu, IDrive, IGpu, IMemory, INetwork, ISystem), data models, and Null-object fallback services. |
ZenMonitor.Core.Hosting |
DI registration extensions (AddZenMonitor.Core()) that auto-detect the OS and register the correct platform services. This is optional but recommended. |
ZenMonitor.Core.Linux |
Linux-specific platform implementations for all interfaces. |
ZenMonitor.Core.Windows |
Windows-specific platform implementations for all interfaces. |
ZenMonitor.Core.Debug |
Quick debugging interface providing all info out of the box to the terminal with logging. See CONTRIBUTING.md for usage details. |
ZenMonitor.Core.Tests |
xUnit test suite. |
NuGet Packages
Four NuGet packages are built and published:
ZenMonitor.Core— interfaces, models, Null services.ZenMonitor.Core.Hosting— DI registration helpers.ZenMonitor.Core.Linux— Linux platform services.ZenMonitor.Core.Windows— Windows platform services.
Use using ZenMonitor.Core.Hosting; for initialization and DI, and using ZenMonitor.Core; for core components.
Contributing
Please read CONTRIBUTING.md for guidelines on code style, commit conventions, and pull requests.
| 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. |
-
net10.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on ZenMonitor.Core:
| Package | Downloads |
|---|---|
|
ZenMonitor.Core.Linux
Linux platform services and implementations for ZenMonitor.Core. |
|
|
ZenMonitor.Core.Hosting
Auto-detection and DI registration for ZenMonitor.Core platform services. |
|
|
ZenMonitor.Core.Windows
Windows platform services and implementations for ZenMonitor.Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-alpha.3 | 77 | 6/13/2026 |
| 2.0.0-alpha.2 | 59 | 6/12/2026 |
| 2.0.0-alpha.1 | 59 | 6/8/2026 |