Honua.Sdk.Grpc 1.13.1

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

Honua.Sdk.Grpc

gRPC client for Honua native services. Provides typed FeatureService queries, server-side streaming for large result sets, apply-edits with spatial filters and statistics, and ProcessService job lifecycle access for native hosts.

Part of the Honua .NET SDK — see the repo README for the full package catalog, browser/WASM support, authentication, and release policy.

Install

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.Grpc

Quick usage

using Honua.Sdk.Grpc;
using Honua.Sdk.Grpc.Extensions;
using Honua.Sdk.Grpc.Models;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();
services.AddHonuaGrpc(o => o.BaseAddress = new Uri("https://your-honua-server"));
using var provider = services.BuildServiceProvider();

var client = provider.GetRequiredService<IHonuaGrpcClient>();

var response = await client.QueryFeaturesAsync(
    new QueryFeaturesRequest
    {
        ServiceId = "parcels",
        LayerId = 0,
        Where = "city = 'Boulder'",
        OutFields = ["objectid", "parcel_no"],
        ResultRecordCount = 500,
    },
    cancellationToken);

await foreach (var page in client.QueryFeaturesStreamAsync(
    new QueryFeaturesRequest { ServiceId = "parcels", LayerId = 0 },
    cancellationToken))
{
    Console.WriteLine($"Page with {page.Features.Count} features");
}

Native Console and MAUI hosts can also resolve IHonuaProcessGrpcClient for the server-backed ProcessService path: validate plans, run dry runs, submit jobs, inspect job state, retrieve results, and cancel jobs while reusing the shared job models from Honua.Sdk.Processes.

using Honua.Sdk.Processes.Models;

var process = provider.GetRequiredService<IHonuaProcessGrpcClient>();

var plan = new HonuaAnalysisPlan
{
    PlanId = "plan-1",
    WorkflowFamily = "analyze",
    Outputs = ["featureLayer"],
    Steps =
    [
        new HonuaPlanStep
        {
            StepId = "buffer",
            Kind = "geoprocess",
            ProcessId = "geometry.buffer",
            Inputs = new Dictionary<string, string>
            {
                ["wkb"] = "AAAA",
                ["srid"] = "4326",
                ["distance"] = "25"
            }
        }
    ]
};

var validation = await process.ValidatePlanAsync(plan, cancellationToken);
var dryRun = await process.DryRunPlanAsync(plan, cancellationToken);
var job = await process.SubmitJobAsync(plan, cancellationToken: cancellationToken);
var status = await process.GetJobAsync(job.JobId, cancellationToken);

Console.WriteLine($"{validation.Valid}: {dryRun.Valid}: {status.Status}");

HonuaProcessGrpcClient uses the same HonuaGrpcClientOptions auth, deadline, retry, and PrimaryHttpMessageHandlerFactory behavior as the FeatureService client. Browser hosts should use Honua.Sdk.Processes REST instead of native gRPC.

HonuaProcessJobStatus.Status, HonuaProcessJobProgress.State, and HonuaProcessExecutionResult.Status are normalized to the OGC API Processes status values (accepted, running, successful, failed, dismissed) across both the REST and gRPC adapters so consumers get one contract regardless of transport.

ExecutePlanAsync and ExecutePlanStreamAsync are thin wrappers for the ProcessService proto methods. Current Honua Server deployments may return Unimplemented for those calls until synchronous execute and execute-stream support lands; use SubmitJobAsync, GetJobAsync, GetJobResultAsync, and CancelJobAsync for current server contract coverage.

DI-resolved IHonuaGrpcClient and IHonuaProcessGrpcClient instances are container-owned. Let the service provider dispose the underlying channel at shutdown; manually constructed concrete clients remain responsible for their own disposal.

Documentation

License

Apache 2.0

Product 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. 
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 Honua.Sdk.Grpc:

Package Downloads
Honua.Sdk

Umbrella / meta package for the Honua .NET SDK. Installing this package brings in every other Honua.Sdk.* package and exposes a single AddHonua(o => o.BaseAddress = ...) DI registration that fans out across every enabled sub-package. Use the narrower per-package facades (Honua.Sdk.Grpc, Honua.Sdk.Admin, etc.) directly if you want to depend on less.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.13.1 8 10/26/2026
1.12.0 1,549 10/19/2026
1.11.1 2,044 10/13/2026
1.11.0 1,891 10/12/2026
1.10.4 890 10/7/2026
1.10.3 272 10/5/2026
1.10.2 206 10/4/2026
1.10.1 493 9/29/2026
1.10.0 312 9/25/2026
1.9.0 131 9/25/2026
1.8.0 121 9/16/2026
1.7.0 144 9/15/2026
1.6.4 173 9/12/2026