Skip to main content
Active developmentDesktop Utilities

Desktop Download Manager

A Python desktop download manager with parallel chunked transfers, integrity verification, a persistent queue and subtitle handling.

There is no packaged download for this project yet — the link below goes to the source code.

The problem

Long downloads over an unreliable connection fail and restart from the beginning. Downloading a playlist means babysitting the queue, and losing a partially completed transfer when the application closes. Managing quality, audio format and subtitles across many items turns into a slow manual process.

The approach

A desktop application built on an asynchronous transfer engine that splits files into chunks, verifies integrity by hash, and persists every chunk’s state to a database so an interrupted download can be resumed after a crash. The interface surfaces queue control, per-item progress through each conversion phase, and bulk format and subtitle selection.

What is implemented

  • Parallel chunked downloads with a selectable number of chunks
  • SHA-1 integrity verification of completed transfers
  • Resume of interrupted downloads with per-chunk state persisted in a database
  • Automatic retry with exponential backoff and reconnection after network loss
  • Bandwidth limiting and proxy support for HTTP, HTTPS and SOCKS
  • Playlist handling with search, sort and subset selection
  • Format table showing resolution, frame rate, codec, dynamic-range type and estimated size
  • Audio format and bitrate selection
  • Subtitle download in multiple languages including Arabic, with embedded, SRT, VTT and ASS output
  • Per-item progress through distinct processing phases with a global queue progress display
  • Queue actions including pause, resume, cancel, retry-all, clear-completed and reordering
  • Metadata and thumbnail embedding, plus optional loudness normalisation
  • Filename templating with live preview, path-traversal protection and Windows reserved-name handling
  • Automated test suites and a continuous-integration workflow that builds the Windows executable

Current status and limitations

  • No downloadable build: the single published release has no attached file, and the executable must be produced by the packaging script on Windows.
  • It depends on an external downloader library and on ffmpeg, both of which must be present and current.
  • Its subject matter sits in a legally sensitive area and its supported option set is broader than the rest of this portfolio, which is why it is presented here as an engineering demonstration rather than as an offered service. It is not featured on the homepage.
  • No licence file is published.
  • No packaging pipeline beyond the Windows build workflow, and no code-signing.

Technology

  • Python 3.12
  • PySide6
  • yt-dlp
  • ffmpeg
  • asyncio
  • SQLite
  • pytest

Links


Status
Active development
Last reviewed
2026-10-15

Have a similar problem?

If this is close to something you are dealing with, describe your situation and we will tell you whether it is a good fit.