Spinneret.Functional
1.0.0-alpha.17
dotnet add package Spinneret.Functional --version 1.0.0-alpha.17
NuGet\Install-Package Spinneret.Functional -Version 1.0.0-alpha.17
<PackageReference Include="Spinneret.Functional" Version="1.0.0-alpha.17" />
<PackageVersion Include="Spinneret.Functional" Version="1.0.0-alpha.17" />
<PackageReference Include="Spinneret.Functional" />
paket add Spinneret.Functional --version 1.0.0-alpha.17
#r "nuget: Spinneret.Functional, 1.0.0-alpha.17"
#:package Spinneret.Functional@1.0.0-alpha.17
#addin nuget:?package=Spinneret.Functional&version=1.0.0-alpha.17&prerelease
#tool nuget:?package=Spinneret.Functional&version=1.0.0-alpha.17&prerelease
Spinneret
Spin up your .NET app.
A spinneret is the organ a spider uses to spin its web — different silks for different jobs, woven together. Spinneret is that organ for .NET: small, sharply focused packages that spin the threads a serious application hangs from.
| Package | What it spins |
|---|---|
Spinneret.Functional |
Result / Either with Match/Map/Bind combinators and an awaitable TaskResult |
Spinneret.Mediator |
Request dispatch with declarative, tag-invalidated caching and pipeline behaviors |
Spinneret.Parsing |
Parse-don't-validate boundaries with localizable property errors |
Spinneret.Queue |
Durable command queue — the app owns the retry policy per command |
Spinneret.Queue.Sql |
A transactional outbox in your own database, with in-host delivery and dead letters |
Spinneret.Queue.Mssql |
SQL Server storage for Spinneret.Queue.Sql |
Spinneret.Queue.Postgres |
PostgreSQL storage for Spinneret.Queue.Sql |
Spinneret.Queue.CloudTasks |
Google Cloud Tasks delivery with OIDC-authenticated dispatch, direct or over a SQL outbox |
Spinneret.Queue.Firestore |
Firestore-backed dead-letter store for any queue |
Spinneret.Scheduler |
Recurring jobs declared in code, installed idempotently at startup |
Spinneret.Scheduler.Firestore |
Firestore-backed scheduling with transactional dispatch |
Spinneret.Scheduler.AspNetCore |
HTTP trigger that sweeps due jobs once per request |
Spinneret.Scheduler.Sql |
Relational scheduling, dispatched onto the SQL outbox in the same transaction |
Spinneret.Scheduler.Mssql |
SQL Server storage for Spinneret.Scheduler.Sql |
Spinneret.Scheduler.Postgres |
PostgreSQL storage for Spinneret.Scheduler.Sql |
Spinneret.ViewModel |
MVVM for Blazor: typed two-way bindings with validation state |
Spinneret.View |
Blazor views that resolve their view model from DI |
Errors are values. Boundaries parse, they don't validate. Your app owns its behavior — a typo fails the host at boot, not a delivery at 2 a.m. Infrastructure is a seam.
Full documentation, examples, and the rest of the web: github.com/spinneret-net/spinneret
MIT licensed. Spin freely.
| 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 (14)
Showing the top 5 NuGet packages that depend on Spinneret.Functional:
| Package | Downloads |
|---|---|
|
Spinneret.Mediator
Lightweight in-process request dispatch with declarative, tag-invalidated caching and request coalescing. |
|
|
Spinneret.Queue
Durable command queue abstractions where the application owns the retry policy per command type: attempts, backoff, channels, dead-lettering. |
|
|
Spinneret.Scheduler
Recurring jobs declared in code on cron schedules, installed idempotently at startup and dispatched as mediator requests. |
|
|
Spinneret.Parsing
Parse-don't-validate boundaries: one pass produces a typed model or a complete, localizable list of property errors. |
|
|
Spinneret.Scheduler.Firestore
Firestore-backed implementation of Spinneret.Scheduler with transactional dispatch, usable behind any queue transport. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-alpha.17 | 261 | 11/4/2026 |
| 1.0.0-alpha.16 | 264 | 10/21/2026 |
| 1.0.0-alpha.15 | 129 | 10/20/2026 |
| 1.0.0-alpha.14 | 139 | 10/20/2026 |
| 1.0.0-alpha.13 | 351 | 10/9/2026 |
| 1.0.0-alpha.12 | 315 | 9/27/2026 |
| 1.0.0-alpha.11 | 183 | 9/23/2026 |
| 1.0.0-alpha.10 | 289 | 9/7/2026 |
| 1.0.0-alpha.9 | 293 | 8/20/2026 |
| 1.0.0-alpha.8 | 176 | 8/19/2026 |
| 1.0.0-alpha.7 | 171 | 8/16/2026 |
| 1.0.0-alpha.6 | 162 | 8/15/2026 |
| 1.0.0-alpha.5 | 148 | 8/15/2026 |
| 1.0.0-alpha.4 | 142 | 8/13/2026 |
| 1.0.0-alpha.3 | 131 | 8/13/2026 |
| 1.0.0-alpha.2 | 129 | 8/12/2026 |
| 1.0.0-alpha.1 | 120 | 8/11/2026 |