From 14d2fe0ed78ba0610c195a726893ca155b5dcb41 Mon Sep 17 00:00:00 2001 From: Holger Nahrstaedt <holger@nahrstaedt.de> Date: Mon, 30 Apr 2018 23:20:57 +0200 Subject: [PATCH] Dokumentation improved Account * Examples and Dokumentation improved Amount * Example improved Asciichart * Examples improved Blockchain * examples improved Discussions * Doku improved Market * Examples and Doku improved Price * Examples improved * Missing steem_instance fixed Steem * Example code fixed Graphenerpc * Example improved --- beem/account.py | 252 ++++++++++++++++++++++++++------- beem/amount.py | 25 ++-- beem/asciichart.py | 83 +++++------ beem/asset.py | 1 - beem/blockchain.py | 46 +++--- beem/discussions.py | 102 +++++++------ beem/market.py | 156 ++++++++++++-------- beem/memo.py | 40 +++--- beem/price.py | 26 +++- beem/steem.py | 16 +-- beemgrapheneapi/graphenerpc.py | 13 +- docs/_static/beem-logo_2.png | Bin 0 -> 58281 bytes docs/_static/beem-logo_2.svg | 1 + docs/_static/beem-logo_bw.png | Bin 0 -> 27709 bytes docs/_static/beem-logo_bw.svg | 1 + docs/conf.py | 6 +- docs/quickstart.rst | 3 +- 17 files changed, 501 insertions(+), 270 deletions(-) create mode 100644 docs/_static/beem-logo_2.png create mode 100644 docs/_static/beem-logo_2.svg create mode 100644 docs/_static/beem-logo_bw.png create mode 100644 docs/_static/beem-logo_bw.svg diff --git a/beem/account.py b/beem/account.py index 6e043716..7d9308c3 100644 --- a/beem/account.py +++ b/beem/account.py @@ -172,12 +172,17 @@ class Account(BlockchainObject): def getSimilarAccountNames(self, limit=5): """ Returns limit similar accounts with name as list + :param int limit: limits the number of accounts, which will be returned + :returns: Similar account names as list + :rtype: list + .. code-block:: python >>> from beem.account import Account >>> account = Account("test") >>> account.getSimilarAccountNames(limit=5) ['test', 'test-1', 'test-2', 'test-ico', 'test-ilionx-123'] + """ if self.steem.rpc.get_use_appbase(): account = self.steem.rpc.list_accounts({'start': self.name, 'limit': limit}, api="database") @@ -506,10 +511,28 @@ class Account(BlockchainObject): @property def balances(self): + """ Returns all account balances as dictionary + """ return self.get_balances() def get_balances(self): + """ Returns all account balances as dictionary + + :returns: Account balances + :rtype: dictionary + + Sample output: + .. code-block:: js + + { + 'available': [102.985 STEEM, 0.008 SBD, 146273.695970 VESTS], + 'savings': [0.000 STEEM, 0.000 SBD], + 'rewards': [0.000 STEEM, 0.000 SBD, 0.000000 VESTS], + 'total': [102.985 STEEM, 0.008 SBD, 146273.695970 VESTS] + } + + """ return { 'available': self.available_balances, 'savings': self.saving_balances, @@ -519,14 +542,30 @@ class Account(BlockchainObject): def get_balance(self, balances, symbol): """ Obtain the balance of a specific Asset. This call returns instances of - :class:`beem.amount.Amount`. + :class:`beem.amount.Amount`. Available balance types: + + * "available" + * "saving" + * "reward" + * "total" + + :param str balances: Defines the balance type + :param (str, dict) symbol: Can be "SBD", "STEEM" or "VESTS + + .. code-block:: python + + >>> from beem.account import Account + >>> account = Account("test") + >>> account.get_balance("rewards", "SBD") + 0.000 SBD + """ if isinstance(balances, string_types): if balances == "available": balances = self.available_balances - elif balances == "saving": + elif balances == "savings": balances = self.saving_balances - elif balances == "reward": + elif balances == "rewards": balances = self.reward_balances elif balances == "total": balances = self.total_balances @@ -542,8 +581,23 @@ class Account(BlockchainObject): return Amount(0, symbol, steem_instance=self.steem) def interest(self): - """ Caluclate interest for an account + """ Calculate interest for an account + :param str account: Account name to get interest for + :rtype: dictionary + + Sample output: + + .. code-block:: js + + { + 'interest': 0.0, + 'last_payment': datetime.datetime(2018, 1, 26, 5, 50, 27, tzinfo=<UTC>), + 'next_payment': datetime.datetime(2018, 2, 25, 5, 50, 27, tzinfo=<UTC>), + 'next_payment_duration': datetime.timedelta(-65, 52132, 684026), + 'interest_rate': 0.0 + } + """ last_payment = (self["sbd_last_interest_payment"]) next_payment = last_payment + timedelta(days=30) @@ -563,10 +617,13 @@ class Account(BlockchainObject): @property def is_fully_loaded(self): """ Is this instance fully loaded / e.g. all data available? + + :rtype: bool """ return (self.full) def ensure_full(self): + """Ensure that all data are loaded""" if not self.is_fully_loaded: self.full = True self.refresh() @@ -582,7 +639,20 @@ class Account(BlockchainObject): return self.steem.rpc.get_account_bandwidth(account, bandwidth_type) def get_bandwidth(self): - """Returns used and allocated bandwidth""" + """ Returns used and allocated bandwidth + + :rtype: dict + + Sample output: + + .. code-block:: js + + { + 'used': 0, + 'allocated': 2211037 + } + + """ account = self["name"] global_properties = self.steem.get_dynamic_global_properties() reserve_ratio = self.steem.get_reserve_ratio() @@ -618,7 +688,11 @@ class Account(BlockchainObject): # print("bandwidth percent remaining: " + str(100 - (100 * used_bandwidth / allocated_bandwidth))) def get_owner_history(self, account=None): - """ get_owner_history """ + """ get_owner_history + + :rtype: list + + """ if account is None: account = self["name"] if self.steem.rpc.get_use_appbase(): @@ -627,7 +701,11 @@ class Account(BlockchainObject): return self.steem.rpc.get_owner_history(account) def get_conversion_requests(self, account=None): - """ get_owner_history """ + """ Returns get_owner_history + + :rtype: list + + """ if account is None: account = self["name"] if self.steem.rpc.get_use_appbase(): @@ -636,7 +714,11 @@ class Account(BlockchainObject): return self.steem.rpc.get_conversion_requests(account) def get_withdraw_routes(self, account=None): - """Returns withdraw_routes """ + """ Returns withdraw_routes + + :rtype: list + + """ if account is None: account = self["name"] if self.steem.rpc.get_use_appbase(): @@ -645,7 +727,11 @@ class Account(BlockchainObject): return self.steem.rpc.get_withdraw_routes(account, 'all') def get_recovery_request(self, account=None): - """ get_recovery_request """ + """ Returns get_recovery_request + + :rtype: list + + """ if account is None: account = self["name"] if self.steem.rpc.get_use_appbase(): @@ -696,7 +782,10 @@ class Account(BlockchainObject): return self["name"] in active_votes def virtual_op_count(self, until=None): - """Returns the number of individual account transactions""" + """ Returns the number of individual account transactions + + :rtype: list + """ if until is not None and isinstance(until, datetime): limit = until last_gen = self.history_reverse(limit=limit) @@ -737,6 +826,20 @@ class Account(BlockchainObject): def curation_stats(self): """Returns the curation reward of the last 24h and 7d and the average of the last 7 days + + :returns: Account curation + :rtype: dictionary + + Sample output: + + .. code-block:: js + + { + '24hr': 0.0, + '7d': 0.0, + 'avg': 0.0 + } + """ return {"24hr": self.get_curation_reward(days=1), "7d": self.get_curation_reward(days=7), @@ -868,32 +971,55 @@ class Account(BlockchainObject): beembase.operationids.ops. Example: ['transfer', 'vote'] - .. code-block:: python + .. testsetup:: * + + from beem.account import Account + from datetime import datetime + acc = Account("gtg") + + .. testcode:: + + from beem.account import Account + from datetime import datetime + acc = Account("gtg") + max_op_count = acc.virtual_op_count() + # Returns the 100 latest operations + acc_op = [] + for h in acc.history(start=max_op_count - 99, stop=max_op_count, use_block_num=False): + acc_op.append(h) + len(acc_op) + + .. testoutput:: - >>> from beem.account import Account - >>> from datetime import datetime - >>> acc = Account("gtg") - >>> max_op_count = acc.virtual_op_count() - >>> # Returns the 100 latest operations - >>> acc_op = [] - >>> for h in acc.history(start=max_op_count - 99, stop=max_op_count, use_block_num=False): acc_op.append(h) - >>> len(acc_op) 100 - >>> acc = Account("test") - >>> max_block = 21990141 - >>> # Returns the account operation inside the last 100 block. This can be empty. - >>> acc_op = [] - >>> for h in acc.history(start=max_block - 99, stop=max_block, use_block_num=True): acc_op.append(h) - >>> len(acc_op) + .. testcode:: + + acc = Account("test") + max_block = 21990141 + # Returns the account operation inside the last 100 block. This can be empty. + acc_op = [] + for h in acc.history(start=max_block - 99, stop=max_block, use_block_num=True): + acc_op.append(h) + len(acc_op) + + .. testoutput:: + 0 - >>> start_time = datetime(2018, 3, 1, 0, 0, 0) - >>> stop_time = datetime(2018, 3, 2, 0, 0, 0) - >>> # Returns the account operation from 1.4.2018 back to 1.3.2018 - >>> acc_op = [] - >>> for h in acc.history(start=start_time, stop=stop_time): acc_op.append(h) - >>> len(acc_op) + .. testcode:: + + acc = Account("test") + start_time = datetime(2018, 3, 1, 0, 0, 0) + stop_time = datetime(2018, 3, 2, 0, 0, 0) + # Returns the account operation from 1.4.2018 back to 1.3.2018 + acc_op = [] + for h in acc.history(start=start_time, stop=stop_time): + acc_op.append(h) + len(acc_op) + + .. testoutput:: + 0 """ @@ -986,32 +1112,54 @@ class Account(BlockchainObject): beembase.operationids.ops. Example: ['transfer', 'vote'] - .. code-block:: python + .. testsetup:: + + from beem.account import Account + from datetime import datetime + acc = Account("gtg") + + .. testcode:: + + from beem.account import Account + from datetime import datetime + acc = Account("gtg") + max_op_count = acc.virtual_op_count() + # Returns the 100 latest operations + acc_op = [] + for h in acc.history_reverse(start=max_op_count, stop=max_op_count - 99, use_block_num=False): + acc_op.append(h) + len(acc_op) + + .. testoutput:: - >>> from beem.account import Account - >>> from datetime import datetime - >>> acc = Account("gtg") - >>> max_op_count = acc.virtual_op_count() - >>> # Returns the 100 latest operations - >>> acc_op = [] - >>> for h in acc.history_reverse(start=max_op_count, stop=max_op_count - 99, use_block_num=False): acc_op.append(h) - >>> len(acc_op) 100 - >>> max_block = 21990141 - >>> acc = Account("test") - >>> # Returns the account operation inside the last 100 block. This can be empty. - >>> acc_op = [] - >>> for h in acc.history_reverse(start=max_block, stop=max_block-100, use_block_num=True): acc_op.append(h) - >>> len(acc_op) + .. testcode:: + + max_block = 21990141 + acc = Account("test") + # Returns the account operation inside the last 100 block. This can be empty. + acc_op = [] + for h in acc.history_reverse(start=max_block, stop=max_block-100, use_block_num=True): + acc_op.append(h) + len(acc_op) + + .. testoutput:: + 0 - >>> start_time = datetime(2018, 4, 1, 0, 0, 0) - >>> stop_time = datetime(2018, 3, 1, 0, 0, 0) - >>> # Returns the account operation from 1.4.2018 back to 1.3.2018 - >>> acc_op = [] - >>> for h in acc.history_reverse(start=start_time, stop=stop_time): acc_op.append(h) - >>> len(acc_op) + .. testcode:: + + start_time = datetime(2018, 4, 1, 0, 0, 0) + stop_time = datetime(2018, 3, 1, 0, 0, 0) + # Returns the account operation from 1.4.2018 back to 1.3.2018 + acc_op = [] + for h in acc.history_reverse(start=start_time, stop=stop_time): + acc_op.append(h) + len(acc_op) + + .. testoutput:: + 0 """ diff --git a/beem/amount.py b/beem/amount.py index 9c06a6d2..b96b275d 100644 --- a/beem/amount.py +++ b/beem/amount.py @@ -42,19 +42,22 @@ class Amount(dict): Instances of this class can be used in regular mathematical expressions (``+-*/%``) such as: - .. code-block:: python - - >>> from beem.amount import Amount - >>> from beem.asset import Asset - >>> a = Amount("1 STEEM") - >>> b = Amount(1, "STEEM") - >>> c = Amount("20", Asset("STEEM")) - >>> a + b + .. testcode:: + + from beem.amount import Amount + from beem.asset import Asset + a = Amount("1 STEEM") + b = Amount(1, "STEEM") + c = Amount("20", Asset("STEEM")) + a + b + a * 2 + a += b + a /= 2.0 + + .. testoutput:: + 2.000 STEEM - >>> a * 2 2.000 STEEM - >>> a += b - >>> a /= 2.0 """ def __init__(self, amount, asset=None, new_appbase_format=False, steem_instance=None): diff --git a/beem/asciichart.py b/beem/asciichart.py index e10ae537..b06b7f90 100644 --- a/beem/asciichart.py +++ b/beem/asciichart.py @@ -78,16 +78,16 @@ class AsciiChart(object): :param list series: time series to plot - .. code-block:: python + .. testcode:: - >>> from beem.asciichart import AsciiChart - >>> chart = AsciiChart() - >>> series = [1, 2, 3, 7, 2, -4, -2] - >>> chart.adapt_on_series(series) - >>> chart.new_chart() - >>> chart.add_axis() - >>> chart.add_curve(series) - >>> print(str(chart)) # doctest: +SKIP + from beem.asciichart import AsciiChart + chart = AsciiChart() + series = [1, 2, 3, 7, 2, -4, -2] + chart.adapt_on_series(series) + chart.new_chart() + chart.add_axis() + chart.add_curve(series) + print(str(chart)) # doctest: +SKIP """ self.minimum = min(series) @@ -129,12 +129,12 @@ class AsciiChart(object): def plot(self, series, return_str=False): """All in one function for plotting - .. code-block:: python + .. testcode:: - >>> from beem.asciichart import AsciiChart - >>> chart = AsciiChart() - >>> series = [1, 2, 3, 7, 2, -4, -2] - >>> chart.plot(series) # doctest: +SKIP + from beem.asciichart import AsciiChart + chart = AsciiChart() + series = [1, 2, 3, 7, 2, -4, -2] + chart.plot(series) # doctest: +SKIP """ self.clear_data() self.adapt_on_series(series) @@ -149,16 +149,17 @@ class AsciiChart(object): def new_chart(self, minimum=None, maximum=None, n=None): """Clears the canvas - .. code-block:: python + .. testcode:: + + from beem.asciichart import AsciiChart + chart = AsciiChart() + series = [1, 2, 3, 7, 2, -4, -2] + chart.adapt_on_series(series) + chart.new_chart() + chart.add_axis() + chart.add_curve(series) + print(str(chart)) # doctest: +SKIP - >>> from beem.asciichart import AsciiChart - >>> chart = AsciiChart() - >>> series = [1, 2, 3, 7, 2, -4, -2] - >>> chart.adapt_on_series(series) - >>> chart.new_chart() - >>> chart.add_axis() - >>> chart.add_curve(series) - >>> print(str(chart)) # doctest: +SKIP """ if minimum is not None: self.minimum = minimum @@ -172,16 +173,16 @@ class AsciiChart(object): def add_axis(self): """Adds a y-axis to the canvas - .. code-block:: python + .. testcode:: - >>> from beem.asciichart import AsciiChart - >>> chart = AsciiChart() - >>> series = [1, 2, 3, 7, 2, -4, -2] - >>> chart.adapt_on_series(series) - >>> chart.new_chart() - >>> chart.add_axis() - >>> chart.add_curve(series) - >>> print(str(chart)) # doctest: +SKIP + from beem.asciichart import AsciiChart + chart = AsciiChart() + series = [1, 2, 3, 7, 2, -4, -2] + chart.adapt_on_series(series) + chart.new_chart() + chart.add_axis() + chart.add_curve(series) + print(str(chart)) # doctest: +SKIP """ # axis and labels @@ -210,16 +211,16 @@ class AsciiChart(object): :param list series: List width float data points - .. code-block:: python + .. testcode:: - >>> from beem.asciichart import AsciiChart - >>> chart = AsciiChart() - >>> series = [1, 2, 3, 7, 2, -4, -2] - >>> chart.adapt_on_series(series) - >>> chart.new_chart() - >>> chart.add_axis() - >>> chart.add_curve(series) - >>> print(str(chart)) # doctest: +SKIP + from beem.asciichart import AsciiChart + chart = AsciiChart() + series = [1, 2, 3, 7, 2, -4, -2] + chart.adapt_on_series(series) + chart.new_chart() + chart.add_axis() + chart.add_curve(series) + print(str(chart)) # doctest: +SKIP """ if self.n is None: diff --git a/beem/asset.py b/beem/asset.py index 703efb4a..bfccc200 100644 --- a/beem/asset.py +++ b/beem/asset.py @@ -17,7 +17,6 @@ class Asset(BlockchainObject): :param beem.steem.Steem steem_instance: Steem instance :returns: All data of an asset - :rtype: dict .. note:: This class comes with its own caching function to reduce the load on the API server. Instances of this class can be diff --git a/beem/blockchain.py b/beem/blockchain.py index 5e852cea..9dc74b7b 100644 --- a/beem/blockchain.py +++ b/beem/blockchain.py @@ -40,38 +40,37 @@ class Blockchain(object): This class let's you deal with blockchain related data and methods. Read blockchain related data: - .. code-block:: python + .. testsetup:: - >>> from beem.blockchain import Blockchain - >>> chain = Blockchain() + from beem.blockchain import Blockchain + chain = Blockchain() Read current block and blockchain info - .. code-block:: python + .. testcode:: - >>> from beem.blockchain import Blockchain - >>> chain = Blockchain() - >>> print(chain.get_current_block()) # doctest: +SKIP - >>> print(chain.steem.info()) # doctest: +SKIP + print(chain.get_current_block()) # doctest: +SKIP + print(chain.steem.info()) # doctest: +SKIP Monitor for new blocks. When ``stop`` is not set, monitoring will never stop. - .. code-block:: python - - >>> from beem.blockchain import Blockchain - >>> chain = Blockchain() - >>> blocks = [] - >>> current_num = chain.get_current_block_num() - >>> for block in chain.blocks(start=current_num - 99, stop=current_num): blocks.append(block) - >>> len(blocks) + .. testcode:: + + blocks = [] + current_num = chain.get_current_block_num() + for block in chain.blocks(start=current_num - 99, stop=current_num): + blocks.append(block) + len(blocks) + + .. testoutput:: + 100 or each operation individually: - .. code-block:: python + .. testcode:: - >>> from beem.blockchain import Blockchain - >>> chain = Blockchain() - >>> ops = [] - >>> current_num = chain.get_current_block_num() - >>> for operation in chain.ops(start=current_num - 99, stop=current_num): ops.append(operation) + ops = [] + current_num = chain.get_current_block_num() + for operation in chain.ops(start=current_num - 99, stop=current_num): + ops.append(operation) """ def __init__( @@ -274,9 +273,10 @@ class Blockchain(object): def wait_for_and_get_block(self, block_number, blocks_waiting_for=None, last_fetched_block_num=None): """ Get the desired block from the chain, if the current head block is smaller (for both head and irreversible) then we wait, but a maxmimum of blocks_waiting_for * max_block_wait_repetition time before failure. + :param int block_number: desired block number :param int blocks_waiting_for: (default) difference between block_number and current head - how many blocks we are willing to wait, positive int + how many blocks we are willing to wait, positive int """ if last_fetched_block_num is None or (last_fetched_block_num is not None and block_number > last_fetched_block_num): diff --git a/beem/discussions.py b/beem/discussions.py index ffcdf681..7aded8d2 100644 --- a/beem/discussions.py +++ b/beem/discussions.py @@ -12,17 +12,23 @@ log = logging.getLogger(__name__) class Query(dict): - """ - :param int limit - :param str tag - :param int truncate_body - :param array filter_tags - :param array select_authors - :param array select_tags - :param str start_author - :param str start_permlink - :param str parent_author - :param str parent_permlink + """ Query to be used for all discussion queries + + :param int limit: limits the number of posts + :param str tag: tag query + :param int truncate_body: + :param array filter_tags: + :param array select_authors: + :param array select_tags: + :param str start_author: + :param str start_permlink: + :param str parent_author: + :param str parent_permlink: + + .. testcode:: + from beem.discussions import Query + query = Query(limit=10, tag="steemit") + """ def __init__(self, limit=0, tag="", truncate_body=0, filter_tags=[], select_authors=[], select_tags=[], @@ -40,10 +46,11 @@ class Query(dict): class Discussions_by_trending(list): - """ get_discussions_by_trending + """ Get Discussions by trending + + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance - :param Query discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -62,10 +69,11 @@ class Discussions_by_trending(list): class Comment_discussions_by_payout(list): - """ get_comment_discussions_by_payout + """ Get comment_discussions_by_payout + + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -84,10 +92,10 @@ class Comment_discussions_by_payout(list): class Post_discussions_by_payout(list): - """ get_post_discussions_by_payout + """ Get post_discussions_by_payout - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -106,10 +114,10 @@ class Post_discussions_by_payout(list): class Discussions_by_created(list): - """ get_discussions_by_created + """ Get discussions_by_created - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -150,11 +158,11 @@ class Discussions_by_active(list): class Discussions_by_cashout(list): - """ get_discussions_by_cashout. This query seems to be broken at the moment. + """ Get discussions_by_cashout. This query seems to be broken at the moment. The output is always empty. - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -173,10 +181,10 @@ class Discussions_by_cashout(list): class Discussions_by_votes(list): - """ get_discussions_by_votes + """ Get discussions_by_votes - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -195,10 +203,10 @@ class Discussions_by_votes(list): class Discussions_by_children(list): - """ get_discussions_by_children + """ Get discussions by children - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -217,10 +225,10 @@ class Discussions_by_children(list): class Discussions_by_hot(list): - """ get_discussions_by_hot + """ Get discussions by hot - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -239,10 +247,10 @@ class Discussions_by_hot(list): class Discussions_by_feed(list): - """ get_discussions_by_feed + """ Get discussions by feed - :param str discussion_query, tag musst be set to a username - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query, tag musst be set to a username + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -265,10 +273,10 @@ class Discussions_by_feed(list): class Discussions_by_blog(list): - """ get_discussions_by_blog + """ Get discussions by blog - :param str discussion_query, tag musst be set to a username - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query, tag musst be set to a username + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -291,10 +299,10 @@ class Discussions_by_blog(list): class Discussions_by_comments(list): - """ get_discussions_by_comments + """ Get discussions by comments - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() @@ -313,10 +321,10 @@ class Discussions_by_comments(list): class Discussions_by_promoted(list): - """ get_discussions_by_promoted + """ Get discussions by promoted - :param str discussion_query - :param steem steem_instance: Steem() instance to use when accesing a RPC + :param beem.discussions.Query: discussion_query + :param beem.steem.Steem steem_instance: Steem instance """ def __init__(self, discussion_query, steem_instance=None): self.steem = steem_instance or shared_steem_instance() diff --git a/beem/market.py b/beem/market.py index 30f44195..37714b07 100644 --- a/beem/market.py +++ b/beem/market.py @@ -187,19 +187,51 @@ class Market(dict): """ Returns the order book for SBD/STEEM market. :param int limit: Limit the amount of orders (default: 25) - Sample output: - .. code-block:: js - - {'bids': [0.003679 USD/BTS (1.9103 USD|519.29602 BTS), - 0.003676 USD/BTS (299.9997 USD|81606.16394 BTS), - 0.003665 USD/BTS (288.4618 USD|78706.21881 BTS), - 0.003665 USD/BTS (3.5285 USD|962.74409 BTS), - 0.003665 USD/BTS (72.5474 USD|19794.41299 BTS)], - 'asks': [0.003738 USD/BTS (36.4715 USD|9756.17339 BTS), - 0.003738 USD/BTS (18.6915 USD|5000.00000 BTS), - 0.003742 USD/BTS (182.6881 USD|48820.22081 BTS), - 0.003772 USD/BTS (4.5200 USD|1198.14798 BTS), - 0.003799 USD/BTS (148.4975 USD|39086.59741 BTS)]} + Sample output (raw_data=False): + .. code-block:: js + + { + 'asks': [ + 380.510 STEEM 460.291 SBD @ 1.209669 SBD/STEEM, + 53.785 STEEM 65.063 SBD @ 1.209687 SBD/STEEM + ], + 'bids': [ + 0.292 STEEM 0.353 SBD @ 1.208904 SBD/STEEM, + 8.498 STEEM 10.262 SBD @ 1.207578 SBD/STEEM + ], + 'asks_date': [ + datetime.datetime(2018, 4, 30, 21, 7, 24, tzinfo=<UTC>), + datetime.datetime(2018, 4, 30, 18, 12, 18, tzinfo=<UTC>) + ], + 'bids_date': [ + datetime.datetime(2018, 4, 30, 21, 1, 21, tzinfo=<UTC>), + datetime.datetime(2018, 4, 30, 20, 38, 21, tzinfo=<UTC>) + ] + } + + Sample output (raw_data=True): + .. code-block:: js + + { + 'asks': [ + { + 'order_price': {'base': '8.000 STEEM', 'quote': '9.618 SBD'}, + 'real_price': '1.20225000000000004', + 'steem': 4565, + 'sbd': 5488, + 'created': '2018-04-30T21:12:45' + } + ], + 'bids': [ + { + 'order_price': {'base': '10.000 SBD', 'quote': '8.333 STEEM'}, + 'real_price': '1.20004800192007677', + 'steem': 8333, + 'sbd': 10000, + 'created': '2018-04-30T20:29:33' + } + ] + } .. note:: Each bid is an instance of class:`beem.price.Order` and thus carries the keys @@ -232,22 +264,32 @@ class Market(dict): specify "all" to get the orderbooks of all markets. :param int limit: Limit the amount of orders (default: 25) + :param bool raw_data: when False, FilledOrder objects will be + returned - Sample output: + Sample output (raw_data=False): - .. code-block:: js + .. code-block:: js - {'bids': [0.003679 USD/BTS (1.9103 USD|519.29602 BTS), - 0.003676 USD/BTS (299.9997 USD|81606.16394 BTS), - 0.003665 USD/BTS (288.4618 USD|78706.21881 BTS), - 0.003665 USD/BTS (3.5285 USD|962.74409 BTS), - 0.003665 USD/BTS (72.5474 USD|19794.41299 BTS)], - 'asks': [0.003738 USD/BTS (36.4715 USD|9756.17339 BTS), - 0.003738 USD/BTS (18.6915 USD|5000.00000 BTS), - 0.003742 USD/BTS (182.6881 USD|48820.22081 BTS), - 0.003772 USD/BTS (4.5200 USD|1198.14798 BTS), - 0.003799 USD/BTS (148.4975 USD|39086.59741 BTS)]} + [ + (2018-04-30 21:00:54+00:00) 0.267 STEEM 0.323 SBD @ 1.209738 SBD/STEEM, + (2018-04-30 20:59:30+00:00) 0.131 STEEM 0.159 SBD @ 1.213740 SBD/STEEM, + (2018-04-30 20:55:45+00:00) 0.093 STEEM 0.113 SBD @ 1.215054 SBD/STEEM, + (2018-04-30 20:55:30+00:00) 26.501 STEEM 32.058 SBD @ 1.209690 SBD/STEEM, + (2018-04-30 20:55:18+00:00) 2.108 STEEM 2.550 SBD @ 1.209677 SBD/STEEM, + ] + Sample output (raw_data=True): + + .. code-block:: js + + [ + {'date': '2018-04-30T21:02:45', 'current_pays': '0.235 SBD', 'open_pays': '0.194 STEEM'}, + {'date': '2018-04-30T21:02:03', 'current_pays': '24.494 SBD', 'open_pays': '20.248 STEEM'}, + {'date': '2018-04-30T20:48:30', 'current_pays': '175.464 STEEM', 'open_pays': '211.955 SBD'}, + {'date': '2018-04-30T20:48:30', 'current_pays': '0.999 STEEM', 'open_pays': '1.207 SBD'}, + {'date': '2018-04-30T20:47:54', 'current_pays': '0.273 SBD', 'open_pays': '0.225 STEEM'}, + ] .. note:: Each bid is an instance of class:`steem.price.Order` and thus carries the keys @@ -362,21 +404,23 @@ class Market(dict): (default: now/0) Example: - .. code-block:: js - - {'close_sbd': 2493387, - 'close_steem': 7743431, - 'high_sbd': 1943872, - 'high_steem': 5999610, - 'id': '7.1.5252', - 'low_sbd': 534928, - 'low_steem': 1661266, - 'open': '2016-07-08T11:25:00', - 'open_sbd': 534928, - 'open_steem': 1661266, - 'sbd_volume': 9714435, - 'seconds': 300, - 'steem_volume': 30088443}, + .. code-block:: js + + { + 'close_sbd': 2493387, + 'close_steem': 7743431, + 'high_sbd': 1943872, + 'high_steem': 5999610, + 'id': '7.1.5252', + 'low_sbd': 534928, + 'low_steem': 1661266, + 'open': '2016-07-08T11:25:00', + 'open_sbd': 534928, + 'open_steem': 1661266, + 'sbd_volume': 9714435, + 'seconds': 300, + 'steem_volume': 30088443 + } """ buckets = self.market_history_buckets() @@ -450,16 +494,16 @@ class Market(dict): :param string returnOrderId: If set to "head" or "irreversible" the call will wait for the tx to appear in the head/irreversible block and add the key "orderid" to the tx output - Prices/Rates are denoted in 'base', i.e. the USD_BTS market - is priced in BTS per USD. + Prices/Rates are denoted in 'base', i.e. the SBD_STEEM market + is priced in STEEM per SBD. - **Example:** in the USD_BTS market, a price of 300 means - a USD is worth 300 BTS + **Example:** in the SBD_STEEM market, a price of 300 means + a SBD is worth 300 STEEM .. note:: All prices returned are in the **reversed** orientation as the - market. I.e. in the BTC/BTS market, prices are BTS per BTC. + market. I.e. in the STEEM/SBD market, prices are SBD per STEEM. That way you can multiply prices with `1.05` to get a +5%. .. warning:: @@ -470,9 +514,9 @@ class Market(dict): buy asset than you placed the order for. Example: - * You place and order to buy 10 USD for 100 BTS/USD - * This means that you actually place a sell order for 1000 BTS in order to obtain **at least** 10 USD - * If an order on the market exists that sells USD for cheaper, you will end up with more than 10 USD + * You place and order to buy 10 SBD for 100 STEEM/SBD + * This means that you actually place a sell order for 1000 STEEM in order to obtain **at least** 10 SBD + * If an order on the market exists that sells SBD for cheaper, you will end up with more than 10 SBD """ if not expiration: expiration = self.steem.config["order-expiration"] @@ -547,16 +591,16 @@ class Market(dict): :param string returnOrderId: If set to "head" or "irreversible" the call will wait for the tx to appear in the head/irreversible block and add the key "orderid" to the tx output - Prices/Rates are denoted in 'base', i.e. the USD_BTS market - is priced in BTS per USD. + Prices/Rates are denoted in 'base', i.e. the SBD_STEEM market + is priced in STEEM per SBD. - **Example:** in the USD_BTS market, a price of 300 means - a USD is worth 300 BTS + **Example:** in the SBD_STEEM market, a price of 300 means + a SBD is worth 300 STEEM .. note:: All prices returned are in the **reversed** orientation as the - market. I.e. in the BTC/BTS market, prices are BTS per BTC. + market. I.e. in the STEEM/SBD market, prices are SBD per STEEM. That way you can multiply prices with `1.05` to get a +5%. """ if not expiration: @@ -612,9 +656,9 @@ class Market(dict): def cancel(self, orderNumbers, account=None, **kwargs): """ Cancels an order you have placed in a given market. Requires - only the "orderNumbers". An order number takes the form - ``1.7.xxx``. - :param str orderNumbers: The Order Object ide of the form ``1.7.xxxx`` + only the "orderNumbers". + + :param int/list orderNumbers: A single order number or a list of order numbers """ if not account: if "default_account" in self.steem.config: diff --git a/beem/memo.py b/beem/memo.py index e33acdee..6fa53708 100644 --- a/beem/memo.py +++ b/beem/memo.py @@ -111,26 +111,26 @@ class Memo(object): .. code-block:: python - from getpass import getpass - from beem.block import Block - from beem.memo import Memo - - # Obtain a transfer from the blockchain - block = Block(23755086) # block - transaction = block["transactions"][3] # transactions - op = transaction["operations"][0] # operation - op_id = op[0] # operation type - op_data = op[1] # operation payload - - # Instantiate Memo for decoding - memo = Memo() - - # Unlock wallet - memo.unlock_wallet(getpass()) - - # Decode memo - # Raises exception if required keys not available in the wallet - print(memo.decrypt(op_data["transfer"])) + from getpass import getpass + from beem.block import Block + from beem.memo import Memo + + # Obtain a transfer from the blockchain + block = Block(23755086) # block + transaction = block["transactions"][3] # transactions + op = transaction["operations"][0] # operation + op_id = op[0] # operation type + op_data = op[1] # operation payload + + # Instantiate Memo for decoding + memo = Memo() + + # Unlock wallet + memo.unlock_wallet(getpass()) + + # Decode memo + # Raises exception if required keys not available in the wallet + print(memo.decrypt(op_data["transfer"])) """ def __init__( diff --git a/beem/price.py b/beem/price.py index a884383f..f2d0bc3a 100644 --- a/beem/price.py +++ b/beem/price.py @@ -68,6 +68,8 @@ class Price(dict): >>> from beem.price import Price >>> Price("0.3314 SBD/STEEM") * 2 0.662804 SBD/STEEM + >>> Price(0.3314, "SBD", "STEEM") + 0.331402 SBD/STEEM """ def __init__( @@ -160,7 +162,8 @@ class Price(dict): return Price( None, base=self["base"].copy(), - quote=self["quote"].copy()) + quote=self["quote"].copy(), + steem_instance=self.steem) def _safedivide(self, a, b): if b != 0.0: @@ -175,6 +178,13 @@ class Price(dict): """ Returns the price instance so that the base asset is ``base``. Note: This makes a copy of the object! + + .. code-block:: python + + >>> from beem.price import Price + >>> Price("0.3314 SBD/STEEM").as_base("STEEM") + 3.017483 STEEM/SBD + """ if base == self["base"]["symbol"]: return self.copy() @@ -187,6 +197,13 @@ class Price(dict): """ Returns the price instance so that the quote asset is ``quote``. Note: This makes a copy of the object! + + .. code-block:: python + + >>> from beem.price import Price + >>> Price("0.3314 SBD/STEEM").as_quote("SBD") + 3.017483 STEEM/SBD + """ if quote == self["quote"]["symbol"]: return self.copy() @@ -197,6 +214,13 @@ class Price(dict): def invert(self): """ Invert the price (e.g. go from ``SBD/STEEM`` into ``STEEM/SBD``) + + .. code-block:: python + + >>> from beem.price import Price + >>> Price("0.3314 SBD/STEEM").invert() + 3.017483 STEEM/SBD + """ tmp = self["quote"] self["quote"] = self["base"] diff --git a/beem/steem.py b/beem/steem.py index 47059f5c..310511ec 100644 --- a/beem/steem.py +++ b/beem/steem.py @@ -1337,14 +1337,14 @@ class Steem(object): For the options, you have these defaults::: - { - "author": "", - "permlink": "", - "max_accepted_payout": "1000000.000 SBD", - "percent_steem_dollars": 10000, - "allow_votes": True, - "allow_curation_rewards": True, - } + { + "author": "", + "permlink": "", + "max_accepted_payout": "1000000.000 SBD", + "percent_steem_dollars": 10000, + "allow_votes": True, + "allow_curation_rewards": True, + } """ if not account and config["default_account"]: diff --git a/beemgrapheneapi/graphenerpc.py b/beemgrapheneapi/graphenerpc.py index aae23052..e685ef87 100644 --- a/beemgrapheneapi/graphenerpc.py +++ b/beemgrapheneapi/graphenerpc.py @@ -118,13 +118,14 @@ class GrapheneRPC(object): Usage: - .. code-block:: python - from beemgrapheneapi.graphenerpc import GrapheneRPC - ws = GrapheneRPC("wss://steemd.pevo.science","","") - print(ws.get_account_count()) + .. code-block:: python - ws = GrapheneRPC("https://api.steemit.com","","") - print(ws.get_account_count()) + from beemgrapheneapi.graphenerpc import GrapheneRPC + ws = GrapheneRPC("wss://steemd.pevo.science","","") + print(ws.get_account_count()) + + ws = GrapheneRPC("https://api.steemit.com","","") + print(ws.get_account_count()) .. note:: This class allows to call methods available via websocket. If you want to use the notification diff --git a/docs/_static/beem-logo_2.png b/docs/_static/beem-logo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8488b6e0a5907297726f310b931921175b485691 GIT binary patch literal 58281 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 literal 0 HcmV?d00001 diff --git a/docs/_static/beem-logo_2.svg b/docs/_static/beem-logo_2.svg new file mode 100644 index 00000000..014be475 --- /dev/null +++ b/docs/_static/beem-logo_2.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 569 569" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><g id="Layer-1" serif:id="Layer 1"><g><path d="M80.075,367.29c34.301,-1.394 157.829,-5.859 157.829,-5.859l-8.818,-24.675c-5.203,-17.054 3.282,-36.78 17.163,-45.714c12.077,-7.774 39.77,-11.502 57.625,-17.877c4.215,-1.505 7.881,-3.157 10.664,-5.044c11.886,-8.06 22.845,-25.031 19.153,-37.134l-17.296,-56.672c-3.869,-12.683 -16.337,-20.847 -31.758,-20.8c-1.745,0.006 -3.512,0.123 -5.25,0.353c-10.213,1.345 -21.077,3.752 -31.414,6.957c-9.773,3.032 -19.242,6.826 -27.38,10.975c-22.66,11.538 -24.282,21.326 -19.308,37.628l6.333,20.754l59.516,-18.156l3.382,11.096l-200.136,103.926c0,0 -4.276,2.032 -7.533,4.021c-2.206,1.347 -3.723,2.821 -3.982,3.067c-4.99,4.732 -5.951,9.425 -5.937,14.408c0.027,8.349 8.127,16.429 13.421,17.917c2.859,0.804 3.17,0.668 5.186,0.794c4.08,0.255 8.54,0.035 8.54,0.035Zm11.104,-11.507c-1.112,0.339 -2.236,0.503 -3.344,0.506c-5.033,0.015 -9.71,-3.28 -11.273,-8.406c-1.915,-6.273 1.528,-12.9 7.697,-14.783c1.097,-0.334 2.208,-0.496 3.305,-0.499c5.042,-0.016 9.761,3.315 11.332,8.468c1.909,6.252 -1.57,12.839 -7.717,14.714Zm130.849,-167.423c1.112,-0.336 2.238,-0.496 3.344,-0.496c5.035,0 9.702,3.31 11.25,8.44c1.893,6.28 -1.568,12.896 -7.744,14.759c-1.097,0.332 -2.21,0.489 -3.305,0.489c-5.042,0 -9.752,-3.344 -11.308,-8.503c-1.889,-6.257 1.609,-12.833 7.763,-14.689Z" style="fill:#314bff;stroke:#7e8eff;stroke-width:1px;"/><path d="M495.37,202.989c9.538,0 16.713,9.037 16.452,18.575c-0.147,5.417 -2.935,11.267 -7.105,14.075c-1.631,1.098 -4.589,2.733 -6.213,3.489c-0.771,0.359 -3.967,2.052 -6.044,2.968c-3.325,1.466 -5.648,2.634 -5.648,2.634l-182.667,93.318l-2.995,1.53l0.971,3.213l2.285,7.552l1.165,3.828l3.862,-1.232l55.64,-16.922l5.685,18.573c3.753,12.438 -2.635,23.578 -18.985,34.171c-18.461,11.975 -35.609,16.228 -57.335,16.228l-0.541,0c-10.804,0 -29.653,-1.314 -34.489,-17.339l-17.114,-55.648c-3.067,-10.164 6.958,-25.578 15.255,-30.96c14.693,-9.532 44.937,-7.888 69.899,-24.513c15.63,-10.41 26.943,-29.476 21.506,-47.502l-7.118,-24.252c0,0 24.027,-0.283 53.047,-0.623c43.964,-0.515 99.388,-1.163 100.089,-1.163l0.398,0Zm-147.688,170.731c-5.768,0.017 -10.458,-4.644 -10.477,-10.411c-0.018,-5.768 4.645,-10.457 10.413,-10.476c5.767,-0.017 10.456,4.644 10.474,10.412c0.017,5.767 -4.643,10.457 -10.41,10.475Zm135.822,-140.57c-5.767,0 -10.442,-4.676 -10.442,-10.443c0,-5.768 4.675,-10.443 10.442,-10.443c2.489,0 4.776,0.871 6.571,2.325c2.363,1.914 3.874,4.839 3.874,8.118c0,5.767 -4.677,10.443 -10.445,10.443Z" style="fill:#ffe531;stroke:#e4c700;stroke-width:1px;"/></g><path d="M367.9,542.179c-25.067,7.738 -52.852,11.805 -82.887,11.668c-0.315,-0.001 -0.631,-0.003 -0.947,-0.006c-45.461,-0.34 -85.019,-10.205 -122.595,-28.296c-33.811,-16.279 -62.302,-40.424 -85.497,-68.515l-13.721,-18.111c-14.942,-21.598 -26.793,-45.512 -35.092,-71.208c-22.225,-68.83 -16.318,-142.193 16.635,-206.579c32.953,-64.384 89.006,-112.084 157.834,-134.309c27.403,-8.849 55.513,-13.237 83.501,-13.237c42.309,0 84.326,10.038 123.077,29.871c64.386,32.953 112.084,89.068 134.31,157.897c22.226,68.828 12.469,149.834 -16.634,206.638c-29.103,56.804 -88.108,112.617 -157.984,134.187Zm186.989,-344.882c-23.293,-72.133 -73.282,-130.877 -140.758,-165.412c-67.477,-34.535 -144.363,-40.725 -216.495,-17.433c-72.133,23.293 -130.877,73.282 -165.412,140.758c-34.535,67.476 -40.727,144.362 -17.434,216.495c23.293,72.132 73.282,130.878 140.759,165.412c0.283,0.145 0.565,0.289 0.848,0.432c40.38,20.502 84.102,30.873 128.138,30.873c29.326,0 58.794,-4.599 87.508,-13.872c72.134,-23.293 130.878,-73.282 165.413,-140.758c34.535,-67.476 40.726,-144.362 17.433,-216.495" style="fill:url(#_Linear1);fill-rule:nonzero;"/></g><defs><linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(567.844,0,0,567.842,0.917694,284.501)"><stop offset="0" style="stop-color:#314bff;stop-opacity:1"/><stop offset="1" style="stop-color:#ffe531;stop-opacity:1"/></linearGradient></defs></svg> \ No newline at end of file diff --git a/docs/_static/beem-logo_bw.png b/docs/_static/beem-logo_bw.png new file mode 100644 index 0000000000000000000000000000000000000000..e986635206f9726afc747131b678c907c2373807 GIT binary patch literal 27709 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 Wl84sUjuZ-KYjouDrN`b~wf#RNu}a4P literal 0 HcmV?d00001 diff --git a/docs/_static/beem-logo_bw.svg b/docs/_static/beem-logo_bw.svg new file mode 100644 index 00000000..b4c60997 --- /dev/null +++ b/docs/_static/beem-logo_bw.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><g id="Layer-1" serif:id="Layer 1"><g><path d="M300.075,443.29c34.301,-1.394 157.829,-5.859 157.829,-5.859l-8.818,-24.675c-5.203,-17.054 3.282,-36.78 17.163,-45.714c12.077,-7.774 39.77,-11.502 57.625,-17.877c4.215,-1.505 7.881,-3.157 10.664,-5.044c11.886,-8.06 22.845,-25.031 19.153,-37.134l-17.296,-56.672c-3.869,-12.683 -16.337,-20.847 -31.758,-20.8c-1.745,0.006 -3.512,0.123 -5.25,0.353c-10.213,1.345 -21.077,3.752 -31.414,6.957c-9.773,3.032 -19.242,6.826 -27.38,10.975c-22.66,11.538 -24.282,21.326 -19.308,37.628l6.333,20.754l59.516,-18.156l3.382,11.096l-200.136,103.926c0,0 -4.276,2.032 -7.533,4.021c-2.206,1.347 -3.723,2.821 -3.982,3.067c-4.99,4.732 -5.951,9.425 -5.937,14.408c0.027,8.349 8.127,16.429 13.421,17.917c2.859,0.804 3.17,0.668 5.186,0.794c4.08,0.255 8.54,0.035 8.54,0.035Zm11.104,-11.507c-1.112,0.339 -2.236,0.503 -3.344,0.506c-5.033,0.015 -9.71,-3.28 -11.273,-8.406c-1.915,-6.273 1.528,-12.9 7.697,-14.783c1.097,-0.334 2.208,-0.496 3.305,-0.499c5.042,-0.016 9.761,3.315 11.332,8.468c1.909,6.252 -1.57,12.839 -7.717,14.714Zm130.849,-167.423c1.112,-0.336 2.238,-0.496 3.344,-0.496c5.035,0 9.702,3.31 11.25,8.44c1.893,6.28 -1.568,12.896 -7.744,14.759c-1.097,0.332 -2.21,0.489 -3.305,0.489c-5.042,0 -9.752,-3.344 -11.308,-8.503c-1.889,-6.257 1.609,-12.833 7.763,-14.689Z"/><path d="M715.37,278.989c9.538,0 16.713,9.037 16.452,18.575c-0.147,5.417 -2.935,11.267 -7.105,14.075c-1.631,1.098 -4.589,2.733 -6.213,3.489c-0.771,0.359 -3.967,2.052 -6.044,2.968c-3.325,1.466 -5.648,2.634 -5.648,2.634l-182.667,93.318l-2.995,1.53l0.971,3.213l2.285,7.552l1.165,3.828l3.862,-1.232l55.64,-16.922l5.685,18.573c3.753,12.438 -2.635,23.578 -18.985,34.171c-18.461,11.975 -35.609,16.228 -57.335,16.228l-0.541,0c-10.804,0 -29.653,-1.314 -34.489,-17.339l-17.114,-55.648c-3.067,-10.164 6.958,-25.578 15.255,-30.96c14.693,-9.532 44.937,-7.888 69.899,-24.513c15.63,-10.41 26.943,-29.476 21.506,-47.502l-7.118,-24.252c0,0 24.027,-0.283 53.047,-0.623c43.964,-0.515 99.388,-1.163 100.089,-1.163l0.398,0Zm-147.688,170.731c-5.768,0.017 -10.458,-4.644 -10.477,-10.411c-0.018,-5.768 4.645,-10.457 10.413,-10.476c5.767,-0.017 10.456,4.644 10.474,10.412c0.017,5.767 -4.643,10.457 -10.41,10.475Zm135.822,-140.57c-5.767,0 -10.442,-4.676 -10.442,-10.443c0,-5.768 4.675,-10.443 10.442,-10.443c2.489,0 4.776,0.871 6.571,2.325c2.363,1.914 3.874,4.839 3.874,8.118c0,5.767 -4.677,10.443 -10.445,10.443Z"/></g><path d="M324.787,830.39c0,-18.921 -15.498,-29.79 -42.671,-29.79l-48.91,0l0,60.183l48.91,0c27.173,0.201 42.671,-10.87 42.671,-30.393m-7.044,-66.02c0,-17.511 -13.083,-27.575 -35.627,-27.575l-48.91,0l0,55.553l48.91,0c22.544,0 35.627,-10.064 35.627,-27.978m8.453,-1.006c0,17.31 -9.862,29.185 -27.173,32.406c21.739,2.616 34.218,15.9 34.218,35.626c0,23.952 -18.719,37.841 -50.52,37.841l-57.969,0l0,-140.695l57.565,0c27.575,0 43.879,12.882 43.879,34.822" style="fill-rule:nonzero;"/><path d="M461.455,728.542l0,8.253l-82.322,0l0,56.156l73.265,0l0,8.454l-73.265,0l0,59.578l84.939,0l0,8.253l-93.393,0l0,-140.694l90.776,0Z" style="fill-rule:nonzero;"/><path d="M591.683,728.542l0,8.253l-82.322,0l0,56.156l73.265,0l0,8.454l-73.265,0l0,59.578l84.939,0l0,8.253l-93.393,0l0,-140.694l90.776,0Z" style="fill-rule:nonzero;"/><path d="M638.78,728.542l56.56,110.703l56.157,-110.703l11.674,0l0,140.694l-8.051,0l-0.201,-129.019l-57.768,113.722l-3.824,0l-58.17,-113.722l0,129.019l-8.051,0l0,-140.694l11.674,0Z" style="fill-rule:nonzero;"/></g></svg> \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index b655ad22..411a7b3a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -31,7 +31,7 @@ sys.path.insert(0, os.path.abspath('../scripts/')) # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ["sphinx.ext.autodoc"] +extensions = ["sphinx.ext.autodoc", "sphinx.ext.doctest"] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -129,7 +129,7 @@ html_theme = 'sphinx_rtd_theme' # The name of an image file (relative to this directory) to place at the top # of the sidebar. -html_logo = '_static/beem-logo.png' +html_logo = '_static/beem-logo_2.svg' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 @@ -269,7 +269,7 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'beem', 'beem Documentation', - author, 'beem', 'One line description of project.', + author, 'beem', 'python library for steem', 'Miscellaneous'), ] diff --git a/docs/quickstart.rst b/docs/quickstart.rst index b2cb28e1..3c529d4d 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -32,7 +32,8 @@ By creating this object different options can be set. Wallet and Keys --------------- -Each account has a: +Each account has the following keys: + * Posting key (allows accounts to post, vote, edit, resteem and follow/mute) * Active key (allows accounts to transfer, power up/down, voting for witness, ...) * Memo key (Can be used to encrypt/decrypt memos) -- GitLab