I recently published an article about how great Bashtop is on openSUSE, and when I was nearly done with it, I was told about Bpytop. Since I was going through the final edit, I didn’t just want to dump what I did before but rather, follow it up with Bpytop. I am not sure how far behind the curve I am now and maybe there is something even cooler out there but before anyone tells me what the latest hotness is in terminal, system monitoring applications, I am feverishly writing about this.
What is so great about Bpytop?
If you are a nerd about what your system is doing and like to see the numbers, charts graphs, etc, and you have previously enjoyed Bashtop, Bpytop is going to send tingles of joy down your finger tips. The little bits of information it gives you from CPU load, load average, and frequency is superb. The chart it produces on the CPU usage looks fantastic and really makes you wonder how they accomplished this when it is only in text mode. Truly a feat of terminal engineering!
At the time of writing, the two ways you can go about installing bpytop is installing the snap or directly installing the application using PyPi. I opted for the PyPi method this time. Within the terminal enter this to install or upgrade.
pip3 install bpytop --upgrade
Once installed, a simple entering of
bpytop in the terminal will start the application in all it’s splendor.
This should work for all distributions of Linux but there are other installation options here:
For starters, there are three viewing modes, for your pleasure, with Bpytop. Full, the only option in Bashtop, Proc, shows CPU and process table, and Stat, which just shows graphs and current statistics of the CPUs, Memory, Disks and network.
Much of what you expect from bashtop is here but there are a few additions and changes have been made that are very welcome enhancements. For starters the remaining battery indicator.
Running this on my Plasma desktop it is not a critical addition under normal use but I can think of several other situations where this would be valuable to have in the terminal. It’s a nice addition.
The CPU view was mostly the same, no real changes here. The biggest change is Core being replaced by “C” for each core. Presumably to reduce wasted space. Personally, I am fine with either notation. I still think this is the best use of the top of the display layout. The interesting bits of information concerning the CPU like frequency, load average, and load per core as well as temperature.
The disk display is improved with having disk activity indicators by partition. At a glance, that makes this section far more useful. There is a lot of value in this for numerous reasons. This is a splendid addition to this system monitor and I must say, my favorite change from Bashtop.
I am on the fence about the change to the memory graph look. By simply pressing “g”, you can change from graph to to bars quite nicely.
The Swap memory / partition is by default in the disks section but by pressing “s”, Swap will appear with the rest of the memory section. I prefer it with memory but I see the logic in having it with the rest of the disk space.
The network section of Bpytop has some fantastic enhancements. The most exciting feature here is the network adapter selection. Pressing “b” and “n” will cycle through the different interfaces on the system.
The process table has a few additional features. Like before you can filter the process list by pressing “f” but now you can look at process by core, or in a tree of processes. There is certainly a lot of utility in that capability.
Just as before you can interact with the processes by killing them and what not.
Bpytop has a menu much like Bashtop pressing “M” will bring to to it. The coloring is a bit different but the menu is largely the same with the fancy lettering and such. Also, note: “m” changes the display mode”
There are a lot more options than before. So many, in fact that it has to be broken up into multiple pages. Many of these options are able to be triggered in the view mode, such as Swap preferences. If you do not like the Color theme, for whatever reason, there are options there too. Three viewing modes are available in Bpytop. Full is my preference but if you just want processes, or stats, that is also available.
I have taken some note on system resource usage and it appears that Bashtop uses less memory but Bpytop uses fewer CPU resources. I do want to make sure I make it clear that I am not using a very thorough analysis process to determine this.
The “Help” menu item give you a list with an explanation of what each key sequence does. There are a lot more commands in Bpytop than there were in Bashtop. The new toggles are identified in this list which is helpful for those new to this application.
Overall Bpytop has very similar visual characteristics to Bashtop. There is a bit more polish to Bpytop and the interface is more responsive. The fading of process list is very slick which again makes the application feel a lot more like a graphical utility than a terminal based one. Like Bashtop, Bpytop provides a very easy to digest, visually appealing overview of what various aspects of your system is doing, that is more aesthetically pleasing and the interaction significantly improved.
Depending on what you are trying to extract from your system monitoring, Bpytop is super handy and may even be considered, super FUN. The interactions with your system through this application are notably enhanced. The layout modes, memory graphs and disk activity are phenomenal features that, if nothing else, are fun to watch.
What I Like
Bpytop cleverly uses some less commonly seen ASCII characters to almost suspend the idea that you are in a text only terminal. It certainly gives the impression the possibility that it is a grpahically driven tool. Bpytop is a very modern looking and incredibly useful application that has a high level of refinement to it.
The multiple display modes of this application is done very well which has likely been established through a user feedback mechanism. The three modes of Full, Proc and Stat adjust the panes for the purpose that best suits your requirements. Though I prefer the full, filling the terminal window with just the system statistics looks pretty great.
The menu system in Bpytop, like Bashtop, is superb. There is so much to adjust and dig into on this application. The “help” screen is also very informative and necessary until you get used to what each keystroke does. Having it tied to “h” and “F1” makes accessing it intuitive as well.
What I Don’t Like
Bpytop is not as light on resources as top or htop but I truly believe that it is worth every byte and CPU cycle, just for the overall visually satisfying experience and value of information. I respect the argument for just using top to get a quick terminal snapshot but the user interface of Bpytop is much more intuitive and accessible.
This is not a big deal as one quick terminal command and it is installed but Bpytop is not in the official openSUSE Leap or Tumbleweed repositories. I think this should be standard fair on openSUSE because of how awesome it is.
Not long after becoming aware of Bashtop, I was presented with Bpytop and before all this fancy new terminal goodness came to me, was happy enough using htop. My terminal world has changed. The bar has been raised and the terminal has become even more fun. Where were applications like this just a few short years ago? I am very thankful for the creative expression in the terminal applications of today. Bpytop is a fantastic application, terminal or not and I highly recommend anyone give this is a try and tell me what they think of it. This again underscores that Linux and open source software is simply brilliant!