Skip to main content

honua-admin

Admin / control-plane client for Honua Server, the multi-protocol geospatial server behind Honua -- inspect and configure services, connections, layers, styles, and metadata resources from Python, and manage server state declaratively through manifests. Sync (HonuaAdminClient) and async (AsyncHonuaAdminClient) clients included.

Status: Alpha (0.x). APIs may change before 1.0. Breaking changes to the public API are gated by a compatibility snapshot, and the client checks server compatibility at runtime via check_compatibility().

What it does

  • Compatibility-first: check_compatibility() and get_capability_flags() read the server's /api/v1/admin/capabilities contract, so callers can gate control-plane calls on what the connected server actually supports (manifest_apply, manifest_dry_run, metadata_resources, ...).
  • Services: list_services(), get_service_settings(), update_protocols(), update_mapserver_settings().
  • Layers and data: list_layers(), publish_layer(), set_layer_enabled() / set_service_layers_enabled(), and discover_tables() for source-database table discovery.
  • Connections: typed CRUD plus test_connection() / test_draft_connection(), validate_encryption(), and rotate_encryption_key().
  • Styles: OGC Styles API (list_styles(), get_stylesheet(), update_style()) and per-layer styles (get_layer_style(), update_layer_style()).
  • Metadata resources: typed CRUD over the server's metadata catalog.
  • Manifests as declarative state: get_manifest() exports the server's metadata state; apply_manifest() applies a manifest with dry-run and prune options and idempotency-key support.
  • ArcGIS migration tooling: scan_migration_source() drives the server-side migration inventory scanner (POST /api/v1/admin/import/scan), and the offline scan_arcpy_script() / scan_arcpy_source() helpers inventory ArcPy scripts without a server or an arcpy install.
  • Reuses honua-sdk's retry transport, auth providers, and HonuaHttpError envelopes, so data-plane and control-plane code share one error-handling surface.

Install

pip install honua-admin

Installs a compatible honua-sdk automatically (shared HTTP, auth, and error utilities). Requires Python 3.11+.

The supported server baseline and release gate policy are documented in the monorepo compatibility guide.

Minimal Example

from honua_admin import HonuaAdminClient

with HonuaAdminClient("https://your-honua-server.com", api_key="honua-api-key") as admin:
    compatibility = admin.check_compatibility()
    if not compatibility.supported:
        raise RuntimeError("; ".join(compatibility.reasons))

    services = admin.list_services()
    for svc in services:
        print(f"{svc.service_name}: {svc.layer_count} layers")

Always use the with HonuaAdminClient(...) as admin: form -- it guarantees the underlying httpx connections are returned to the pool on exit, even when a request raises. The same auth_provider= argument the data-plane client accepts (e.g. RefreshableBearerTokenProvider) works here unchanged.

Async

from honua_admin import AsyncHonuaAdminClient

async with AsyncHonuaAdminClient(
    "https://your-honua-server.com",
    api_key="honua-api-key",
) as admin:
    compatibility = await admin.check_compatibility()
    if not compatibility.supported:
        raise RuntimeError("; ".join(compatibility.reasons))

    services = await admin.list_services()
    for svc in services:
        print(f"{svc.service_name}: {svc.layer_count} layers")

The async client mirrors the sync method surface (CRUD helpers, manifest operations, migration scans, capability checks) and shares the same retry transport, auth providers, and HonuaHttpError envelopes.

Documentation

Rendered docs site: honua-io.github.io/honua-sdk-python. Platform docs: honua.io and honua.gitbook.io/honuaio.

Related: honua-sdk (the data-plane client this package builds on), honua-sdk-js (JS/TS SDKs + MCP server), honua-sdk-dotnet (.NET SDKs).

License

Apache-2.0

Metadata

Release files for honua-admin 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for honua-admin 0.1.11
File Size Uploaded
honua_admin-0.1.11.tar.gz 57.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for honua-admin 0.1.11
File Interpreter ABI Platform
honua_admin-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 117.3 kB

Release files / honua_admin-0.1.11.tar.gz

Download URL honua_admin-0.1.11.tar.gz
Size 57.7 kB
Tags Source
SHA-256 checksum
How to use checksums
da683f41cfa73a183463f46aa814588668fd0edaf4f841204f6ca2f80418ab9f
BLAKE2b-256 checksum
How to use checksums
6d04e2e6defdd1db6756b8f3db040718469fbfc364e1dbf0bfeadf687ee50e40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / honua_admin-0.1.11-py3-none-any.whl

Download URL honua_admin-0.1.11-py3-none-any.whl
Size 59.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03ac674d80effded7bbcf3f94f6edbc0c93f9dd3f0602aaf1be885c498e5b4b4
BLAKE2b-256 checksum
How to use checksums
cd4d6f33859abe13aee2600e13507d0e5d9e0c4e68f5db7bd73f7af96364bfd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.12

2 release files

This release

0.1.11 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page