Honua.Sdk
1.13.1
dotnet add package Honua.Sdk --version 1.13.1
NuGet\Install-Package Honua.Sdk -Version 1.13.1
<PackageReference Include="Honua.Sdk" Version="1.13.1" />
<PackageVersion Include="Honua.Sdk" Version="1.13.1" />
<PackageReference Include="Honua.Sdk" />
paket add Honua.Sdk --version 1.13.1
#r "nuget: Honua.Sdk, 1.13.1"
#:package Honua.Sdk@1.13.1
#addin nuget:?package=Honua.Sdk&version=1.13.1
#tool nuget:?package=Honua.Sdk&version=1.13.1
Honua.Sdk
Umbrella / meta package for the Honua .NET SDK.
Installing this one package brings in every other Honua.Sdk.* package and
exposes a single AddHonua(o => o.BaseAddress = ...) DI extension that fans
the shared cross-cutting configuration (base address, authentication, retry /
timeout, primary HTTP handler) out across every enabled sub-package.
Stable releases are on nuget.org and install anonymously. An unversioned add resolves to the newest stable release (the current SDK version is in the repo README). Prereleases stay on the authenticated GitHub Packages feed; see INSTALL.md.
dotnet add package Honua.Sdk
using Honua.Sdk;
builder.Services.AddHonua(o =>
{
o.BaseAddress = new Uri("https://your-honua-server");
o.BearerToken = jwt; // shared across every enabled client
// o.BearerTokenProvider = ct => ...; // also forwarded
});
After that, the common default clients (IHonuaGrpcClient,
IHonuaProcessGrpcClient, IHonuaAdminClient, IHonuaOgcFeaturesClient,
IHonuaProcessesClient, IHonuaWfsClient, IHonuaGeocodingClient, plus the
shared IHonuaFeatureQueryClient / IHonuaFeatureEditClient /
IHonuaFeatureAttachmentClient abstractions) are available for injection.
Opt-in modules such as Studio and ConsoleShare are available after enabling
their Use* flag.
Module opt-in flags
The umbrella registers the common default query, edit, admin, geocoding,
process, and WFS clients by default. Flip the Use* flags to enable the more
situational sub-packages or to opt out of any default module:
| Flag | Default | Registers |
|---|---|---|
UseGrpc |
true |
IHonuaGrpcClient (gRPC FeatureService) + IHonuaProcessGrpcClient (native ProcessService) |
UseAdmin |
true |
IHonuaAdminClient + IHonuaCatalogClient (REST control plane) |
UseGeocoding |
true |
IHonuaGeocodingClient + IHonuaBatchGeocodingClient |
UseOgcFeatures |
true |
IHonuaOgcFeaturesClient |
UseProcesses |
true |
IHonuaProcessesClient (OGC API Processes REST) |
UseWfs |
true |
IHonuaWfsClient (ships inside Honua.Sdk.OgcFeatures) |
UseGeoServices |
false |
IHonuaFeatureServerClient |
UseRouting |
false |
IHonuaRoutingClient (NAServer) |
UseImageServer |
false |
ImageServer raster client + provider-neutral IHonuaRasterDataClient (raster metadata, coverage statistics, windowed reads) |
UseScenes |
false |
IHonuaSceneClient |
UseSpec |
false |
IHonuaSpecClient (validate / plan / apply / artifacts) |
UseStac |
false |
IHonuaStacClient |
UseOgcRecords |
false |
IHonuaOgcRecordsClient |
UseStudio |
false |
IHonuaStudioReportsClient (analysis report retrieve / render) |
UseConsoleShare |
false |
IHonuaConsoleShareClient (share detail and access policy) |
UseGeoprocessingProfile |
false |
IHonuaFeatureGateway + the GeoServices FeatureServer client it routes attachments and time/having queries to |
Geoprocessing (GP) feature profile
The workhorse gRPC FeatureService exposes only
QueryFeatures/QueryFeaturesStream/ApplyEdits: it has no attachment RPCs
and no provider-neutral time-filter or grouped-statistics having contract.
A GP tool that reads features over gRPC therefore used to hit
NotSupportedException the moment it touched media or a time-aware / summary
query.
Enable UseGeoprocessingProfile to register the unified IHonuaFeatureGateway
(plus the GeoServices FeatureServer client it needs). The gateway routes each
operation to a capable provider: attachments resolve over GeoServices even when
features stream over gRPC, and temporal / having queries transparently fall
back from gRPC to a time/having-capable provider. Every feature query client also
exposes QueryCapabilities (SupportsTimeFilter, SupportsHaving,
SupportsStatistics, SupportsGroupBy) so a tool can pick a provider up front
instead of relying on routing.
builder.Services.AddHonua(o =>
{
o.BaseAddress = new Uri("https://your-honua-server");
o.UseGeoprocessingProfile = true; // gateway + GeoServices, no NotSupportedException
// later, in a GP tool — attachments and temporal queries just work:
// var gateway = sp.GetRequiredService<IHonuaFeatureGateway>();
// var media = await gateway.ListAttachmentsAsync(listRequest);
// var summary = await gateway.QueryAsync(temporalStatsRequest);
});
builder.Services.AddHonua(o =>
{
o.BaseAddress = new Uri("https://your-honua-server");
// Enable everything situational the app needs:
o.UseStac = true;
o.UseOgcRecords = true;
o.UseScenes = true;
o.UseStudio = true;
o.UseConsoleShare = true;
// Or trim a default off if the app does not need it:
o.UseGeocoding = false;
});
Setting every Use* flag to false is treated as misconfiguration and throws
HonuaConfigurationException at registration time.
Want narrower dependencies?
The per-package AddHonua* extensions remain available and unchanged. Use
them directly if you want to depend on only one (or a few) of the sub-packages
without pulling in the rest:
dotnet add package Honua.Sdk.Grpc --source honua
dotnet add package Honua.Sdk.Admin --source honua
dotnet add package Honua.Sdk.OgcFeatures --source honua
dotnet add package Honua.Sdk.Processes --source honua
dotnet add package Honua.Sdk.Studio --source honua
dotnet add package Honua.Sdk.ConsoleShare --source honua
builder.Services.AddHonuaGrpc (o => o.BaseAddress = serverUri);
builder.Services.AddHonuaAdmin (o => o.BaseAddress = serverUri);
builder.Services.AddHonuaOgcFeatures(o => o.BaseAddress = serverUri);
builder.Services.AddHonuaProcesses (o => o.BaseAddress = serverUri);
builder.Services.AddHonuaStudio (o => o.BaseAddress = serverUri);
builder.Services.AddHonuaConsoleShare(o => o.BaseAddress = serverUri);
The umbrella is purely a build-time aggregator. It does not duplicate any of the code that lives in a sub-package — it just calls into them.
See the repo README and INSTALL.md for the full catalog of packages and the per-package guides.
| 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
- Honua.Sdk.Abstractions (>= 1.13.1)
- Honua.Sdk.Admin (>= 1.13.1)
- Honua.Sdk.Catalogs (>= 1.13.1)
- Honua.Sdk.ConsoleShare (>= 1.13.1)
- Honua.Sdk.Field (>= 1.13.1)
- Honua.Sdk.Geometry (>= 1.13.1)
- Honua.Sdk.GeoServices (>= 1.13.1)
- Honua.Sdk.Grpc (>= 1.13.1)
- Honua.Sdk.Offline (>= 1.13.1)
- Honua.Sdk.OgcFeatures (>= 1.13.1)
- Honua.Sdk.Processes (>= 1.13.1)
- Honua.Sdk.Scenes (>= 1.13.1)
- Honua.Sdk.Spec (>= 1.13.1)
- Honua.Sdk.Studio (>= 1.13.1)
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
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.13.1 | 0 | 10/26/2026 |
| 1.12.0 | 2,474 | 10/19/2026 |
| 1.11.1 | 2,159 | 10/13/2026 |
| 1.11.0 | 3,287 | 10/12/2026 |
| 1.10.4 | 1,696 | 10/7/2026 |
| 1.10.3 | 432 | 10/5/2026 |
| 1.10.2 | 312 | 10/4/2026 |
| 1.10.1 | 967 | 9/29/2026 |
| 1.10.0 | 208 | 9/25/2026 |
| 1.9.0 | 119 | 9/25/2026 |
| 1.8.0 | 112 | 9/16/2026 |
| 1.7.0 | 139 | 9/15/2026 |
| 1.6.4 | 114 | 9/12/2026 |