Problem Summary
The server Portal facade and seed/bootstrap contract now exist, but honua-sdk has no client for repointing an ArcGIS-style Portal workflow to Honua /sharing/rest. Consumers currently need ad hoc HTTP for token issuance, Portal search, item lookup, and item-to-FeatureServer resolution.
Why It Matters Now
honua-server#2614 is closing the cross-SDK interop tail of the Portal facade. A Python path lets migration and automation code authenticate, discover Portal items, and open the existing GeoServices FeatureServer surface without duplicating wire semantics.
Acceptance Criteria
Affected Repositories
honua-sdk-python (implementation owner)
honua-server (seed/contract and release-proof interop)
Gate-Tier Impact
- SDK lint/type/test/compatibility gates
- Server SDK compatibility evidence after release
Release/Deploy Impact
Requires a versioned honua-sdk release before the server compatibility manifest can claim the Python Portal surface. No server deployment change.
Non-Goals
- Reimplementing Portal server behavior in the SDK.
- UI, map rendering, interactive OAuth browser UX, or token refresh orchestration.
- Changes to the proprietary
honua-gp or deprecated honua-arcpy packages.
Contract and Coordination
Problem Summary
The server Portal facade and seed/bootstrap contract now exist, but
honua-sdkhas no client for repointing an ArcGIS-style Portal workflow to Honua/sharing/rest. Consumers currently need ad hoc HTTP for token issuance, Portal search, item lookup, and item-to-FeatureServer resolution.Why It Matters Now
honua-server#2614is closing the cross-SDK interop tail of the Portal facade. A Python path lets migration and automation code authenticate, discover Portal items, and open the existing GeoServices FeatureServer surface without duplicating wire semantics.Acceptance Criteria
honua_sdk./sharing/restURL and normalize it safely.generate_token, preserving the server contract thatexpiresis Unix milliseconds.info,portals/self, pagedsearch, and item lookup using Esri error envelopes.httpxmock tests for token, paging, errors, URL resolution, and credential propagation.scripts/gen_sync.pyand keep generated sync/async surfaces aligned.honua-servertests/seed/portal-compat.yaml, or cross-link the server compatibility lane that supplies it.Affected Repositories
honua-sdk-python(implementation owner)honua-server(seed/contract and release-proof interop)Gate-Tier Impact
Release/Deploy Impact
Requires a versioned
honua-sdkrelease before the server compatibility manifest can claim the Python Portal surface. No server deployment change.Non-Goals
honua-gpor deprecatedhonua-arcpypackages.Contract and Coordination
docs/gis/PORTAL_FACADE_SEED_CONTRACT.md