nectar.discussions module

class nectar.discussions.Comment_discussions_by_payout(discussion_query, lazy=False, raw_data=False, blockchain_instance=None, **kwargs)

Bases: list

Get comment_discussions_by_payout

Parameters:
  • discussion_query (Query) – Defines the parameter for searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: object

Get 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: list

get_discussions_by_active

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive() instance to use when accesing a RPC

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: list

Get 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: list

Get discussions by blog

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts, tag musst be set to a username

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions_by_cashout. This query seems to be broken at the moment. The output is always empty.

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions by children

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions by comments

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts, start_author and start_permlink must be set.

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions_by_created

Parameters:
  • discussion_query (Query) – Defines the parameter for searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions by feed

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts, tag musst be set to a username

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions by hot

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get discussions by promoted

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get replies for an author’s post

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts, start_parent_author, start_permlink must be set.

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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)

Bases: list

Get Discussions by trending

Parameters:
  • discussion_query (Query) – Defines the parameter for searching posts

  • blockchain_instance (Hive) – Hive instance

  • raw_data (bool) – returns list of comments when False, default is False

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: list

Get discussions_by_votes

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get post_discussions_by_payout

Parameters:
  • discussion_query (Query) – Defines the parameter for searching posts

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: dict

Query 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: list

Returns a list of replies by last update

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts start_parent_author and start_permlink must be set.

  • raw_data (bool) – returns list of comments when False, default is False

  • blockchain_instance (Hive) – Hive instance

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: list

Get trending tags

Parameters:
  • discussion_query (Query) – Defines the parameter searching posts, start_tag is used if set

  • blockchain_instance (Hive) – Hive instance

from nectar.discussions import Query, Trending_tags
q = Query(limit=10)
for h in Trending_tags(q):
    print(h)