Skip to content
dk
← All projects

mediahub-downloader

Automation toolkit for media and content workflows — batch captures and downloads from online sources.

Python10 forks0 open issues & PRsMITupdated 27d ago
desktop-appdownloaderguimediapyside6pythonqtyt-dlp
Stars
1
Forks
0
Created
Apr 12, 2026
Last push
Sep 9, 2026
Last commit
Sep 9, 2026
Contributors
0

README

dsk-dev-ai/mediahub-downloader

MediaHub Downloader

GitHub Python PySide6 Tests CI

A desktop media downloader built with PySide6, yt-dlp, and FFmpeg, now structured for production-style configuration and deployment.

Features

  • ✅ Login/signup flow (Supabase-backed or local dev mode)
  • ✅ Media preview (title + thumbnail)
  • ✅ MP4/MP3 downloads with quality selection
  • ✅ Download progress, speed, ETA, and logs
  • ✅ PRO upgrade page with payment integrations:
    • Stripe checkout session generation
    • Razorpay order generation
  • ✅ Structured logging system
  • ✅ Input validation and sanitization
  • ✅ Comprehensive test suite
  • ✅ Developer documentation and contributing guidelines
  • ✅ Packaging helpers for:
    • Windows .exe builds
    • Ubuntu/Debian .deb builds

Note: FFmpeg is not bundled in the repository. It is downloaded automatically at build/packaging time (via the deployment scripts) or must be available on your system PATH at runtime.

Quick Start

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
python main.py

Environment Variables

All configuration is read from .env via config.py.

Never commit your real .env file. .gitignore is configured to keep it private.

Required for production usage:

  • SUPABASE_URL
  • SUPABASE_KEY
  • STRIPE_SECRET_KEY
  • STRIPE_PRICE_ID
  • STRIPE_SUCCESS_URL
  • STRIPE_CANCEL_URL
  • RAZORPAY_KEY_ID
  • RAZORPAY_KEY_SECRET

Optional:

  • SESSION_FILE (default: session.txt)
  • DEV_MODE (default: false)

Project Structure

mediahub-downloader/
├── app/                    # Main application code
│   ├── core/               # Core business logic
│   ├── services/           # External service integrations
│   ├── ui/                 # User interface components
│   └── utils/              # Utility functions and helpers
├── tests/                  # Test suite
├── deployment/             # Packaging and deployment scripts
├── scripts/                # Utility scripts
├── assets/                 # Static assets
├── config.py               # Configuration management
├── main.py                 # Application entry point
├── requirements.txt        # Python dependencies
├── CONTRIBUTING.md         # Contribution guidelines
├── DEVELOPER_GUIDE.md      # Detailed developer documentation
└── README.md               # This file

Testing

Run the test suite with:

# Run all tests
python -m pytest tests/ -v

# Run tests with coverage
python -m pytest tests/ --cov=app --cov-report=html

# Run specific test file
python -m pytest tests/test_config.py -v

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Related projects

Turn any codebase into beautiful architecture diagrams — one command, no AI, no server, runs on any laptop. Zero dependencies, pure Python, agent-friendly (Cursor, Claude Code, Codex, OpenCode).

ai-agentsarchitecture-diagramcli
Python1mo ago

177 merged pull requests across 19 repositories · data generated Oct 7, 2026