steempy is a Steem library for Python. It comes with a
BIP38 encrypted wallet and a practical CLI utility called steempy.
The base version is a fork of the official python library, which is no longer maintained. This repository continues that work as a maintained, actively developed fork for current Python and release workflows.
This library targets Python 3.8 to 3.12.
With pip:
pip install steempyFrom source:
git clone https://github.com/only-dev-time/steempy.git
cd steempy
python -m pip install .If you're on a mac, you may need to do the following first:
brew install openssl
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"The library comes with a few console scripts.
steempy: rudimentary blockchain CLI (needs some TLC and more TLAs)steemtail: useful for e.g.steemtail -f -j | jq --unbuffered --sort-keys .
Documentation is maintained in this repository under docs.
You can build it locally via make -C docs html.
This repository now uses tox for multi-version test automation.
Basic workflow:
- install
toxin your dev environment - make sure Python 3.8 to 3.12 interpreters are available locally
- run the matrix locally via
tox -e py38,py39,py310,py311,py312
Convenience Make targets:
make testruns tests on Python 3.12make test-allruns the full Python 3.8 to 3.12 matrixmake lintruns ruff, isort, and mypy checksmake packagebuildssdistandwheeland validates metadatamake build-checkbuilds tagged wheels for each Python version and validates metadatamake install-checkinstalls the built wheel in fresh tox envs and runs smoke checksmake verify-releaseruns the full local release workflow: build checks, package build, and install validation
Release validation:
- push builds run test matrix checks
- tag pushes (
v*) build package artifacts - tags upload to TestPyPI first
- non-
rctags can upload to PyPI after TestPyPI + install checks
- decide and publish a permanent documentation endpoint (GitHub Pages or Read the Docs)
- increase unit and integration coverage for core blockchain operations
- improve and align docs coverage with current CLI and release workflow
- evaluate migration to a dedicated CLI framework (for example click)
- ...
This library is under development. Beware.