2020-07-18 01:16:41 +00:00
# 
2020-07-01 17:42:22 +00:00




2020-07-09 00:56:03 +00:00

2020-08-03 20:17:13 +00:00

2020-07-01 17:42:22 +00:00
[](https://paypal.me/aristocratos)
[](https://github.com/sponsors/aristocratos)
[](https://ko-fi.com/aristocratos)
## Index
* [Documents ](#documents )
* [Description ](#description )
* [Features ](#features )
2020-07-01 17:48:58 +00:00
* [Themes ](#themes )
2020-07-01 17:42:22 +00:00
* [Support and funding ](#support-and-funding )
2020-08-03 16:44:42 +00:00
* [Prerequisites ](#prerequisites )
2020-07-01 17:48:58 +00:00
* [Dependencies ](#dependencies )
2020-07-01 17:42:22 +00:00
* [Screenshots ](#screenshots )
2020-07-01 17:48:58 +00:00
* [Installation ](#installation )
* [Configurability ](#configurability )
* [TODO ](#todo )
2020-07-01 17:42:22 +00:00
* [License ](#license )
## Documents
#### [CHANGELOG.md](CHANGELOG.md)
#### [CONTRIBUTING.md](CONTRIBUTING.md)
#### [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
## Description
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
Python port of [bashtop ](https://github.com/aristocratos/bashtop ).
## Features
* Easy to use, with a game inspired menu system.
2020-08-02 18:10:42 +00:00
* Full mouse support, all buttons with a highlighted key is clickable and mouse scroll works in process list and menu boxes.
2020-07-01 17:42:22 +00:00
* Fast and responsive UI with UP, DOWN keys process selection.
* Function for showing detailed stats for selected process.
2020-08-02 18:10:42 +00:00
* Ability to filter processes, multiple filters can be entered.
2020-07-01 17:42:22 +00:00
* 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
2020-08-02 18:10:42 +00:00
Bpytop uses the same theme files as bashtop so any theme made for bashtop will work.
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
See [themes ](themes ) folder for available themes.
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
The `make install` command places the default themes in `/usr/local/share/bpytop/themes` .
User created themes should be placed in `$HOME/.config/bpytop/themes` .
2020-07-01 17:42:22 +00:00
Let me know if you want to contribute with new themes.
## Support and funding
You can sponsor this project through github, see [my sponsors page ](https://github.com/sponsors/aristocratos ) for options.
Or donate through [paypal ](https://paypal.me/aristocratos ) or [ko-fi ](https://ko-fi.com/aristocratos ).
Any support is greatly appreciated!
2020-08-03 16:44:42 +00:00
## Prerequisites
2020-07-01 17:42:22 +00:00
2020-08-03 16:44:42 +00:00
#### Mac Os X
2020-07-01 17:42:22 +00:00
2020-08-03 16:44:42 +00:00
Will not display correctly in the standard terminal!
2020-07-01 17:42:22 +00:00
Recommended alternative [iTerm2 ](https://www.iterm2.com/ )
2020-08-03 16:44:42 +00:00
Will also need to be run as superuser to display stats for processes not owned by user.
2020-07-01 17:42:22 +00:00
2020-08-03 16:44:42 +00:00
#### Linux, Mac Os X and FreeBSD
2020-07-01 17:42:22 +00:00
For correct display, a terminal with support for:
2020-08-03 16:44:42 +00:00
* 24-bit truecolor ([See list of terminals with truecolor support](https://gist.github.com/XVilka/8346728))
* Wide characters (Are sometimes problematic in web-based terminals)
2020-07-01 17:42:22 +00:00
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
2020-08-03 16:46:28 +00:00
Dropbear seems to not be able to set correct locale. So if accessing bpytop over ssh, OpenSSH is recommended.
2020-07-01 17:42:22 +00:00
## Dependencies
**[Python3](https://www.python.org/downloads/)** (v3.6 or later)
**[psutil module](https://github.com/giampaolo/psutil)** (v5.7.0 or later)
## Optionals for additional stats
(Optional OSX) ** [osx-cpu-temp ](https://github.com/lavoiesl/osx-cpu-temp )** Needed to show CPU temperatures.
## Screenshots
Main UI showing details for a selected process.

2020-08-02 18:10:42 +00:00
Main UI in mini mode.

2020-07-01 17:42:22 +00:00
Main menu.
2020-08-02 18:10:42 +00:00

2020-07-01 17:42:22 +00:00
Options menu.
2020-08-02 18:10:42 +00:00

2020-07-01 17:42:22 +00:00
## Installation
2020-08-03 16:39:28 +00:00
PyPi packaging for installation with `pip` will be setup later.
If you want to help speed this up, help with setting up proper testing is welcome!
2020-08-02 18:10:42 +00:00
#### Dependencies installation Linux
>Install python3 and git with a package manager of you choice
>Install psutil python module (sudo might be required)
``` bash
python3 -m pip install psutil
```
2020-07-01 17:42:22 +00:00
#### Dependencies installation OSX
>Install homebrew if not already installed
``` bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```
>Install python3 if not already installed
``` bash
brew install python3 git
```
>Install psutil python module
2020-08-02 18:10:42 +00:00
2020-07-01 17:42:22 +00:00
``` bash
2020-08-02 18:10:42 +00:00
python3 -m pip install psutil
2020-07-01 17:42:22 +00:00
```
>Install optional dependency osx-cpu-temp
``` bash
brew install osx-cpu-temp
```
#### Dependencies installation FreeBSD
>Install with pkg and pip
``` bash
sudo pkg install python3 git
sudo python3 -m ensurepip
2020-08-02 18:10:42 +00:00
sudo python3 -m pip install psutil
2020-07-01 17:42:22 +00:00
```
#### Manual installation Linux, OSX and FreeBSD
>Clone and install
``` bash
2020-08-02 18:10:42 +00:00
git clone https://github.com/aristocratos/bpytop.git
cd bpytop
2020-07-01 17:42:22 +00:00
sudo make install
```
>to uninstall it
``` bash
sudo make uninstall
```
## Configurability
All options changeable from within UI.
Config files stored in "$HOME/.config/bpytop" folder
2020-08-03 20:17:13 +00:00
#### bpytop.cfg: (auto generated if not found)
"/etc/bpytop.conf" will be used as default seed for config file creation if it exists.
2020-07-01 17:42:22 +00:00
```bash
2020-08-02 18:10:42 +00:00
#? Config file for bpytop v. 1.0.0
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Color theme, looks for a .theme file in "/usr/[local/]share/bpytop/themes" and "~/.config/bpytop/themes", "Default" for builtin default theme.
#* Prefix name by a plus sign (+) for a theme located in user themes folder, i.e. color_theme="+monokai"
color_theme="Default"
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs.
update_ms=2000
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive",
#* "cpu lazy" updates top process over time, "cpu responsive" updates top process directly.
proc_sorting="cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed=False
2020-07-01 17:42:22 +00:00
#* Show processes as a tree
2020-08-02 18:10:42 +00:00
proc_tree=False
#* Use the cpu graph colors in the process list.
proc_colors=True
#* Use a darkening gradient in the process list.
proc_gradient=True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core=False
#* Check cpu temperature, needs "vcgencmd" on Raspberry Pi and "osx-cpu-temp" on MacOS X.
check_temp=True
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
draw_clock="%X"
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update=True
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Custom cpu model name, empty string to disable.
custom_cpu_name=""
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Optional filter for shown disks, should be last folder in path of a mountpoint, "root" replaces "/", separate multiple values with comma.
#* Begin line with "exclude=" to change to exclude filter, oterwise defaults to "most include" filter. Example: disks_filter="exclude=boot, home"
disks_filter=""
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Show graphs instead of meters for memory values.
mem_graphs=True
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* If swap memory should be shown in memory box.
show_swap=False
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk=True
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
#* If mem box should be split to also show disks info.
show_disks=True
#* Show init screen at startup, the init screen is purely cosmetical
show_init=True
#* Enable check for new version from github.com/aristocratos/bpytop at start.
update_check=True
2020-08-03 14:37:16 +00:00
#* Enable start in mini mode, can be toggled with shift+m at any time.
2020-08-02 18:10:42 +00:00
mini_mode=False
#* Set loglevel for "~/.config/bpytop/error.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level=WARNING
2020-07-01 17:42:22 +00:00
```
#### Command line options: (not yet implemented)
2020-08-02 18:10:42 +00:00
``` text
USAGE: bpytop [argument]
2020-07-01 17:42:22 +00:00
2020-08-02 18:10:42 +00:00
Arguments:
-m, --mini Start in minimal mode without memory and net boxes
-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
2020-07-01 17:42:22 +00:00
```
## TODO
- [ ] See TODOs from [Bashtop ](https://github.com/aristocratos/bashtop#todo ).
## LICENSE
[Apache License 2.0 ](LICENSE )