A python library to interact with the STEEM blockchain
Clone or download
Latest commit 872a825 Dec 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Fix CI for py 3.7 Nov 9, 2018
beem connect for beempy createwallet Dec 6, 2018
beemapi Remove not responding testnet node from unit tests Dec 5, 2018
beembase Remove not responding testnet node from unit tests Dec 5, 2018
beemgrapheneapi beemgrapheneapi is deprecated, all classes and functions are availabl… May 23, 2018
beemgraphenebase Remove not responding testnet node from unit tests Dec 5, 2018
benchmarks ecdsa improved with cryptography Mar 15, 2018
docs Update installation.rst Dec 11, 2018
examples Fix unit tests and skip not working tests on testnet Oct 6, 2018
tests Add Changelog for 0.20.14 and improve unit tests Dec 7, 2018
util Revert changes to package osx May 9, 2018
.bandit.yml Code Improvements part1 Mar 3, 2018
.coveragerc beemgrapheneapi is deprecated, all classes and functions are availabl… May 23, 2018
.flake8 Account: Feb 25, 2018
.gitignore Try to build exe with pyinstaller May 4, 2018
.pylintrc Code Improvements part1 Mar 3, 2018
.pyup.yml Add pyup batch May 8, 2018
.travis.yml Fix unit tests for new amount dict format in test_transactions Oct 5, 2018
CHANGELOG.rst Add Changelog for 0.20.14 and improve unit tests Dec 7, 2018
LICENSE.txt First step of replacing Bitshares by Steem Feb 14, 2018
MANIFEST.in Rename library from steempy to beem Feb 21, 2018
Makefile fix doc by adding all version.py files Feb 22, 2018
README.rst Fix Brainkey.suggest() for python 2.7 Oct 14, 2018
appveyor.yml Add option to create url from all broadcast operation to beempy May 29, 2018
beempy-onedir.spec fix typo Oct 23, 2018
beempy-onefile.spec Add missing scrypt to pyinstaller and prepare for missing witness api Oct 23, 2018
beempy.ico Try to build exe with pyinstaller May 4, 2018
pytest.ini fix ci build Apr 30, 2018
requirements-test.txt Update cryptography from 2.4.1 to 2.4.2 Nov 26, 2018
setup.cfg Code Improvements part1 Mar 3, 2018
setup.py Remove not responding testnet node from unit tests Dec 5, 2018
tox.ini beemgrapheneapi is deprecated, all classes and functions are availabl… May 23, 2018

README.rst

beem - Unofficial Python Library for Steem

beem is an unofficial python library for steem, which is created new from scratch from python-bitshares The library name is derived from a beam machine, similar to the analogy between steem and steam. beem includes python-graphenelib.

Latest Version Python Versions

Current build status

https://travis-ci.org/holgern/beem.svg?branch=master https://ci.appveyor.com/api/projects/status/ig8oqp8bt2fmr09a?svg=true https://circleci.com/gh/holgern/beem.svg?style=svg https://readthedocs.org/projects/beem/badge/?version=latest https://api.codacy.com/project/badge/Grade/e5476faf97df4c658697b8e7a7efebd7 Updates Test Coverage

Support & Documentation

You may find help in the beem-discord-channel. The discord channel can also be used to discuss things about beem.

A complete library documentation is available at beem.readthedocs.io.

Advantages over the official steem-python library

  • High unit test coverage
  • Support for websocket nodes
  • Native support for new Appbase calls
  • Node error handling and automatic node switching
  • Usage of pycryptodomex instead of the outdated pycrypto
  • Complete documentation of beempy and all classes including all functions
  • steemconnect integration
  • Works on read-only systems
  • Own BlockchainObject class with cache
  • Contains all broadcast operations
  • Estimation of virtual account operation index from date or block number
  • the command line tool beempy uses click and has more commands
  • SteemNodeRPC can be used to execute even not implemented RPC-Calls
  • More complete implemention

Installation

The minimal working python version is 2.7.x. or 3.4.x

beem can be installed parallel to python-steem.

For Debian and Ubuntu, please ensure that the following packages are installed:

sudo apt-get install build-essential libssl-dev python-dev

For Fedora and RHEL-derivatives, please ensure that the following packages are installed:

sudo yum install gcc openssl-devel python-devel

For OSX, please do the following:

brew install openssl
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"

For Termux on Android, please install the following packages:

pkg install clang openssl-dev python-dev

Signing and Verify can be fasten (200 %) by installing cryptography:

pip install -U cryptography

Install or update beem by pip:

pip install -U beem

You can install beem from this repository if you want the latest but possibly non-compiling version:

git clone https://github.com/holgern/beem.git
cd beem
python setup.py build

python setup.py install --user

Run tests after install:

pytest

Installing beem with conda-forge

Installing beem from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, beem can be installed with:

conda install beem

Signing and Verify can be fasten (200 %) by installing cryptography:

conda install cryptography

beem can be updated by:

conda update beem

CLI tool beempy

A command line tool is available. The help output shows the available commands:

beempy --help

Stand alone version of CLI tool beempy

With the help of pyinstaller, a stand alone version of beempy was created for Windows, OSX and linux. Each version has just to be unpacked and can be used in any terminal. The packed directories can be found under release. Each release has a hash sum, which is created directly in the build-server before transmitting the packed file. Please check the hash-sum after downloading.

Changelog

Can be found in CHANGELOG.rst.

License

This library is licensed under the MIT License.

Acknowledgements

python-bitshares and python-graphenelib were created by Fabian Schuh (xeroc).