Streamix 1.1.0
dotnet add package Streamix --version 1.1.0
NuGet\Install-Package Streamix -Version 1.1.0
<PackageReference Include="Streamix" Version="1.1.0" />
<PackageVersion Include="Streamix" Version="1.1.0" />
<PackageReference Include="Streamix" />
paket add Streamix --version 1.1.0
#r "nuget: Streamix, 1.1.0"
#:package Streamix@1.1.0
#addin nuget:?package=Streamix&version=1.1.0
#tool nuget:?package=Streamix&version=1.1.0
Streamix
Idiomatic reactive streams for .NET.
Streamix gives you a fluent, async-first stream model on top of IAsyncEnumerable<T> with explicit semantics for composition, concurrency, ordering, cancellation, and backpressure.
Installation
dotnet add package Streamix
What You Get
Stream<T>for 0..N values andSingle<T>for 0..1 values- Fluent operators for filtering, mapping, flattening, timing, retries, and recovery
- Explicit concurrency and ordering control
- Cold streams by default, with hot-stream primitives such as
Publish,Replay, andRefCount - LINQ/query syntax support for the common sequential surface
- Interop with
IAsyncEnumerable<T>, channels, and an optional AsyncRx.NET extensions package
Basic Example
await Stream.Range(1, 10)
.Filter(x => x % 2 == 0)
.Map(x => x * 10)
.ForEachAsync(Console.WriteLine);
A Little More
var products =
GetUser(id) // Single<User>
.FlatMap(user => GetOrders(user)) // Stream<Order>
.Map(o => o.Product); // Stream<string>
Common patterns:
Map/MapAwait/MapOrderedFilter/FilterAwaitFlatMap/FlatMapAwait/FlatMapOrdered/ConcatMapScopedAsync(Structured Concurrency)Publish/Replay/RefCountRetry/Timeout/OnErrorResumeToListAsync,CountAsync,FirstAsync,SingleAsync
Streamix keeps concurrency, ordering, hot/cold behavior, and backpressure explicit instead of implicit.
Observability and Debugging
The core package also includes lightweight DEVX operators for naming and inspecting pipelines:
Named(string name)tags a stream or single for downstream diagnostics.Log()writesNext(...),Error(...), andCompletedsignals.Debug()emits the same signal shape toSystem.Diagnostics.Debug.Checkpoint(string name)adds timing markers around a stage.Trace()emits lifecycle signals such asSubscribe,Request(1),Next(...),Completed,Cancelled, andDispose.
await Stream.Range(1, 10)
.Named("Orders")
.Log()
.Filter(x => x % 2 == 0)
.ForEachAsync(Console.WriteLine);
Use the repository docs for fuller signal semantics and examples.
Learn More
- Overview and package map: README.md
- Developer guide: GETTING-STARTED.md
- Architecture and design notes: ARCHITECTURE.md
- Repository: github.com/khurram-uworx/streamix
Status
Streamix is still early-stage, but this package README is intended to describe the shipped core surface only. Use the root repository README for the fuller product contract, roadmap, and release checklist.
| 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
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Streamix:
| Package | Downloads |
|---|---|
|
Streamix.AspNetCore
ASP.NET Core integration for Streamix - enables seamless Server-Sent Events, WebSocket streaming, and HTTP response streaming. |
|
|
Streamix.Extensions
A lightweight, fluent, async-first streaming library for .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.