Folding@Home Discord Rich Presence - Monitor GPU folding progress in Discord
Reason this release was yanked:
Broken. Pushing the working version soon
Project description
FAHRPC - Folding@Home Discord Rich Presence
Monitor your Folding@Home GPU progress directly in Discord with real-time status updates, GPU stats, and performance metrics.
Features
- ๐ฎ Discord Rich Presence - Display folding progress in your Discord status
- ๐ป GPU Monitoring - Real-time GPU utilization and temperature tracking
- ๐ Dual GPU Support - Monitor NVIDIA and AMD GPUs simultaneously
- ๐ Live Stats - Total points earned and work units completed
- ๐ Auto-Reconnect - Graceful reconnection with exponential backoff
- ๐ก๏ธ Temperature Alerts - Color-coded temperature warnings
- ๐๏ธ System Tray - Minimize to tray with quick access menu
- โก Lightweight - Minimal CPU and memory usage
- ๐ง Configurable - Full customization via config.json
What You'll See
Your Discord status will display:
- Current project ID and work unit progress
- GPU model, utilization, and temperature
- Total Folding@Home points and completed work units
- Real-time updates every 15 seconds
Requirements
- Windows 10/11 - Windows operating system
- Python 3.10+ - Installed automatically by setup
- Discord - Running and logged in
- Folding@Home - With web interface enabled (port 7396)
- GPU - NVIDIA or AMD with updated drivers
- Internet - For Discord and FAH stats server
Installation
Quick Start (Windows)
- Download the FAHRPC folder
- Run
setup.bat(double-click) - Launch
run_fahrpc.batwhen setup completes - View your Folding@Home progress in Discord!
The setup script automatically:
- Installs uv package manager (if needed)
- Creates a virtual environment
- Installs all dependencies
- Generates the launcher script
Global Installation (Advanced)
After initial setup, install globally for system-wide access:
uv tool install .
Then simply type fahrpc from anywhere to start the application.
Usage
Run FAHRPC
Option 1: Batch Launcher (Easiest)
Double-click run_fahrpc.bat
Option 2: Command Line
uv run python -m fahrpc.main
Option 3: Global Command (If installed globally)
fahrpc
System Tray Menu
Right-click the FAHRPC icon in your system tray to:
- Show/hide console window
- Restart application
- Exit cleanly
Configuration
Edit config.json to customize:
- Discord client ID
- Folding@Home interface URL
- Temperature thresholds and colors
- GPU monitoring (NVIDIA/AMD)
- Update interval (default: 15 seconds)
- Display options
Default configuration works out of the box!
Autostart (Optional)
Using Task Scheduler (Recommended)
- Press
Windows+Rโ typetaskschd.msc - Click "Create Basic Task"
- Name:
FAHRPC, Trigger:At startup - Action: Start program
- Program:
cmd.exe - Arguments:
/c "cd /d C:\path\to\FAHRPC && uv run python -m fahrpc.main"
Using Global Command
If installed globally with uv tool install .:
Arguments: /c "fahrpc"
Using Startup Folder
- Press
Windows+Rโ typeshell:startup - Create batch file with:
@echo off
cd /d "C:\path\to\FAHRPC"
uv run python -m fahrpc.main
Troubleshooting
Discord Not Connecting
- Ensure Discord is running and logged in
- Check Windows Firewall isn't blocking FAHRPC
- FAHRPC auto-retries every 15 seconds
Folding@Home Not Detected
- Ensure F@H is running
- Enable web interface in F@H settings
- Verify it's on
localhost:7396(or update config.json) - Restart both F@H and FAHRPC
GPU Stats Not Showing
- Update GPU drivers (NVIDIA or AMD)
- Check
fah_error_log.txtfor hardware errors - Verify GPU is enabled in
config.json
High CPU Usage
- Increase
update_intervalin config.json - Disable unused GPU type in config.json
- Check web scraper timeouts in error log
Playwright Installation Issues
- Ensure stable internet connection
- Run
setup.batagain (idempotent) - May require 500MB+ free disk space
Uninstall
To remove FAHRPC, simply delete the FAHRPC folder. This removes all application files and the virtual environment.
Note: The uv package manager will remain on your system as a standalone tool. If you don't need uv for other projects, you can uninstall it separately by following the official uv uninstallation instructions.
Dependencies
Python Packages
- playwright - Web scraping and browser automation
- pypresence - Discord RPC integration
- nvidia-ml-py - NVIDIA GPU monitoring
- pyadl - AMD GPU monitoring
- pystray - System tray icon
- Pillow - Image handling
External Software
- uv - Ultra-fast Python package manager (installed by setup)
- Discord - Discord client application
- Folding@Home - FAH client with web interface
Project Structure
FAHRPC/
โโโ src/fahrpc/ # Main package
โ โโโ main.py # Entry point
โ โโโ config.py # Configuration
โ โโโ hardware.py # GPU monitoring
โ โโโ scraper.py # Web scraping
โ โโโ discord_rpc.py # Discord integration
โ โโโ logger.py # Error logging
โ โโโ tray.py # System tray
โ โโโ __init__.py # Package definition
โโโ config.json # User settings
โโโ pyproject.toml # Project metadata
โโโ setup.bat # Installation script
โโโ run_fahrpc.bat # Launcher (created by setup)
Development
Clone the repository:
git clone https://github.com/Bandokii/FAHRPC.git
cd FAHRPC
Run in development mode:
uv run python -m fahrpc.main
Build distribution:
uv build
Publishing
To publish to PyPI:
- Update version in
pyproject.toml - Run
uv build - Run
uv publish
Users can then install with:
pip install fahrpc
uv tool install fahrpc
License
MIT License - See license file for details
Credits
Original Creator: Bandokii
AI Collaborator: GitHub Copilot
Refactoring & Modernization: January 2026
Support
- ๐ See
README.txtfor detailed documentation - ๐ Check
fah_error_log.txtfor troubleshooting - ๐ Report issues on GitHub Issues
- ๐ฌ Start discussions on GitHub Discussions
FAQ
Q: Does this work on Linux/macOS?
A: Currently Windows-only due to system tray integration and GPU driver dependencies. Cross-platform support would require refactoring.
Q: Can I use custom GPU names?
A: Yes! Edit the hardware.nvidia.strip_prefix and hardware.amd.strip_prefix values in config.json
Q: Does this impact Folding@Home performance?
A: No, FAHRPC only reads data. It has minimal CPU/memory overhead (~50MB RAM).
Q: Can I monitor remote FAH instances?
A: Yes, update the foldingathome.web_url in config.json to point to another machine's IP:port
Q: Is my Discord client ID exposed?
A: No, it's stored locally in config.json. The client ID is public by design.
Changelog
Version 1.0.0 (January 2026)
- Initial PyPI release
- Modern Python src layout
- Command-line entry point
- Full GPU monitoring
- Discord Rich Presence
- System tray integration
- Comprehensive error logging
Happy Folding! ๐ ๐ช
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 fahrpc-1.0.0.tar.gz.
File metadata
- Download URL: fahrpc-1.0.0.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e584e3f46ad25624a8f4f93a60fd99ad6befbea207ae81dbe76d0d30302ff74b
|
|
| MD5 |
4d3a87eec5e3ed3960101d96b9b55719
|
|
| BLAKE2b-256 |
4dde56d87fb8e026a7bade82c3c79cb99c1bbb3b1637cc309aa8b9839462c6b0
|
File details
Details for the file fahrpc-1.0.0-py3-none-any.whl.
File metadata
- Download URL: fahrpc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66ba0980f9c49185e47caab8af9a86ef57a752b90a1e26b2cf37ec6b7fd03f3b
|
|
| MD5 |
dfb58319d92c90615e587ff395a3bc4d
|
|
| BLAKE2b-256 |
9f0918c9f64a1d2eb70548ecd6d47eb5ce26c509351284ef9b018685b0e67945
|