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.2.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.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: macmenuqbt-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9d0775f1e11fa4221b91c0ed8bc886d9c5e4b185ae02b43c413e61a83da8bfb8
MD5 b8fa64f8f64f4e0ee157053526a26c91
BLAKE2b-256 b788d4a48d0f99745ab53575769bcbbc4d0a7a2809a93f84de9c056c13c4208a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: macmenuqbt-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ad8bbad79055ead36070eaedb2f3421fa8319c81fe8d4ab4ea1c0df82f7788c5
MD5 b4d1e5e75f80c34d4334b55d1d17aacd
BLAKE2b-256 da82598c9c1dedc4e46026c47d729a32616c154b5efdf57c1569b0cac1aea8ea

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