Skip to main content

:::note Generated reference Generated from honeyframeapi 0.1.8 — do not edit by hand. :::

honeyframeapi.discussions

Discussions — threaded comments on project objects.

Any project member can comment on objects (datasets, dashboards, recipes, scenarios, models, …) in threaded discussions; editing/deleting is author-scoped (an admin may delete any). Object-scoped CRUD over /api/discussions.

proj = client.get_project(1)
c = proj.add_comment("dataset", "fact_orders", "store 12 counts look off")
proj.add_comment("dataset", "fact_orders", "agreed — source gap?", parent_id=c["comment_id"])
thread = proj.list_comments("dataset", "fact_orders") # roots, each with .replies

These are project-scoped (the client's active project) AND object-scoped; the same comment store is reused across every object type, so the wrapper is a set of project-level functions rather than a resource handle.

Functions​

list_comments()​

list_comments(project, object_type: str, object_id: str) -> list[dict]

The nested comment thread for an object — root comments, each carrying its replies. Deleted comments come back as tombstones (body nulled) so replies aren't orphaned.

comment_count()​

comment_count(project, object_type: str, object_id: str) -> int

Number of (non-deleted) comments on an object.

add_comment()​

add_comment(project, object_type: str, object_id: str, body: str, *, parent_id: Optional[int] = None) -> dict

Post a comment, or a reply when parent_id is set. Returns the row.

edit_comment()​

edit_comment(project, comment_id: int, body: str) -> dict

Edit a comment you authored (PUT). Returns the updated row.

delete_comment()​

delete_comment(project, comment_id: int) -> None

Delete a comment (author; an admin may delete any). Soft-delete → tombstone server-side.


Verified against honeyframeapi 0.1.8.