## Repository https://github.com/holgern/beem
![beem-logo](https://cdn.steemitimages.com/DQmcRrwLPSywSYMierfP6um6mejeMNGjN9Rxw7audJqTDgb/beem-logo)
[beem](https://github.com/holgern/beem) is a python library for STEEM and HIVE. The current version is 0.22.13. There is also a discord channel for beem: https://discord.gg/4HM592V The newest beem version can be installed by: ``` pip install -U beem ``` Check that you are using hive nodes. The following command ``` beempy updatenodes --hive ``` updates the nodelist and uses only hive nodes. The list of nodes can be checked with ``` beempy config ``` and ``` beempy currentnode ``` shows the currently connected node. ## Changelog for versions 0.22.13 * HiveSigner support added * api link to steemconnect has been fixed * change recovery account added to beempy * hive node has been added * add account get_notifications and mark_notifications_as_read * beempy notifications has been added * bridge api support added * config storage improved and add get_default_config_storage, get_default_key_storage and get_default_token_storage * list_all_subscriptions and get_account_posts added * reduce number of performed api calls on Steem object creation ## Performance boost for beem All integration tests are finishing now in ``` ========== 469 passed, 27 skipped, 11 warnings in 1040.19s (0:17:20) =========== ``` which is an improvement of 49% (version 0.22.12 needed 1551 seconds). This huge boost could be accomplished by reducing the number of API calls when creating the Steem object. When importing objects from beem, a `configStorage` object is no longer created during import. The config storage is now read during object creation with `get_default_config_storage`. This speeds up importing beem modules and read stored parameter only when needed. These changes improves also the speed of all beempy commands. ## Bridge API beem supports now parts of the bridge API. More functions to support the missing API calls will follow. ### notifications ``` beempy notifications holger80 ``` prints a table with unread notifications. ``` +---------------------+------+-------------------------------------------+ | Date | Type | Message | +---------------------+------+-------------------------------------------+ | 2020-04-06 10:15:57 | vote | @uwelang voted on your post ($0.23) | | 2020-04-06 12:52:00 | vote | @steemcleaners voted on your post ($2.45) | +---------------------+------+-------------------------------------------+ ``` They can also marked as read with `-m` ``` beempy notifications -m holger80 ``` which broadcasts notify custom_json. ### list all subscribtions The account object has now a `list_all_subscriptions` functions which returns a list with all cummunities which the account has subscript. ### get_account_posts The account object has now the `get_account_posts` function, which can be used to fetch all posts shown in the feed of the account. ### get_ranked_posts A new class `RankedPosts` was added to `beem.comment` which can be used to receive ranked posts. ## Change recovery account with beempy It is now possible to change the recovery account using beempy ``` beempy changerecovery -a holge80 recovery.account ``` ## HiveSigner support was added The following python example shows how to create a login link: ``` from beem.hivesigner import HiveSigner hivesigner = HiveSigner(client_id="rewarding.app", scope="login", get_refresh_token=False) hivesigner.get_login_url('https://rewarding.app/welcome') ``` returns ``` 'https://hivesigner.com/oauth2/authorize?client_id=rewarding.app&redirect_uri=https%3A%2F%2Frewarding.app%2Fwelcome&scope=login' ``` The received token can then be used to check if a user was successfully entering its posting key in a python script: ``` try: hivesigner.set_access_token(access_token) name = hivesigner.me()["name"] except: print("Wrong token") ``` *** *If you like what I do, consider casting a vote for me as witness on [Hivesigner](https://hivesigner.com/sign/account-witness-vote?witness=holger80&approve=1) or on [PeakD](https://peakd.com/witnesses)*.

See: Update for beem: huge performance improvements and bridge API support by @holger80