migrate-honcho

Honcho Python SDK Migration (v1.6.0 → v2.0.0)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "migrate-honcho" with this command: npx skills add plastic-labs/honcho/plastic-labs-honcho-migrate-honcho

Honcho Python SDK Migration (v1.6.0 → v2.0.0)

Overview

This skill migrates code from honcho Python SDK v1.6.0 to v2.0.0 (required for Honcho 3.0.0+).

Key breaking changes:

  • AsyncHoncho /AsyncPeer /AsyncSession removed → use .aio accessor

  • "Observation" → "Conclusion" terminology

  • Representation class removed (returns str now)

  • get_config /set_config → get_configuration /set_configuration

  • Streaming via chat_stream() instead of chat(stream=True)

  • poll_deriver_status() removed

  • .core property removed

Quick Migration

  1. Update async architecture

Before

from honcho import AsyncHoncho, AsyncPeer, AsyncSession

async_client = AsyncHoncho() peer = await async_client.peer("user-123") response = await peer.chat("query")

After

from honcho import Honcho

client = Honcho() peer = await client.aio.peer("user-123") response = await peer.aio.chat("query")

Async iteration

async for p in client.aio.peers(): print(p.id)

  1. Replace observations with conclusions

Before

from honcho import Observation, ObservationScope, AsyncObservationScope

scope = peer.observations scope = peer.observations_of("other-peer") rep = scope.get_representation()

After

from honcho import Conclusion, ConclusionScope, ConclusionScopeAio

scope = peer.conclusions scope = peer.conclusions_of("other-peer") rep = scope.representation() # Returns str

  1. Update representation handling

Before

from honcho import Representation, ExplicitObservation, DeductiveObservation

rep: Representation = peer.working_rep() print(rep.explicit) print(rep.deductive) if rep.is_empty(): print("No observations")

After

rep: str = peer.representation() print(rep) # Just a string now if not rep: print("No conclusions")

  1. Rename configuration methods

Before

config = peer.get_config() peer.set_config({"observe_me": False}) session.get_config() client.get_config()

After

from honcho.api_types import PeerConfig, SessionConfiguration, WorkspaceConfiguration

config = peer.get_configuration() peer.set_configuration(PeerConfig(observe_me=False)) session.get_configuration() client.get_configuration()

  1. Update method names

Before

peer.working_rep() peer.get_context() peer.get_sessions() session.get_context() session.get_summaries() session.get_messages() session.get_peers() session.get_peer_config() client.get_peers() client.get_sessions() client.get_workspaces()

After

peer.representation() peer.context() peer.sessions() session.context() session.summaries() session.messages() session.peers() session.get_peer_configuration() client.peers() client.sessions() client.workspaces()

  1. Update streaming

Before

response = peer.chat("query", stream=True) for chunk in response: print(chunk, end="")

After

stream = peer.chat_stream("query") for chunk in stream: print(chunk, end="")

  1. Update queue status (formerly deriver)

Before

from honcho_core.types import DeriverStatus

status = client.get_deriver_status() status = client.poll_deriver_status(timeout=300.0) # Removed!

After

from honcho.api_types import QueueStatusResponse

status = client.queue_status()

poll_deriver_status removed - implement polling manually if needed

  1. Update representation parameters

Before

rep = peer.working_rep( include_most_derived=True, max_observations=50 )

After

rep = peer.representation( include_most_frequent=True, max_conclusions=50 )

  1. Move update_message to session

Before

updated = client.update_message(message=msg, metadata={"key": "value"}, session="sess-id")

After

updated = session.update_message(message=msg, metadata={"key": "value"})

  1. Update card() return type

Before

card: str = peer.card() # Returns str

After

card: list[str] | None = peer.card() # Returns list[str] | None if card: print("\n".join(card))

Quick Reference Table

v1.6.0 v2.0.0

AsyncHoncho()

Honcho()

  • .aio accessor

AsyncPeer

Peer

  • .aio accessor

AsyncSession

Session

  • .aio accessor

Observation

Conclusion

ObservationScope

ConclusionScope

AsyncObservationScope

ConclusionScopeAio

Representation

str

.observations

.conclusions

.observations_of()

.conclusions_of()

.get_config()

.get_configuration()

.set_config()

.set_configuration()

.working_rep()

.representation()

.get_context()

.context()

.get_sessions()

.sessions()

.get_peers()

.peers()

.get_messages()

.messages()

.get_summaries()

.summaries()

.get_deriver_status()

.queue_status()

.poll_deriver_status()

(removed)

.get_peer_config()

.get_peer_configuration()

.set_peer_config()

.set_peer_configuration()

client.update_message()

session.update_message()

chat(stream=True)

chat_stream()

include_most_derived=

include_most_frequent=

max_observations=

max_conclusions=

last_user_message=

search_query=

config=

configuration=

PeerContext

PeerContextResponse

DeriverStatus

QueueStatusResponse

client.core

(removed)

Detailed Reference

For comprehensive details on each change, see:

  • DETAILED-CHANGES.md - Full API change documentation

  • MIGRATION-CHECKLIST.md - Step-by-step checklist

New Exception Types

from honcho import ( HonchoError, APIError, BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, ServerError, TimeoutError, ConnectionError, )

New Import Locations

Configuration types

from honcho.api_types import ( PeerConfig, SessionConfiguration, WorkspaceConfiguration, SessionPeerConfig, QueueStatusResponse, PeerContextResponse, )

Async type hints

from honcho import HonchoAio, PeerAio, SessionAio

Message types (note: Params is plural now)

from honcho import Message, MessageCreateParams

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

honcho-integration

No summary provided by upstream source.

Repository SourceNeeds Review
General

migrate-honcho-ts

No summary provided by upstream source.

Repository SourceNeeds Review
General

honcho-setup

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated