nectar.discussions module
- class nectar.discussions.Comment_discussions_by_payout(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet comment_discussions_by_payout
- Parameters:
from nectar.discussions import Query, Comment_discussions_by_payout q = Query(limit=10) for h in Comment_discussions_by_payout(q): print(h)
- class nectar.discussions.Discussions(lazy: bool = False, blockchain_instance: Any | None = None, **kwargs: Any)
Bases:
objectGet Discussions
- Parameters:
blockchain_instance (Hive) – Hive instance
- get_discussions(discussion_type, discussion_query, limit=1000, raw_data=False)
Yield discussions of a given type according to a Query, handling pagination.
This generator fetches discussions in pages from the appropriate per-type helper and yields individual discussion entries until limit items have been yielded or no more results are available.
- Parameters:
- discussion_type (str): One of:
“trending”, “author_before_date”, “payout”, “post_payout”, “created”, “active”, “cashout”, “votes”, “children”, “hot”, “feed”, “blog”, “comments”, “promoted”, “replies”, “tags”. Determines which backend/query helper is used.
- discussion_query (Query): Query-like mapping with parameters used by the
underlying helpers (e.g., limit, tag, start_author, start_permlink, before_date). If discussion_query[“limit”] is 0, it will be set to 100 when limit >= 100, otherwise set to the provided limit. If before_date is falsy, it will be set to “1970-01-01T00:00:00”.
limit (int): Maximum number of discussion items to yield (default 1000). raw_data (bool): If True, helpers are requested to return raw dict data;
if False, helpers may return wrapped Comment objects when supported.
- Yields:
Individual discussion items as returned by the selected helper: - For post/comment helpers: dicts when raw_data=True, or Comment objects
when raw_data=False and wrapping is supported.
For “tags”: tag dictionaries.
- Behavior and notes:
This function mutates discussion_query for pagination (start_* fields) and may update discussion_query[“limit”] and before_date as described.
Pagination is driven by start markers (author/permlink/tag/parent_author) and the function avoids yielding duplicate entries across pages.
Raises ValueError if discussion_type is not one of the supported values.
- class nectar.discussions.Discussions_by_active(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listget_discussions_by_active
- Parameters:
from nectar.discussions import Query, Discussions_by_active q = Query(limit=10) for h in Discussions_by_active(q): print(h)
- class nectar.discussions.Discussions_by_author_before_date(author='', start_permlink='', before_date='1970-01-01T00:00:00', limit=100, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet Discussions by author before date
Note
To retrieve discussions before date, the time of creation of the discussion @author/start_permlink must be older than the specified before_date parameter.
- Parameters:
author (str) – Defines the author (required)
start_permlink (str) – Defines the permlink of a starting discussion
before_date (str) – Defines the before date for query
limit (int) – Defines the limit of discussions
raw_data (bool) – returns list of comments when False, default is False
blockchain_instance (Hive) – Hive instance
from nectar.discussions import Query, Discussions_by_author_before_date for h in Discussions_by_author_before_date(limit=10, author="gtg"): print(h)
- class nectar.discussions.Discussions_by_blog(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by blog
- Parameters:
from nectar.discussions import Query, Discussions_by_blog q = Query(limit=10) for h in Discussions_by_blog(q): print(h)
- class nectar.discussions.Discussions_by_cashout(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions_by_cashout. This query seems to be broken at the moment. The output is always empty.
- Parameters:
from nectar.discussions import Query, Discussions_by_cashout q = Query(limit=10) for h in Discussions_by_cashout(q): print(h)
- class nectar.discussions.Discussions_by_children(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by children
- Parameters:
from nectar.discussions import Query, Discussions_by_children q = Query(limit=10) for h in Discussions_by_children(q): print(h)
- class nectar.discussions.Discussions_by_comments(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by comments
- Parameters:
from nectar.discussions import Query, Discussions_by_comments q = Query(limit=10, start_author="hiveio", start_permlink="firstpost") for h in Discussions_by_comments(q): print(h)
- class nectar.discussions.Discussions_by_created(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions_by_created
- Parameters:
from nectar.discussions import Query, Discussions_by_created q = Query(limit=10) for h in Discussions_by_created(q): print(h)
- class nectar.discussions.Discussions_by_feed(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by feed
- Parameters:
from nectar.discussions import Query, Discussions_by_feed q = Query(limit=10, tag="hive") for h in Discussions_by_feed(q): print(h)
- class nectar.discussions.Discussions_by_hot(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by hot
- Parameters:
from nectar.discussions import Query, Discussions_by_hot q = Query(limit=10, tag="hive") for h in Discussions_by_hot(q): print(h)
- class nectar.discussions.Discussions_by_promoted(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions by promoted
- Parameters:
from nectar.discussions import Query, Discussions_by_promoted q = Query(limit=10, tag="hive") for h in Discussions_by_promoted(q): print(h)
- class nectar.discussions.Discussions_by_replies(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet replies for an author’s post
- Parameters:
from nectar.discussions import Query, Discussions_by_replies q = Query(limit=10, start_parent_author="hiveio", start_permlink="firstpost") for h in Discussions_by_replies(q): print(h)
- class nectar.discussions.Discussions_by_trending(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet Discussions by trending
- Parameters:
from nectar.discussions import Query, Discussions_by_trending q = Query(limit=10, tag="hive") for h in Discussions_by_trending(q): print(h)
- class nectar.discussions.Discussions_by_votes(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet discussions_by_votes
- Parameters:
from nectar.discussions import Query, Discussions_by_votes q = Query(limit=10) for h in Discussions_by_votes(q): print(h)
- class nectar.discussions.Post_discussions_by_payout(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listGet post_discussions_by_payout
- Parameters:
from nectar.discussions import Query, Post_discussions_by_payout q = Query(limit=10) for h in Post_discussions_by_payout(q): print(h)
- class nectar.discussions.Query(limit: int = 0, tag: str = '', truncate_body: int = 0, filter_tags: List[str] | None = None, select_authors: List[str] | None = None, select_tags: List[str] | None = None, start_author: str | None = None, start_permlink: str | None = None, start_tag: str | None = None, parent_author: str | None = None, parent_permlink: str | None = None, start_parent_author: str | None = None, before_date: str | None = None, author: str | None = None, observer: str | None = None)
Bases:
dictQuery to be used for all discussion queries
- Parameters:
limit (int) – limits the number of posts
tag (str) – tag query
truncate_body (int)
filter_tags (array)
select_authors (array)
select_tags (array)
start_author (str)
start_permlink (str)
start_tag (str)
parent_author (str)
parent_permlink (str)
start_parent_author (str)
before_date (str)
author (str) – Author (see Discussions_by_author_before_date)
from nectar.discussions import Query query = Query(limit=10, tag="hive")
- class nectar.discussions.Replies_by_last_update(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)
Bases:
listReturns a list of replies by last update
- Parameters:
from nectar.discussions import Query, Replies_by_last_update q = Query(limit=10, start_parent_author="hiveio", start_permlink="firstpost") for h in Replies_by_last_update(q): print(h)
- class nectar.discussions.Trending_tags(discussion_query, lazy=False, blockchain_instance=None, **kwargs)
Bases:
listGet trending tags
- Parameters:
from nectar.discussions import Query, Trending_tags q = Query(limit=10) for h in Trending_tags(q): print(h)