Redpoint.ProgressMonitor 2026.1006.874

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

Redpoint.ProgressMonitor

This library provides APIs for monitoring and reporting the progress of arbitrary operations in console applications.

Read on for the following examples:

Example for a generic stream

You can monitor an operation that uses a stream like so:

// Inject these services.
IProgressFactory _progressFactory;
IMonitorFactory _monitorFactory;

using (var stream = new FileStream(...))
{
    // Start monitoring.
    var cts = new CancellationTokenSource();
    var progress = _progressFactory.CreateProgressForStream(stream);
    var monitorTask = Task.Run(async () =>
    {
        var monitor = _monitorFactory.CreateByteBasedMonitor();
        await monitor.MonitorAsync(
            progress,
            SystemConsole.ConsoleInformation,
            SystemConsole.WriteProgressToConsole,
            cts.Token);
    });

    // e.g. hash the stream.
    byte[] hashBytes;
    using (var hasher = SHA256.Create())
    {
        hashBytes = await hasher.ComputeHashAsync(stream);
    }

    // Stop monitoring.
    await SystemConsole.CancelAndWaitForConsoleMonitoringTaskAsync(monitorTask, cts);
}

Example for a HTTP download

If you're reporting progress on a HTTP stream, there's a few extra things to keep in mind:

  • You need to pass HttpCompletionOption.ResponseHeadersRead as the completion option, or HttpClient will buffer the entire response by default.
  • You need to wrap the stream you read from in PositionAwareStream, which is a class provided by this library. Since the underlying HTTP stream does not support Position or Length, this wrapping stream tracks the position as the stream is read from and allows the length to be passed in as a constructor parameter (which you should set based on the Content-Length header).

Below is a concise example of how to show the progress of downloading a file:

using (var client = new HttpClient())
{
    using (var target = new FileStream(targetPath, FileMode.Create, FileAccess.Write, FileShare.None))
    {
        var response = await client.GetAsync(downloadUrl, HttpCompletionOption.ResponseHeadersRead);
        using (var stream = new PositionAwareStream(
            await response.Content.ReadAsStreamAsync(),
            response.Content.Headers.ContentLength!.Value))
        {
            var cts = new CancellationTokenSource();
            var progress = _progressFactory.CreateProgressForStream(stream);
            var monitorTask = Task.Run(async () =>
            {
                var monitor = _monitorFactory.CreateByteBasedMonitor();
                await monitor.MonitorAsync(
                    progress,
                    SystemConsole.ConsoleInformation,
                    SystemConsole.WriteProgressToConsole,
                    cts.Token);
            });

            await stream.CopyToAsync(target);
            
            await SystemConsole.CancelAndWaitForConsoleMonitoringTaskAsync(monitorTask, cts);
        }
    }
}

The SystemConsole static class

The SystemConsole type provides common values for monitoring parameters, such as the current console information and rendering progress information to the console. You should replace the static values in the examples above with your own callbacks and values if you're not rendering progress to the console.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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. 
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 Redpoint.ProgressMonitor:

Package Downloads
Redpoint.PackageManagement

