BPYTOP : Linux/OSX/FreeBSD Resource Monitor

BPYTOP is a resource monitor that shows usage and stats for processor, memory, disks, network and processes.

Features

  • Easy to use, with a game inspired menu system.
  • Full mouse support, all buttons with a highlighted key is clickable and mouse scroll works in process list and menu boxes.
  • Fast and responsive UI with UP, DOWN keys process selection.
  • Function for showing detailed stats for selected process.
  • Ability to filter processes, multiple filters can be entered.
  • Easy switching between sorting options.
  • Send SIGTERM, SIGKILL, SIGINT to selected process.
  • UI menu for changing all config file options.
  • Auto scaling graph for network usage.
  • Shows message in menu if new version is available
  • Shows current read and write speeds for disks

Themes

Bpytop uses the same theme files as bashtop so any theme made for bashtop will work.

See themes folder for available themes.

The make install command places the default themes in /usr/local/share/bpytop/themes. If installed with pip3 the themes will be located in a folder called bpytop-themes in the python3 site-packages folder. User created themes should be placed in $HOME/.config/bpytop/themes.

Let me know if you want to contribute with new themes.

Prerequisites

Mac Os X

Will not display correctly in the standard terminal! Recommended alternative iTerm2

Will also need to be run as superuser to display stats for processes not owned by user.

Linux, Mac Os X and FreeBSD

For correct display, a terminal with support for:

Also needs a UTF8 locale and a font that covers:

  • Unicode Block “Braille Patterns” U+2800 – U+28FF
  • Unicode Block “Geometric Shapes” U+25A0 – U+25FF
  • Unicode Block “Box Drawing” and “Block Elements” U+2500 – U+259F

Notice

Dropbear seems to not be able to set correct locale. So if accessing bpytop over ssh, OpenSSH is recommended.

Dependencies

Optionals For Additional Stats

(Optional OSX) osx-cpu-temp Needed to show CPU temperatures.

Screenshots

  • Main UI showing details for a selected process.
  • Main UI in mini mode
  • Main menu
  • Options menu

Installation

  • PyPi (will always have latest version)
  • Install or update to latest version

pip3 install bpytop –upgrade

  • Arch Linux

Available in the AUR as bpytop.git

https://aur.archlinux.org/packages/bpytop/

  • Debian based

Available for debian/ubuntu from Azlux’s repository

  • FreeBSD package

Available in FreeBSD ports

Install pre-built package

sudo pkg install bpytop

Fedora/CentOS 8 package

Available in the Fedora and EPEL-8 repository.

Installation

sudo dnf install bpytop

Snap Package

by @kz6fittycent

https://github.com/kz6fittycent/bpytop-snap

  • Install the package

sudo snap install bpytop

  • Give permissions

sudo snap connect bpytop:mount-observe
sudo snap connect bpytop:network-control
sudo snap connect bpytop:hardware-observe
sudo snap connect bpytop:system-observe
sudo snap connect bpytop:process-control
sudo snap connect bpytop:physical-memory-observe

The config folder will be located in ~/snap/bpytop/current/.config/bpytop

Manual Installation

  • Dependencies installation Linux
    • Install python3 and git with a package manager of you choice
    • Install psutil python module (sudo might be required)

python3 -m pip install psutil

  • Dependencies installation OSX
    • Install homebrew if not already installed

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”

  • Install python3 if not already installed

brew install python3 git

  • Install psutil python module

python3 -m pip install psutil

  • Install optional dependency osx-cpu-temp

brew install osx-cpu-temp

  • Dependencies installation FreeBSD
    • Install with pkg and pip

sudo pkg install git python3 py37-psutil

  • Manual installation Linux, OSX and FreeBSD
    • Clone and install

git clone https://github.com/aristocratos/bpytop.git
cd bpytop
sudo make install

  • to uninstall it

sudo make uninstall

Command Line Options

USAGE: bpytop [argument]

Arguments:
-f, –full Start in full mode showing all boxes [default]
-p, –proc Start in minimal mode without memory and net boxes
-s, –stat Start in minimal mode without process box
-v, –version Show version info and exit
-h, –help Show this help message and exit
–debug Start with loglevel set to DEBUG overriding value set in config