update for beem: markdown download and improved posting

in HiveDevslast year (edited)




beem is a python library for STEEM and HIVE. The current version is 0.23.3.

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. After setting hive as default_chain, beempy updatenodes can be used without switching to steem.

The list of nodes can be checked with

beempy config


beempy currentnode

shows the currently connected node.

Changelog for versions 0.23.2 - 0.23.3

  • post detects now communities and set category correctly
  • option added to remove time based suffix in derive_permlink
  • beempy download added to save posts as markdown file
  • beempy post improved, automatic image upload, community support, patch generation on edit
  • Unit test added for beempy download

beempy download

This new beempy command allows it to download posts as markdown file

beempy download -a holger80 -e ../../beem_23_1.md update-for-beem-improved-key-generation-in-beempy-and-new-beempy-command-for-changing-keys

stores my post in beem_23_1.md with a yaml header in which author, permlink, community and tag are stored.

beempy post

This command supports now communities and supports automatic image upload. For example, this post was written with Typora and broadcasted with beempy.

I created a new markdown file with typora and activated YAML front matter. This activates a new field at the top which can be filled with parameters.

My YAML header is


The YAML header looks in the markdown source code as following:

title: "update for beem: markdown download and improved posting"
author: holger80
community: hive-139531
tags: development,beem,python

The header must be in front of the markdown file.

It is also possible to use parameter instead of a YAML header:

The command to post was then for me:

beempy post beem_23_2.md

Automatic image upload

Whenever a


is found in the markdown, it is checked if the image file exists. When it could be found, it is automatically uploaded to the image server. The image url is then replaced in the uploaded version by the https imageserver link.

This allows it to drop images into the markdown editor which will then be automatically uploaded.

Community support

When a community is given, it is now correctly stored in the category field.

Patch text generation on edit

Whenever a markdown file with a permlink, that is already existing, is tried to upload, a patch diff is uploaded instead in order to save bandwidth.


It is now possible to post with beempy

  1. Write your post in a markdown editor and drag all images into it
  2. Specify title, tags, community either in a YAML header or by parameters
  3. broadcast your post with beempy post MARKDOWN_FILE(add parameter when needed)
  4. Edit your post by editing the markdown file and broadcast its content again with beempy post

If you like what I do, consider casting a vote for me as witness on Hivesigner or on PeakD.


The download and post feature with a YAML header is genius!!

Downloading all your posts should now be trivial with a simple .sh

Download all posts seems to be an useful update for beempy. I work on it.

Great to know!!

Hi @holger80, you have received a small bonus upvote from MAXUV.
This is to inform you that you now have new MPATH tokens in your Hive-Engine wallet.
Please read this post for more information.
Thanks for being a member of both MAXUV and MPATH!

This is a nice update on the Beem library. We find this pretty useful, and we are picking it as one of the nice publication for the day, and we will feature it on our front-end, gitplait.tech. Kudos!

Sounds like a valuable service for this blockchain that I should know more about.