Skip to main content

macOS menu bar app to show qBittorrent torrents status.

Project description

MacMenu-qBittorrent 🍏

PyPI version

MacMenu-qBittorrent is a lightweight macOS menu bar app that connects to qBittorrent's Web UI and displays active torrents with their progress directly in your Mac menu bar.


Features

  • Runs natively on macOS as a menu bar application.
  • Connects to qBittorrent Web UI via qbittorrent-api.
  • Displays all active torrents with progress percentages in the menu bar.
  • Auto-refreshes torrent status at configurable intervals.
  • Configurable connection parameters (host, port, username, password).
  • Simple and clean UI using rumps.

Installation via PyPI

  1. Ensure you have Python >=3.8 installed on your Mac

  2. Install the package from PyPI

    pip install macmenuqbt
    

Usage from the command line

Run the app from your terminal (or create a shortcut) — this will start the menu bar app:

macmenuqbt
# or the alias
mmqbt

Available options:

macmenuqbt --host localhost --port 8080 --username admin --password 123456 --interval 5
Argument Alias(s) Description Default Value
--host -H qBittorrent Web UI host localhost
--port -P qBittorrent Web UI port 8080
--username -U qBittorrent Web UI username admin
--password -PSW qBittorrent Web UI password 123456
--interval -I Update interval in seconds 5
--version -V Show program version and exit
--help Show this help message and exit

For help and version:

macmenuqbt --help
macmenuqbt --version

Usage as a Python module

You can also embed Menubar-qBittorrent in your own Python scripts by calling its main() function with parameters:

from macmenuqbt.core import main as mmqbt

mmqbt(
    host="localhost",
    port=8080,
    username="admin",
    password="123456",
    interval=5
)

What did you see

alt text

Name of torrent | Status Progression | ⬇️ DL speed ⬆️ UP speed | ⏳ ETA

Status Emoji Description
downloading ⬇️ Downloading
resumed ⬇️ Download resumed
running ⬇️ Running / in progress
forcedDL ⬇️ Forced download
seeding 🌱 Seeding (uploading)
completed Download completed
paused ⏸️ Paused
stopped ⏸️ Stopped
inactive ⏸️ Inactive
active 🔄 Active / operation in progress
stalled ⚠️ Stalled / waiting
stalled_uploading ⚠️ Upload stalled
stalled_downloading ⚠️ Download stalled
checking 🔍 Checking files
moving 📦 Moving files
errored Error encountered
all 📋 All torrents
unknown Unknown status

Notes

Only compatible with macOS due to use of rumps for menu bar integration.

Tested with Python 3.8+ and qBittorrent Web UI 5.x.

Requires qBittorrent Web UI to be enabled and accessible.

Disclaimer

This tool only displays torrent information; it does not modify or control qBittorrent.

Contributing

Feel free to open issues or submit pull requests!

Another qBittorrent plugin

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

macmenuqbt-0.1.3.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

macmenuqbt-0.1.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file macmenuqbt-0.1.3.tar.gz.

File metadata

  • Download URL: macmenuqbt-0.1.3.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for macmenuqbt-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5b4940be09dfb021b5a38ca3b6c24fae74d289948455cbb113b3667031f110e9
MD5 0165b7bf32512028257345f061188c74
BLAKE2b-256 155d1a32c1a2868add8f28ef48b6768f1617901886af423e7086712958f46f0e

See more details on using hashes here.

File details

Details for the file macmenuqbt-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: macmenuqbt-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for macmenuqbt-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 325b0761cd2541f67b9a597e78906485260be43cda20793ff9df0955d25daad8
MD5 b5554bdf3376e20f458eea302a3c3937
BLAKE2b-256 578a32af6e85531b70183f22b19a143e468c9b49aab4a8708595e24264703665

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