Alec 7ebb1372f4 Fix popularity stats and enhance path parsing for download-based analysis
- Fix database format compatibility for popularity functions
- Change popularity metrics from uploads to downloads (tracks user demand)
- Implement enhanced left-to-right path parsing algorithm
- Add support for diverse library structures (/music/, \Artists\, etc.)
- Improve artist name removal from album titles
- Update UI labels to reflect download-based popularity
2025-09-01 12:38:33 +02:00

slskd Transfer Statistics

A GUI tool to analyze upload and download statistics from your slskd transfers database.

Features

  • Analyzes uploads and downloads stored in the transfers.db database(s)
  • Automatically finds and combines data from multiple database files
  • Backwards compatible with both old and new database formats
  • Calculates total transfers, data transferred, and unique users
  • Shows average transfer speed and duration
  • Lists top users by data transferred
  • Shows statistics by file type
  • Filter statistics by time period (All time, Last month, Last year)
  • NEW: Artist and album popularity statistics based on user download demand
  • Smart path parsing with enhanced library structure detection
  • Intelligent album name cleaning (removes redundant artist names from folder names)
  • User-friendly graphical interface with summary and detailed tables

Requirements

  • Python 3.6+
  • SQLite3
  • PyQt5
  • matplotlib

Installation

  1. Clone or download this repository to your local machine
  2. Install dependencies: pip3 install PyQt5 matplotlib
  3. Place your transfers.db file in the same directory as the script, or use the file browser to select database files

Usage

# Launch the GUI application
python3 slskd_stats_gui.py

With the GUI, you can:

  • Select one or more database files using the file browser
  • Choose time period from dropdown (All time, Last month, Last year)
  • Set the number of top entries to display
  • View upload and download statistics side-by-side
  • See summary statistics and detailed tables for users and file types
  • NEW: Visual time series graphs showing transfer trends over time
  • NEW: Analyze artist and album popularity based on download demand with interactive charts and tables

Screenshots

Summary View

Summary View

Visual Stats with Time Series Graphs

Visual Stats

Popularity Stats with Artist and Album Rankings

Popularity Stats

Database Compatibility

This tool automatically detects and works with both:

  • Old format: Text-based State column
  • New format: Integer State + StateDescription columns

About

This tool is designed to work with the transfers.db SQLite database created by slskd, a Soulseek client daemon. It helps you understand your sharing patterns and track transfer statistics.

This project was developed with assistance from AI.

License

MIT

S
Description
This tool is designed to work with the transfers.db SQLite database created by slskd, a Soulseek client daemon.
Readme 27 MiB
Languages
Python 100%