CpuT 1.0.0

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

CpuT: CPU Temperature Library

A lightweight, framework-independent .NET library for accessing CPU temperature readings.

CpuT provides temperature readings on demand through a small API. It does not perform polling, scheduling, logging, alerts, or background monitoring.

Windows is the primary target, Linux is supported, and macOS is currently out of scope.

An unavailable temperature is better than a false temperature.

What This Library Solves

CPU temperature access varies across platforms, hardware, drivers, and firmware. CpuT provides a focused API that handles:

  • Available temperature sources
  • Reading validation
  • Provider fallback
  • Clear unavailable or failure results

Give me the current CPU temperature, if a reliable reading is available.

Why CpuT?

Broad hardware libraries such as LibreHardwareMonitor provide complete hardware telemetry. CpuT focuses specifically on CPU temperature access.

CpuT provides a small, focused API with provider fallback and validation, without requiring applications to implement platform-specific CPU temperature logic themselves.

Current Status

The repository includes the Core API, provider discovery and caching, Windows and Linux providers, tests, and a sample.

  • Linux: CPU-related hwmon sensors through known drivers and a metadata-filtered fallback.
  • Windows: CPU-identified WMI/ACPI thermal zones when exposed by firmware.
  • The kernel-driver provider remains unsupported because CpuT does not bundle or install a driver.

Scope

CpuT provides CPU temperature readings only. It does not include:

  • Polling or background monitoring
  • Scheduling, logging, or alerts
  • GUI or persistence
  • General hardware telemetry
  • GPU, memory, storage, or other system metrics
  • macOS support

Disposal and Lifecycle

CpuT takes ownership of providers passed to its constructor and disposes disposable providers when the CpuT instance is disposed.

Do not call Dispose() from inside a provider read, as disposal waits for active reads and can deadlock.

Dispose() waits for in-flight reads and has no built-in timeout. A provider that never returns can block disposal indefinitely.

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.
  • net10.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 106 8/29/2026