Provides APIs for installing, upgrading and uninstalling packages with WinGet and Homebrew.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.1006.874 0 1/6/2026
2026.1006.796 0 1/6/2026
2026.1005.451 67 1/5/2026
2026.1005.318 64 1/5/2026
2026.1004.1209 62 1/4/2026
2026.1003.1337 65 1/3/2026
2026.1003.1326 65 1/3/2026
2026.1003.1176 59 1/3/2026
2026.1003.794 68 1/3/2026
2026.1003.454 68 1/3/2026
2026.1003.243 72 1/3/2026
2026.1002.1153 61 1/2/2026
2026.1002.1147 70 1/2/2026
2026.1001.659 73 1/1/2026
2026.1001.423 71 1/1/2026
2025.1364.603 109 12/30/2025
2025.1364.600 106 12/30/2025
2025.1364.398 103 12/30/2025
2025.1363.45 106 12/29/2025
2025.1363.44 102 12/29/2025
2025.1362.728 107 12/28/2025
2025.1358.1371 195 12/24/2025
2025.1356.172 186 12/22/2025
2025.1356.142 191 12/22/2025
2025.1356.104 188 12/22/2025
2025.1355.597 175 12/21/2025
2025.1355.582 173 12/21/2025
2025.1355.546 141 12/21/2025
2025.1355.525 133 12/21/2025
2025.1355.514 132 12/21/2025
2025.1355.507 137 12/21/2025
2025.1355.499 144 12/21/2025
2025.1355.401 135 12/21/2025
2025.1355.392 134 12/21/2025
2025.1355.381 147 12/21/2025
2025.1355.371 137 12/21/2025
2025.1355.334 129 12/21/2025
2025.1355.308 134 12/21/2025
2025.1355.183 139 12/21/2025
2025.1354.739 152 12/20/2025
2025.1354.731 153 12/20/2025
2025.1354.39 189 12/20/2025
2025.1353.662 257 12/19/2025
2025.1353.593 264 12/19/2025
2025.1353.526 261 12/19/2025
2025.1353.502 257 12/19/2025
2025.1353.489 257 12/19/2025
2025.1353.400 266 12/19/2025
2025.1353.367 272 12/19/2025
2025.1352.1431 296 12/18/2025
2025.1352.1424 284 12/18/2025
2025.1351.813 296 12/17/2025
2025.1351.758 286 12/17/2025
2025.1351.440 287 12/17/2025
2025.1350.557 289 12/16/2025
2025.1350.516 287 12/16/2025
2025.1350.182 288 12/16/2025
2025.1350.147 286 12/16/2025
2025.1349.1160 279 12/15/2025
2025.1346.566 144 12/12/2025
2025.1345.778 439 12/11/2025
2025.1345.725 440 12/11/2025
2025.1339.426 207 12/5/2025
2025.1338.774 219 12/4/2025
2025.1338.756 214 12/4/2025
2025.1338.613 213 12/4/2025
2025.1338.582 218 12/4/2025
2025.1338.547 219 12/4/2025
2025.1338.381 220 12/4/2025
2025.1338.290 213 12/4/2025
2025.1335.333 511 12/1/2025
2025.1335.278 501 12/1/2025
2025.1335.262 508 12/1/2025
2025.1333.376 130 11/29/2025
2025.1332.339 184 11/28/2025
2025.1328.632 210 11/24/2025
2025.1328.624 206 11/24/2025
2025.1328.41 208 11/24/2025
2025.1327.977 214 11/23/2025
2025.1327.893 185 11/23/2025
2025.1324.9 419 11/20/2025
2025.1324.1 427 11/20/2025
2025.1320.233 254 11/16/2025
2025.1320.190 164 11/16/2025
2025.1320.178 161 11/16/2025
2025.1320.84 161 11/16/2025
2025.1320.61 164 11/16/2025
2025.1319.659 189 11/15/2025
2025.1319.291 211 11/15/2025
2025.1318.1000 255 11/14/2025
2025.1317.1416 306 11/13/2025
2025.1302.173 220 10/29/2025
2025.1302.116 215 10/29/2025
2025.1302.93 215 10/29/2025
2025.1301.273 209 10/28/2025
2025.1289.355 207 10/16/2025
2025.1288.1067 203 10/15/2025
2025.1288.939 200 10/15/2025
2025.1288.731 205 10/15/2025
2025.1288.643 209 10/15/2025
2025.1288.584 214 10/15/2025
2025.1287.261 211 10/14/2025
2025.1287.213 203 10/14/2025
2025.1286.369 221 10/13/2025
2025.1276.372 192 10/3/2025
2025.1253.415 216 9/10/2025
2025.1251.740 199 9/8/2025
2025.1249.408 153 9/6/2025
2025.1245.159 215 9/2/2025
2025.1241.1004 243 8/29/2025
2025.1241.337 259 8/29/2025
2025.1241.335 262 8/29/2025
2025.1239.82 256 8/27/2025
2025.1236.697 247 8/24/2025
2025.1235.897 141 8/23/2025
2025.1234.740 167 8/22/2025
2025.1234.625 174 8/22/2025
2025.1234.484 180 8/22/2025
2025.1234.426 183 8/22/2025
2025.1234.329 184 8/22/2025
2025.1234.304 191 8/22/2025
2025.1234.279 194 8/22/2025
2025.1234.210 197 8/22/2025
2025.1234.185 191 8/22/2025
2025.1234.108 210 8/22/2025
2025.1234.70 208 8/22/2025
2025.1233.957 212 8/21/2025
2025.1233.933 203 8/21/2025
2025.1233.915 205 8/21/2025
2025.1233.885 198 8/21/2025
2025.1233.764 209 8/21/2025
2025.1233.694 206 8/21/2025
2025.1233.677 211 8/21/2025
2025.1233.212 207 8/21/2025
2025.1233.74 202 8/21/2025
2025.1233.72 203 8/21/2025
2025.1233.28 200 8/21/2025
2025.1232.155 214 8/20/2025
2025.1232.154 204 8/20/2025
2025.1232.104 201 8/20/2025
2025.1232.102 208 8/20/2025
2025.1231.1026 213 8/19/2025
2025.1231.941 219 8/19/2025
2025.1231.499 208 8/19/2025
2025.1231.484 204 8/19/2025
2025.1231.297 212 8/19/2025
2025.1230.859 207 8/18/2025
2025.1228.220 143 8/16/2025
2025.1227.934 169 8/15/2025
2025.1227.904 165 8/15/2025
2025.1227.852 166 8/15/2025
2025.1227.816 166 8/15/2025
2025.1227.77 205 8/15/2025
2025.1226.857 212 8/14/2025
2025.1226.472 217 8/14/2025
2025.1226.163 219 8/14/2025
2025.1222.583 215 8/10/2025
2025.1222.562 213 8/10/2025
2025.1222.437 213 8/10/2025
2025.1222.425 195 8/10/2025
2025.1220.271 274 8/8/2025
2025.1220.225 274 8/8/2025
2025.1220.80 281 8/8/2025
2025.1219.568 292 8/7/2025
2025.1219.546 288 8/7/2025
2025.1219.514 290 8/7/2025
2025.1219.513 286 8/7/2025
2025.1219.511 277 8/7/2025
2025.1219.421 288 8/7/2025
2025.1219.377 289 8/7/2025
2025.1219.362 296 8/7/2025
2025.1219.361 286 8/7/2025
2025.1218.1281 293 8/6/2025
2025.1218.1266 297 8/6/2025
2025.1218.1264 291 8/6/2025
2025.1218.1255 292 8/6/2025
2025.1218.1223 294 8/6/2025
2025.1218.1180 284 8/6/2025
2025.1218.1166 283 8/6/2025
2025.1218.1154 280 8/6/2025
2025.1218.1088 297 8/6/2025
2025.1218.595 287 8/6/2025
2025.1218.554 295 8/6/2025
2025.1218.544 288 8/6/2025
2025.1218.523 289 8/6/2025
2025.1218.499 295 8/6/2025
2025.1218.427 296 8/6/2025
2025.1218.415 293 8/6/2025
2025.1218.187 295 8/6/2025
2025.1218.174 295 8/6/2025
2025.1218.148 294 8/6/2025
2025.1218.123 284 8/6/2025
2025.1217.886 289 8/5/2025
2025.1217.560 293 8/5/2025
2025.1217.516 290 8/5/2025
2025.1217.512 297 8/5/2025
2025.1217.503 298 8/5/2025
2025.1216.1103 255 8/4/2025
2025.1216.1025 251 8/4/2025
2025.1216.978 231 8/4/2025
2025.1216.897 230 8/4/2025
2025.1216.893 232 8/4/2025
2025.1216.884 232 8/4/2025
2025.1216.873 231 8/4/2025
2025.1216.824 227 8/4/2025
2025.1216.767 233 8/4/2025
2025.1216.745 234 8/4/2025
2025.1216.411 208 8/4/2025
2025.1216.396 207 8/4/2025
2025.1216.386 205 8/4/2025
2025.1216.357 205 8/4/2025
2025.1216.347 197 8/4/2025
2025.1216.334 209 8/4/2025
2025.1216.319 203 8/4/2025
2025.1215.930 171 8/3/2025
2025.1215.928 176 8/3/2025
2025.1215.911 177 8/3/2025
2025.1215.892 175 8/3/2025
2025.1215.842 173 8/3/2025
2025.1209.1064 168 7/28/2025
2025.1209.1061 163 7/28/2025
2025.1209.1047 173 7/28/2025
2025.1209.1038 170 7/28/2025
2025.1209.1034 169 7/28/2025
2025.1209.948 175 7/28/2025
2025.1209.881 182 7/28/2025
2025.1209.773 185 7/28/2025
2025.1209.765 180 7/28/2025
2025.1209.758 179 7/28/2025
2025.1209.727 195 7/28/2025
2025.1209.658 180 7/28/2025
2025.1209.300 183 7/28/2025
2025.1209.284 180 7/28/2025
2025.1209.264 177 7/28/2025
2025.1209.227 182 7/28/2025
2025.1209.198 178 7/28/2025
2025.1209.179 191 7/28/2025
2025.1208.826 197 7/27/2025
2025.1208.627 158 7/27/2025
2025.1208.617 160 7/27/2025
2025.1208.570 157 7/27/2025
2025.1208.568 166 7/27/2025
2025.1208.566 166 7/27/2025
2025.1206.491 495 7/25/2025
2025.1206.247 528 7/25/2025
2025.1205.230 540 7/24/2025
2025.1203.826 602 7/22/2025
2025.1202.906 553 7/21/2025
2025.1202.904 554 7/21/2025
2025.1202.283 474 7/21/2025
2025.1201.470 305 7/20/2025
2025.1199.287 193 7/18/2025
2025.1198.1048 209 7/17/2025
2025.1198.682 210 7/17/2025
2025.1198.638 206 7/17/2025
2025.1198.574 209 7/17/2025
2025.1198.187 217 7/17/2025
2025.1191.922 216 7/10/2025
2025.1191.235 224 7/10/2025
2025.1190.175 209 7/9/2025
2025.1189.851 213 7/8/2025
2025.1189.841 221 7/8/2025
2025.1187.587 216 7/6/2025
2025.1183.853 227 7/2/2025
2025.1181.644 206 6/30/2025
2025.1175.340 228 6/24/2025
2025.1174.62 218 6/23/2025
2025.1171.352 214 6/20/2025
2025.1169.413 213 6/18/2025
2025.1166.1191 213 6/15/2025
2025.1166.1178 216 6/15/2025
2025.1166.1177 209 6/15/2025
2025.1159.445 192 6/8/2025
2025.1159.364 185 6/8/2025
2025.1159.324 193 6/8/2025
2025.1155.438 216 6/4/2025
2025.1141.1424 220 5/21/2025
2025.1140.383 222 5/20/2025
2025.1140.377 219 5/20/2025
2025.1139.983 220 5/19/2025
2025.1139.952 217 5/19/2025
2025.1139.941 227 5/19/2025
2025.1139.855 227 5/19/2025
2025.1139.850 218 5/19/2025
2025.1139.837 215 5/19/2025
2025.1139.811 221 5/19/2025
2025.1139.806 220 5/19/2025
2025.1139.796 222 5/19/2025
2025.1139.729 218 5/19/2025
2025.1139.719 218 5/19/2025
2025.1139.706 221 5/19/2025
2025.1139.694 223 5/19/2025
2025.1139.679 221 5/19/2025
2025.1139.662 215 5/19/2025
2025.1139.638 197 5/19/2025
2025.1139.628 199 5/19/2025
2025.1139.626 206 5/19/2025
2025.1139.619 202 5/19/2025
2025.1139.605 198 5/19/2025
2025.1139.600 204 5/19/2025
2025.1139.583 217 5/19/2025
2025.1139.573 200 5/19/2025
2025.1139.564 202 5/19/2025
2025.1139.552 200 5/19/2025
2025.1139.543 206 5/19/2025
2025.1138.909 204 5/18/2025
2025.1136.150 275 5/16/2025
2025.1135.267 280 5/15/2025
2025.1135.143 281 5/15/2025
2025.1133.453 281 5/13/2025
2025.1133.351 289 5/13/2025
2025.1133.349 293 5/13/2025
2025.1133.347 290 5/13/2025
2025.1130.236 135 5/10/2025
2025.1129.831 163 5/9/2025
2025.1129.346 1,160 5/9/2025
2023.1176.407 262 6/25/2023
2023.1176.396 222 6/25/2023
2023.1176.363 239 6/25/2023
2023.1176.360 268 6/25/2023
2023.1175.638 228 6/24/2023
2023.1170.907 223 6/19/2023
2023.1170.900 228 6/19/2023
2023.1167.562 222 6/16/2023
2023.1167.556 236 6/16/2023
2023.1167.496 253 6/16/2023
2023.1166.1008 247 6/15/2023
2023.1166.938 222 6/15/2023
2023.1166.713 243 6/15/2023
2023.1166.699 227 6/15/2023
2023.1165.1065 239 6/14/2023
2023.1165.888 236 6/14/2023
2023.1165.878 239 6/14/2023
2023.1165.861 228 6/14/2023
2023.1165.828 246 6/14/2023
2023.1165.686 245 6/14/2023
2023.1165.653 234 6/14/2023
2023.377.1003 317 5/31/2023
2023.377.909 257 5/31/2023
2023.377.558 257 5/31/2023
2023.365.1417 301 5/30/2023
2023.365.1350 250 5/30/2023
2023.365.1327 238 5/30/2023
2023.365.1306 261 5/30/2023
2023.365.1198 265 5/30/2023
2023.365.1046 248 5/30/2023
2023.365.710 246 5/30/2023
2023.365.703 255 5/30/2023
2023.365.336 255 5/30/2023
2023.174.636 244 6/14/2023
2023.174.616 227 6/14/2023
2023.174.442 240 6/14/2023
2023.162.1243 235 6/13/2023
2023.162.1225 243 6/13/2023
2023.162.1023 226 6/13/2023
2023.162.948 231 6/13/2023
2023.162.865 231 6/13/2023
2023.162.770 264 6/13/2023
2023.162.734 248 6/13/2023
2023.162.701 244 6/13/2023
2023.162.470 258 6/13/2023
2023.162.418 234 6/13/2023
2023.150.1142 234 6/12/2023
2023.150.1121 242 6/12/2023
2023.150.1095 241 6/12/2023
2023.150.1081 225 6/12/2023
2023.150.1066 238 6/12/2023
2023.150.999 232 6/12/2023
2023.150.916 261 6/12/2023
2023.150.865 238 6/12/2023
2023.150.831 236 6/12/2023
2023.150.774 237 6/12/2023
2023.150.613 232 6/12/2023
2023.150.558 245 6/12/2023
2023.150.456 261 6/12/2023
2023.150.450 259 6/12/2023
2023.150.220 260 6/12/2023
2023.150.179 261 6/12/2023
2023.150.167 272 6/12/2023
2023.138.864 248 6/11/2023
2023.138.837 242 6/11/2023
2023.138.363 249 6/11/2023
2023.138.224 285 6/11/2023
2023.138.213 227 6/11/2023
2023.126.1167 258 6/11/2023
2023.126.1148 248 6/10/2023
2023.126.838 264 6/10/2023
2023.126.794 257 6/10/2023
2023.126.745 254 6/10/2023
2023.126.714 268 6/10/2023
2023.126.662 266 6/10/2023
2023.114.544 244 6/9/2023
2023.114.351 248 6/9/2023
2023.90.1030 259 6/7/2023
2023.90.1009 236 6/7/2023
2023.54.1152 239 6/4/2023
2023.54.419 265 6/4/2023
2023.54.198 243 6/4/2023
2023.54.60 228 6/4/2023
2023.54.48 260 6/4/2023
2023.42.745 242 6/3/2023
2023.30.1191 245 6/2/2023
2023.30.1172 261 6/2/2023
2023.30.1163 252 6/2/2023
2023.30.1147 250 6/2/2023
2023.30.1136 278 6/2/2023
2023.30.765 263 6/2/2023
2023.30.761 251 6/2/2023
2023.30.747 265 6/2/2023
2023.30.734 253 6/2/2023