xtop, a command line xpu hardware monitoring tool that supports CPU, GPU, and NPU.
Project description
xtop
xtop, a command line xpu hardware monitoring tool that supports CPU, GPU, and NPU. Currently, this project is still in the initial stage, only Nvidia GPU and Intel NPU are supported on Linux and Windows System
0. Why this project
There are many command-line based resource monitors, such as htop and nvtop, but they are usually distributed through the system's package manager, which means that administrator privileges are required to install them. However, in most cases, asking administrators to install these programs is not a pleasant process. So a program implemented in Python and distributed using pip should be more useful (at least to me).
1. Install
1.1 Install by pipx
pipx is an amazing tool to help you install and run applications written in Python. It is more like brew or apt. You can find more information about it here pipx. pipx is available on almost all major platforms and is usually provided by the corresponding package manager. If you haven't used pipx before, you can refer to this document to install it.
You can install xtop by the following command:
pipx install xtop
1.2 Install by pip
In any case, pip is always available, so if you can't install this program using pipx, you can install xtop by the following command:
pip install xtop
To upgrade xtop:
pip install xtop -U
# or
pip install xtop --upgrade
Please note that the command line entry for xtop is created by pip, and depending on the user, this entry may not in the system PATH. If you encounter this problem, pip will give you a prompt, follow the prompts to add entry to the system PATH.
1.3 Important note about Windows
Python standard package curses does not support Windows, so we need windows-curses to run xtop on Windows. This package should be installed automatically when you install xtop. If you encounter any problems, you can install it manually by the following command:
pip install windows-curses
1.4 Important note about debian 12:
If you use system pip to install xtop, you will encounter this problem on debian12 and some related distributions (like Ubuntu 24.04):
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
This is due to the fact that system Python is not supposed to be managed by pip. You can simply use pipx to install xtop. Or you can use a virtual environment (venv), conda environment or force remove this restriction (not recommended).
2. Usage
Use as a command line tool
You can use this tool directly from the command line with the following command, just like other programs.
xtop [Options]
For example, use -n flag to open NPU, with -l flag to enable LOG:
xtop -n -l
Or use -g flag to open GPU:
xtop -g
For more command line flags, see:
xtop -h
Please note that the command line entry for xtop is created by pip, and depending on the user, this entry may not in the system PATH. If you encounter this problem, pip will give you a prompt, follow the prompts to add entry to the system PATH.
More functionalities are under development.
3. Supported (Tested) OS
- Linux
- Windows (Only GPU)
4. Build from source
4.1 Build tools
Make sure the following Python build tools are already installed.
- setuptools
- build
- twine
4.2 Build package
clone the project, and run:
python -m build
After the build process, the source package and the binary whl package can be found in the dist folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xtop-0.3.0.tar.gz.
File metadata
- Download URL: xtop-0.3.0.tar.gz
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09c655ba82b265128e1f933afc4ea8f23d71e2684fdc7ed599f11ecf915b6a25
|
|
| MD5 |
2b94a346fa65f490a8fc855b34ffbacd
|
|
| BLAKE2b-256 |
bf01b272d3712d6723601b962ea96847818bd41dec32f6c06cb23c6e93b8d14f
|
File details
Details for the file xtop-0.3.0-py3-none-any.whl.
File metadata
- Download URL: xtop-0.3.0-py3-none-any.whl
- Upload date:
- Size: 23.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd2c3d7af7cb1739abed1c6ea65b987a8371dec36290cec1339c0f62d5c0a70
|
|
| MD5 |
85889db42f80fa5de43c7a178b00be00
|
|
| BLAKE2b-256 |
9b2b53539d5921025119d708bf761e8dba4e64e0066d5a76fda92e30bf030dd5
|