Skip to content

civicoscr

Python 3.10+ Tkinter requests tqdm CLI + GUI Resumable downloads Cross-platform

Project Overview

A small, focused Python utility for downloading audio (MP3) and video (MP4) recordings from council webcast pages hosted on the civico.net platform. Ships with both a one-click GUI and a scriptable CLI, with resumable transfers and cross-platform installers for Windows, macOS and Linux.

The Problem

Civico webcasts are streamed in-page with no download button. Anyone wanting to archive a meeting — journalists, residents, researchers, transcript writers — normally has to dig into browser dev-tools to capture the underlying media, which is awkward and easy to get wrong on long recordings.

The Solution

A single Python tool with two ways to use it: a Tkinter GUI ("paste URL → choose audio or video → click Download") for non-technical users, and a scriptable CLI (--audio-only, --video-only, --output-dir, batch mode) for power users and automation. Interrupted transfers pick up where they left off, so a dropped Wi-Fi connection on a 4-hour council meeting isn't a wasted hour.

Key Features

  • GUI mode — paste a webcast URL, pick audio or video, download
  • CLI mode — scriptable flags for batch jobs and automation pipelines
  • Audio-only or video-only modes for transcript work or full archive
  • Resumable downloads — interrupted transfers continue from the byte they stopped on
  • Cross-platform 1-click installers (install.bat on Windows, install.sh on macOS / Linux)
  • Tested on Sandwell, Slough and Westminster council webcasts

My Role

Whole project — request flow, resume logic, GUI, CLI argument design, installer scripts, and documentation.

Technology Used

Python 3.10+ Tkinter requests tqdm CLI + GUI Resumable downloads Cross-platform

Challenges and Learning

Implementing reliable HTTP range requests for resume across flaky long-running downloads, and building a Tkinter UI that stays responsive while a multi-gigabyte transfer is in flight (background threads, progress streaming with tqdm). Packaging the same script for one-click install on three operating systems without bundling a heavy framework.

Outcome / Value

A practical archival utility for journalists, council monitors and accessibility / transcript workers. Shows ability to ship a focused tool end-to-end — from network protocol details (HTTP ranges) up to a clickable installer the end user can actually run.

Screenshots are being prepared.