beem is a python library for accessing the steem blockchain. I build beem from scratch using python-bitshares as template. At the moment, beem is not really used, as the github has around 1 unique visitor each day and thats maybe me. The newest version of beem is 0.19.19.
I created a discord channel for answering question or discussing beem: https://discord.gg/4HM592V
beem is not a copy of python-steem, thus the classes and functions are different. beem is almost feature complete and should be able to do all things that python-steem can do. Differences to python-steem:
|native appbase calls||yes||no|
|python 2.7 supportet||yes||yes|
|python 3.3 supportet||yes||no|
|python 3.4 supportet||yes||no|
|python 3.6 supportet||yes||yes|
|number of unit tests||340||70|
|coverage||75 % - 83%||?|
|can be used on android||yes||no|
I decided to create an own library for steem and not participating to python-steem by pull-requests for the following reasons:
- as python-steem is the official library, all changes have to be reviewed carfully. This takes a lot of time.
- python-steem is used by many, therefore it is not possible to change classes or functions easily.
- I like it to have my own repo, in which I can do what I want :).
beem is open source, so my work may improve python-steem.
- All rpc calls are handled with direct api call. Register api was a relict from bitshares.
- Nodes can be given as ,or ; seperated string
- is_connected added in steem
- Fix vote tests
- improved transactionbuilder tests
- Improved detection of MissingRequiredActiveAuthority
- Fix blocks for threaded and batched calls
- add blockchain_version function on steem
- Fix node input on graphenerpc
- Improve benchmark_nodes
- Add unit tests for bateched and threaded blocks calls
- Use https://api.steemit.com as default appbase node
- Improve blockchain unittests
- RecentReplies improved
- Comment init improved
- test coverage for comment and steem improved.
- Robustify reading of blockchain parameters
- improve formatTimedelta output
- improve benchmark_nodes by added account history
- reduced times in which get_current_block_num is called
- when last_fetched_block_num is given, get_current_block_num is only called when block_number is greater than last_fetched_block_num
- default nodes list enhanced
- Service Temporarily Unavailable and Bad Gateway added to exception detection
- check for Service Temporarily Unavailable and Bad Gateway
- Improved handling of Client returned invalid format. Expected JSON! when output is int
- test_utils fixed
- self.errror_cnt_call used instead of local variable doRetryCount
- num_retries_call added for setting a max number of retries on a rpc call
- self.n_urls added for getting the number of given nodes
- sleep on retry removed, when switching over to the next node
self.error_cnt_call used for counting rpc call retries
- sleep_and_check_retries improved
- num_retries added
- test_golos reduced
- add option use_block_num to history, history_reverse and get_account_history
- reduce code duplication
- reduce code duplication
Posted on Utopian.io - Rewarding Open Source Contributors