Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

English | Português Brasileiro

SystemPulse

Know what your computer is doing without leaving the terminal.

SystemPulse is an open-source, local, read-only system monitor. It shows live CPU, memory, process, and available GPU readings in a keyboard-driven terminal interface. It has no web dashboard, account, or telemetry. Sustained threshold rules produce factual observations and local alerts; doctor checks SystemPulse itself.

Development preview: Install from a source checkout. This project has not been published to PyPI. Its distribution name is systempulse-monitor; the installed command is systempulse.

Install and run

Install uv once:

Windows (PowerShell)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS or Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Open a new terminal, then install Python 3.12 with uv:

uv python install 3.12

Clone SystemPulse (or enter an existing checkout), then install the command and add uv's tool directory to your PATH:

git clone https://github.com/jeiel2013/SystemPulse.git
cd SystemPulse
uv tool install --python 3.12 .
uv tool update-shell

Open a new terminal and run SystemPulse from any directory:

systempulse

The command opens the TUI in an interactive terminal. uv is only needed to install or update SystemPulse; daily use does not require uv run. No configuration or elevated permissions are needed for the default experience.

What you can see

  • Overview: live CPU and RAM, home-volume disk usage, network transfer rates, a recent CPU chart, optional GPU load/VRAM/temperature, and separate Top CPU and Top RAM process lists. Disk and network rates need two samples.
  • Processes: search, sort by CPU, memory, or PID, and open verified process details. Restricted fields appear as unavailable.
  • System: operating system, uptime, CPU and memory information, every GPU reported by the active provider, and battery/sensor readings when available.
  • History: local CPU, memory, disk, and network trends for 10 minutes through 30 days. The database stores metric summaries, not process names or commands.
  • Alerts: local CPU, memory, and disk threshold rules require continuous evidence before triggering. Dismissed and resolved alerts remain visible.
  • Process tree: an on-demand parent/child scan, separate from the faster periodic process table.
  • Reports: export a single observed snapshot as JSON, CSV, Markdown, or a static HTML file.

GPU readings use installed nvidia-smi, rocm-smi, or xpu-smi tools. Without a supported source, SystemPulse marks GPU metrics unavailable. AMD and Intel providers still need validation on physical hardware. Battery and sensor availability depends on the host. See GPU collection and hardware sources.

Other commands

systempulse status
systempulse top --sort memory --limit 10
systempulse processes --sort memory --limit 10
systempulse processes --search python
systempulse history --range 1h
systempulse alerts
systempulse tree --limit 100
systempulse report --format json
systempulse plugins
systempulse doctor
systempulse version

status prints one system snapshot. top refreshes a compact process monitor every second; press q or Ctrl+C to leave it. It requires an interactive terminal. processes prints a filtered list. doctor checks the runtime, collectors, GPU provider, and terminal. The other commands exit after printing.

Keyboard shortcuts

Key Action
1 / 2 / 3 / 4 / 5 / 6 Overview / Processes / System / History / Alerts / Tree
h Cycle the History range
d Dismiss a selected active alert
e Export the current snapshot as Markdown
Enter in Tree Open the selected process details
/ Search processes
c / m / p Sort processes by CPU / memory / PID
Enter Return from search to the table, or open a selected process
Esc Leave search or close process details
PageUp / PageDown Scroll Overview on a short terminal
t Switch dark/light theme for this session
r Refresh all collectors
q / Ctrl+C Quit (q closes process details first)

SystemPulse adapts both themes to the terminal's reported color support. On Linux, systempulse doctor shows the detected color mode. If your terminal supports truecolor but reports fewer colors, run TEXTUAL_COLOR_SYSTEM=truecolor systempulse to use the full palette.

Current scope

The TUI and CLI have been run on Windows. Linux and macOS are target platforms; their interactive validation is pending. CI is configured to run tests, package builds, and isolated tool-install checks on all three platforms. See alerts and configuration, history storage and release checks. See reports for export formats and locations. Collector plugins are opt-in; see plugin development.

Typed collectors feed application state, then Textual and the CLI. Collection runs outside the UI loop. SystemPulse keeps metrics on the machine and does not perform destructive actions. See the runtime benchmark for measurements and current performance limits. The architecture and development guides explain the codebase.

Contribute

Run uv run pytest, uv run ruff check ., and uv run mypy before proposing changes. Code and canonical documentation are in English; public documentation also has a pt-BR version. When translations differ, the English version prevails.

See CONTRIBUTING.md for the contribution workflow, the roadmap for planned work, and the changelog for shipped changes. Report vulnerabilities through the security policy. Licensed under Apache 2.0.

Release files for systempulse-monitor 0.1.0.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for systempulse-monitor 0.1.0.dev0
File Size Uploaded
systempulse_monitor-0.1.0.dev0.tar.gz 93.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for systempulse-monitor 0.1.0.dev0
File Interpreter ABI Platform
systempulse_monitor-0.1.0.dev0-py3-none-any.whl Python 3 none any Details

Total release size: 167.3 kB

Release files / systempulse_monitor-0.1.0.dev0.tar.gz

Download URL systempulse_monitor-0.1.0.dev0.tar.gz
Size 93.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9cba770f1ccf99618438c679641de78bfbfca045bfc30ac67d37a7b06f7e3905
BLAKE2b-256 checksum
How to use checksums
e658a3796a2e4f533bd675c5eda640dd3f550aa6127e882dbc4920b2a3c12f67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / systempulse_monitor-0.1.0.dev0-py3-none-any.whl

Download URL systempulse_monitor-0.1.0.dev0-py3-none-any.whl
Size 73.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09bb356e55f0c707ad6d1a63af4a2c0fbed356c0dc9c63389f2f4003a110d853
BLAKE2b-256 checksum
How to use checksums
921812330971b3d49bd4b6cc2b52547dbb38f6e28cd4816a0acb6847c54f23ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0.dev0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page