Steempy - Next generation Python library for Steem
My followers and readers are probably aware that I prefer working with Python over languages that are used in web development. As a result, most of my projects are developed in Python.
For this reason, there's a need for a Python library that handles interaction with the blockchain. Currently, there is the official steem-python library, which is unfortunately very outdated, and beem, which is primarily based on Hive and only supports Steem as an aside - it's unclear how long that will continue (as I can see on GitHub, beem is officially marked as archived and is therefore no longer being maintained).
That's why I've been intending to continue working on the Python library for some time now.
I had already taken the first steps toward that in November 2025:
1. Code Base
Since updates to the old code are unlikely to be implemented anymore due to a lack of maintainers, I had to come up with my own solution. To do this, I took the old code and created a standalone repository - not a fork. The first version 1.0.1 corresponds to the previous steem-python code.
2. Package Index
Even the best code is useless if it isn't easy to use. The previous library could be installed via the Python Package Index (PyPI) as the steem package. Since new developments would no longer be included in the old package, it made sense to start with a new one. I had chosen steempy as the name, since this command would also allow the library to be used on the command line. However, steempy was already reserved, though it hadn't been used in a long time. So I submitted an official ticket to claim the package name for myself. After about three months, this was successfully completed in February 2026, and I was able to upload the first version to PyPI:
This version still corresponds to the previous official code from
steem-python.Note: I still need to figure out how to add a project description on PyPI. Maybe one of you has a tip.

3. Dev Env
So now I could just go ahead and start making changes. In particular, the dependency on the outdated pycrypto library absolutely must be fixed so that the installation works smoothly, for example, in containers. Workarounds can be found here, here, and here.
But before I can get started professionally, I need a development environment so I can properly develop, test, and deploy the code.
To do this, I created a new branch and made the following changes:
- Integration of
toxfor testing across different Python versions, - Creation of GitHub Actions to test the code before deploying to PyPI,
- Limiting support to Python versions 3.8 through 3.12,
- Integration of linters and formatting tools for code standardization and code review.
4. Next Steps and Thoughts
- Should Python 3.8 and 3.9 continue to be supported? I'm almost inclined to say no, because, on the one hand, it increases the effort involved, and on the other hand, these versions are already outdated. Anyone who wants to start developing with my new library now should use a reasonably up-to-date version of Python.
- Switching to
ruffandmypyfor code checking and formatting requires many changes to the old code. I'm not yet sure how I'll go about this. It will likely require adapting the code module by module to avoid overhauling the entire codebase at once. But maybe a single commit for all the changes would be better? - Currently, all GitHub Actions are still failing due to the
pycryptodependency. I'll therefore likely start addressing this in the first production-ready version. Only then will we see how well the development environment holds up. - Further testing should ensure that the new code works properly.
- The documentation absolutely needs to be updated. I’ll probably use GitHub Pages for this.
10.08.2026

Steem Search on https://moecki.online/ | ![]() |
|---|

Also wenn das keinen Kommentar wert ist , höhö .
#SUPER , #KLASSE , #TOLL , #JEAHH .
0.00 SBD,
3.34 STEEM,
3.34 SP
Das ist wiederum ein Danke wert :-))
!dubby 5%
0.00 SBD,
7.36 STEEM,
7.36 SP
Hey @moecki,
thank you for using our automatic payout bot 'DUBby' to share your post rewards with your commentators.
You have not yet issued any payout instructions.
Just write a comment to the users who should receive a share. It should contain the instruction in the form
!dubby x %.If you need help with this, feel free to ask or check this manual (german).
Greetings from the 'DU-Finanzbot' (by Witness @moecki).
0.00 SBD,
11.11 STEEM,
11.11 SP