chronotasker 0.1.0
Real‑time system monitor and task manager TUI
Requires Python: >=3.8

# ChronoTasker

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)  
*MIT License*

[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)  
*Python 3.8+*

[![Textual](https://img.shields.io/badge/UI-Textual-9cf)](https://textual.textualize.io/)  
*Textual*

**ChronoTasker** is a real‑time system monitor and task manager built with Python and [Textual](https://textual.textualize.io/). It provides a beautiful TUI dashboard that displays live CPU, RAM, GPU, storage, uptime, and disk usage, along with a process manager and user‑configurable modes.

![Dashboard Screenshot](https://www.creativefabrica.com/wp-content/uploads/2024/05/13/Business-Dashboard-with-Graphs-and-Charts-PNGs-uqRLvPfVN-580x386.jpg)
*Dashboard preview showing system metrics and process monitoring [citation:5].*

---

## ✨ Features

- **Live system metrics** – CPU, RAM, GPU (real utilization when vendor libraries available), storage free space, system uptime, and disk load.
- **Process manager** – Automatically splits processes into "Apps" (>150 MB) and "Background" (≤150 MB) with live CPU/Memory updates.
- **Three configurable modes**:
  - **Safe Mode** – Freezes data collection to save CPU.
  - **Debug Mode** – Shows a debug log (e.g., detected GPU name).
  - **Beta Mode** – Placeholder for experimental features.
- **Memory cleaner** – Triggers Python garbage collection; on Linux with superuser privileges, also drops kernel caches.
- **Theme toggle** – Switch between light and dark themes with a single key (`d`).
- **GPU detection** – Uses PyOpenCL to identify your GPU (displayed in debug log). Real utilization is attempted via `gpuinfo`, `pynvml`, or `pyadl`, falling back to a random placeholder.

![Modes Panel](https://docs.accedian.io/docs/~gitbook/image?url=https%3A%2F%2F1690203879-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MWXJsjY12jB1haf2pW5-8879670551%252Fuploads%252Fgit-blob-63b699511c096d1fc2121730e5e1b77f85cd8ad3%252Fimage%2520%282%29.png%3Falt%3Dmedia&width=768&dpr=4)
*Settings panel with mode toggles [citation:2].*

---

## 📦 Installation

### From Source
```bash
git clone https://github.com/TheLostIdea1/chronotasker.git
cd chronotasker
pip install -e .
```

### Direct Install (once published)
```bash
pip install chronotasker
```

### Dependencies
- Required: `textual`, `psutil`, `pyopencl`
- Optional (for real GPU utilization):
  - `gpuinfo` – NVIDIA, AMD, Intel
  - `nvidia-ml-py` – NVIDIA only
  - `pyadl` – AMD only

---

## 🚀 Usage

After installation, run:

```bash
chronotasker
```

Or from Python:

```python
import chronotasker
chronotasker.start()
```

### Key Bindings

| Key | Action                |
|-----|-----------------------|
| `h` | Jump to Help screen   |
| `d` | Toggle dark mode      |
| `q` | Quit the application  |

---

## 📁 Project Structure

```
chronotasker/
├── chronotasker/
│   ├── __init__.py
│   └── app.py
├── tests/
│   └── test_app.py
├── LICENSE
├── README.md
└── setup.py
```

---

## 🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

---

## 📄 License

This project is licensed under the MIT License – see the [LICENSE](LICENSE) file for details.

---

**Made with ❤️ by [TheLostIdea1](mailto:afifashamsad.vivo@gmail.com)**