Sidub.Licensing.Client
1.5.87
Prefix Reserved
dotnet add package Sidub.Licensing.Client --version 1.5.87
NuGet\Install-Package Sidub.Licensing.Client -Version 1.5.87
<PackageReference Include="Sidub.Licensing.Client" Version="1.5.87" />
<PackageVersion Include="Sidub.Licensing.Client" Version="1.5.87" />
<PackageReference Include="Sidub.Licensing.Client" />
paket add Sidub.Licensing.Client --version 1.5.87
#r "nuget: Sidub.Licensing.Client, 1.5.87"
#:package Sidub.Licensing.Client@1.5.87
#addin nuget:?package=Sidub.Licensing.Client&version=1.5.87
#tool nuget:?package=Sidub.Licensing.Client&version=1.5.87
Sidub.Licensing.Client
.NET client SDK for Monaiq licensing by Sidub — license enforcement, feature gating, rate limiting, and metered consumption reporting for applications that hold a Monaiq license.
Install
dotnet add package Sidub.Licensing.Client
Targets netstandard2.1 — usable from .NET Core 3.0+, .NET 5+ and modern .NET.
Setup
Register the SDK and bind your credential. The encoded credential (SIDUB_LIC_…) comes from the Monaiq portal or your license-delivery email and bundles everything the SDK needs.
using Sidub.Licensing;
using Sidub.Licensing.Client;
builder.Services.Configure<LicensingServiceOptions>(options =>
{
options.LicenseServiceUri = "https://api.monaiq.com/licensing";
options.ConsumptionServiceUri = "https://api.monaiq.com/consumption";
options.EncodedCredential = builder.Configuration["Licensing:EncodedCredential"];
});
builder.Services.AddSidubLicensing();
Check a license
ILicensingService is the enforcement surface: fetch a signed authorization, gate features against it, and record metered operations. The LicensingContextAccessor resolves the configured credential.
using Sidub.Licensing;
using Sidub.Licensing.Context;
using Sidub.Licensing.Exceptions;
using Sidub.Licensing.Features;
using Sidub.Licensing.Services;
public sealed class ReportService(ILicensingService licensing, LicensingContextAccessor contextAccessor)
{
private static readonly LicensingServiceReference ServiceReference = new();
public async Task RunAsync()
{
var context = await contextAccessor.GetContextAsync()
?? throw new InvalidOperationException("No license is configured.");
// A cryptographically signed, cached authorization for the configured license.
var authorization = await licensing.GetAuthorization(ServiceReference, context);
// Gate a rate-limited feature; the sliding window is enforced locally.
var feature = await licensing.GetLicenseFeature<RateLimitLicenseFeature>(
ServiceReference, context, "reports.generate");
try
{
await licensing.PerformOperation<RateLimitLicenseFeature, RateLimitLicenseFeatureState>(
ServiceReference, context, new RateLimitLicenseFeatureOperation(feature!, 1));
}
catch (RateLimitException)
{
// The throw IS the enforcement signal — surface an upgrade path to the user.
}
}
}
AssertLicense evaluates declarative assertions (feature existence, service access, rate limits) against an authorization; rate-limit violations throw RateLimitException rather than returning false.
Resilience built in
- Authorization fetches retry transient failures with bounded backoff and a per-attempt timeout; exhaustion surfaces as a typed
LicenseAuthorizationUnavailableException. - The last signature-verified authorization bridges brief API outages inside a bounded grace window — denials and revocations are never bridged.
- Metered consumption is buffered, aggregated, and delivered with exactly-once submission identity; buffered usage flushes on shutdown.
Learn more
- Documentation: https://docs.monaiq.com
- Getting started: https://docs.monaiq.com/getting-started/quickstart.html
- .NET guide: https://docs.monaiq.com/guides/dotnet.html
- Issues: https://github.com/Sidub-Inc/Sidub.Licensing/issues
© Sidub Inc. Proprietary license — see the LICENSE file.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Caching.Memory (>= 10.0.7)
- Sidub.Licensing (>= 1.5.87)
- Sidub.Platform.Authentication.Gremlin (>= 1.10.48)
- Sidub.Platform.Cryptography.AzureKeyVault (>= 1.10.48)
- Sidub.Platform.Storage (>= 1.10.48)
- Sidub.Platform.Storage.Gremlin (>= 1.10.48)
- Sidub.Platform.Storage.Http (>= 1.10.48)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sidub.Licensing.Client:
| Package | Downloads |
|---|---|
|
Docuoria
Deterministic, local-first PDF data extraction pipeline. Template-driven extract / classify / dry-run / execute engine with a CLI script surface suitable for AI agent automation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.87 | 81 | 8/9/2026 |
| 1.5.85 | 89 | 8/8/2026 |
| 1.5.74 | 99 | 8/3/2026 |
| 1.5.73 | 96 | 8/3/2026 |
| 1.5.72 | 94 | 8/3/2026 |
| 1.5.59 | 102 | 8/2/2026 |
| 1.5.57 | 98 | 8/1/2026 |
| 1.5.55 | 97 | 7/31/2026 |
| 1.5.51 | 97 | 7/31/2026 |
| 1.5.48 | 98 | 7/30/2026 |
| 1.5.1 | 159 | 3/24/2026 |
| 1.4.0 | 113 | 3/21/2026 |
| 1.3.44 | 112 | 3/17/2026 |
| 1.3.43 | 130 | 3/17/2026 |
| 1.3.38 | 119 | 3/7/2026 |
| 1.3.35 | 109 | 3/4/2026 |
| 1.3.30 | 119 | 3/1/2026 |
| 1.3.24 | 119 | 2/17/2026 |
| 1.3.23 | 131 | 2/17/2026 |
| 1.3.22 | 116 | 2/14/2026 |