{"id":24753643,"url":"https://github.com/exfil0/pi_full_monitor","last_synced_at":"2026-05-14T23:06:26.068Z","repository":{"id":272981590,"uuid":"918372391","full_name":"exfil0/pi_full_monitor","owner":"exfil0","description":"Pi Full Monitor is a Python-based CLI tool designed for monitoring the performance and health of a Raspberry Pi device in real-time. ","archived":false,"fork":false,"pushed_at":"2025-01-17T21:46:35.000Z","size":1520,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T10:02:37.437Z","etag":null,"topics":["cpu-temperature","cpu-usage","disk-usage","in-out","memory-usage","monitoring","network","performance","pid-control","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exfil0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-17T19:47:49.000Z","updated_at":"2025-02-04T23:27:34.000Z","dependencies_parsed_at":"2025-01-17T20:34:19.281Z","dependency_job_id":"7c0460ce-c257-4a69-ace8-58b18dcd7c21","html_url":"https://github.com/exfil0/pi_full_monitor","commit_stats":null,"previous_names":["exfil0/pi_full_monitor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/exfil0/pi_full_monitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exfil0%2Fpi_full_monitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exfil0%2Fpi_full_monitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exfil0%2Fpi_full_monitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exfil0%2Fpi_full_monitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exfil0","download_url":"https://codeload.github.com/exfil0/pi_full_monitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exfil0%2Fpi_full_monitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33046784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpu-temperature","cpu-usage","disk-usage","in-out","memory-usage","monitoring","network","performance","pid-control","raspberry-pi"],"created_at":"2025-01-28T11:34:31.787Z","updated_at":"2026-05-14T23:06:26.039Z","avatar_url":"https://github.com/exfil0.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pi Full Monitor Documentation\n\n## Overview\nPi Full Monitor is a Python-based CLI tool designed for monitoring the performance and health of a Raspberry Pi device in real-time. It provides insights into CPU usage, memory, disk, network activity, and running processes. The tool is built with a visually appealing dashboard using the `rich` library.\n\n![Pi Full Monitor Banner](banner-pi-monitor.png)\n\n\u003cvideo width=\"600\" controls\u003e\n    \u003csource src=\"https://github.com/exfil0/pi_full_monitor/blob/main/demo.mp4\" type=\"video/mp4\"\u003e\n    Your browser does not support the video tag.\n\u003c/video\u003e\n\n- **Simple Installation**: Comes with a setup script to install all dependencies.\n- **Cross-Platform**: Designed for Raspberry Pi but can work on any Linux-based system.\n\n---\n\n## Features\n- **Real-time Monitoring**: Automatically refreshes system statistics every 2 seconds.\n- **Comprehensive Metrics**:\n  - CPU Usage and Temperature\n  - Memory Usage\n  - Disk Usage\n  - Network Activity (Sent and Received Data)\n  - Top Processes by CPU and Memory Usage\n\n ### ROADMAP\nThe tool also will monitor connected SDR devices:\n- **RTL-SDR**: Checks if the RTL-SDR is connected using `rtl_test`.\n- **HackRF**: Monitors HackRF devices using `hackrf_info`.\n- **Airspy**: Detects Airspy devices with `airspy_info`.\n- **bladeRF**: Verifies bladeRF connectivity using `bladeRF-cli`.\n\n---\n\n## Installation\n\n### Prerequisites\nEnsure the following are installed on your Raspberry Pi:\n- Python 3.6 or newer\n- `pip` package manager\n- `venv` module\n\n### Steps\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/exfil0/pi_full_monitor.git\n   ```\n2. Navigate to the project directory:\n   ```bash\n   cd pi_full_monitor\n   ```\n3. Make the installation script executable:\n   ```bash\n   chmod +x install.sh\n   ```\n4. Run the installation script:\n   ```bash\n   ./install.sh\n   ```\n   The script will:\n   - Create a Python virtual environment.\n   - Install all required dependencies.\n   - Set up the tool for use.\n\n---\n\n## Usage\n1. Run the tool using the following command:\n   ```bash\n   pi_full_monitor\n   ```\n   If the command is not found, ensure the virtual environment is activated or the alias is correctly configured:\n   ```bash\n   source venv/bin/activate\n   python3 -m pi_monitor\n   ```\n\n2. Press `Ctrl+C` to exit the monitoring dashboard gracefully.\n\n---\n\n## Dashboard Metrics\nThe dashboard displays the following metrics:\n\n### General System Stats\n| Metric         | Description                                                   |\n|----------------|---------------------------------------------------------------|\n| **CPU Usage**  | Percentage of CPU being utilized.                             |\n| **CPU Temp**   | Current temperature of the CPU.                               |\n| **Memory Usage** | Percentage and absolute memory usage (used/total).           |\n| **Disk Usage** | Percentage and absolute disk usage (used/total).              |\n| **Network Sent** | Total bytes sent over the network since boot.                |\n| **Network Received** | Total bytes received over the network since boot.         |\n\n### Top Processes\nA separate table lists the top processes sorted by CPU and memory usage, providing visibility into resource-intensive applications.\n\n---\n\n## Development\n\n### Project Structure\n```plaintext\npi_full_monitor/\n├── pi_monitor/                  # Main package directory\n│   ├── __init__.py              # Initializes the package\n│   ├── __main__.py              # Entry point for the tool\n│   ├── monitor.py               # Core monitoring logic\n│   ├── utils.py                 # Utility functions (e.g., formatting, process handling)\n├── venv/                        # Virtual environment (created during installation)\n├── install.sh                   # Installation script\n├── README.md                    # Documentation file\n├── requirements.txt             # Python dependencies\n├── pyproject.toml               # Build configuration for setuptools\n├── setup.py                     # Package setup script\n```\n\n### Key Files\n- **`pi_monitor/monitor.py`**:\n  Contains the logic for gathering and displaying system metrics.\n- **`pi_monitor/utils.py`**:\n  Helper functions for formatting sizes, fetching processes, etc.\n- **`install.sh`**:\n  Automates the setup process for the virtual environment and dependencies.\n\n---\n\n## Troubleshooting\n### Issue: Command `pi_full_monitor` not found\n- Ensure the virtual environment is activated:\n  ```bash\n  source venv/bin/activate\n  ```\n- Verify the installation:\n  ```bash\n  pip show pi-full-monitor\n  ```\n\n### Issue: Missing Python Dependencies\n- Run the following command to manually install dependencies:\n  ```bash\n  pip install -r requirements.txt\n  ```\n\n### Issue: Permission Denied for `install.sh`\n- Make the script executable:\n  ```bash\n  chmod +x install.sh\n  ```\n\n---\n\n## License\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n\n---\n\n## Contributing\nContributions are welcome! To contribute:\n1. Fork the repository.\n2. Create a feature branch:\n   ```bash\n   git checkout -b feature-name\n   ```\n3. Commit your changes and push:\n   ```bash\n   git commit -m \"Add feature-name\"\n   git push origin feature-name\n   ```\n4. Open a pull request.\n\n---\n\n## Contact\nFor issues or suggestions, feel free to open an issue on the [GitHub repository](https://github.com/exfil0/pi_full_monitor).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexfil0%2Fpi_full_monitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexfil0%2Fpi_full_monitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexfil0%2Fpi_full_monitor/lists"}