Skip to main content

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

Python License Windows

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)

  1. Download the FAHRPC folder
  2. Run setup.bat (double-click)
  3. Launch run_fahrpc.bat when setup completes
  4. 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)

  1. Press Windows+R โ†’ type taskschd.msc
  2. Click "Create Basic Task"
  3. Name: FAHRPC, Trigger: At startup
  4. Action: Start program
  5. Program: cmd.exe
  6. 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

  1. Press Windows+R โ†’ type shell:startup
  2. 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.txt for hardware errors
  • Verify GPU is enabled in config.json

High CPU Usage

  • Increase update_interval in 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.bat again (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:

  1. Update version in pyproject.toml
  2. Run uv build
  3. 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.txt for detailed documentation
  • ๐Ÿ†˜ Check fah_error_log.txt for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fahrpc-1.0.0.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fahrpc-1.0.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

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

Hashes for fahrpc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e584e3f46ad25624a8f4f93a60fd99ad6befbea207ae81dbe76d0d30302ff74b
MD5 4d3a87eec5e3ed3960101d96b9b55719
BLAKE2b-256 4dde56d87fb8e026a7bade82c3c79cb99c1bbb3b1637cc309aa8b9839462c6b0

See more details on using hashes here.

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

Hashes for fahrpc-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66ba0980f9c49185e47caab8af9a86ef57a752b90a1e26b2cf37ec6b7fd03f3b
MD5 dfb58319d92c90615e587ff395a3bc4d
BLAKE2b-256 9f0918c9f64a1d2eb70548ecd6d47eb5ce26c509351284ef9b018685b0e67945

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page