Skip to main content

A high-performance ANSI TUI for downloading videos and audio

Project description

novadl - Nova Downloader v3.0

fast & clean · video / audio fetcher

A beautifully designed terminal user interface (TUI) for downloading videos and audio from various platforms. Nova Downloader features a rich, gradient-accented interface, real-time progress tracking, and robust queue management.

✨ Features

  • 🎨 Modern TUI Interface: Rich ANSI colors, gradient ASCII wordmarks, and dynamic platform-specific accent colors.
  • 🎵 Audio & Video Modes: Easily toggle between Video (MP4) and Audio-Only (MP3) downloads.
  • Concurrent Playlists: Download entire playlists blazingly fast with multi-threading (default: 3 workers).
  • 📜 Download History: Keep track of your past downloads natively with the built-in history log.
  • Resume Support: Automatically resumes partial downloads if your connection drops.
  • 📥 Interactive Queueing: Add multiple URLs to a queue in interactive mode before processing them all at once.
  • 🔄 Smart Dependencies: Auto-checks and updates yt-dlp and ffmpeg in the background.
  • 📱 Termux Native: First-class Android/Termux support with automatic setup for the Termux Media Scanner API.

📦 Installation

From PyPI (Recommended):

pip install novadl

🚀 Usage

Interactive Mode

Simply run the command without arguments to enter the interactive queue and setup wizard:

novadl
  1. Enter a video or playlist URL (or type h for history, q to quit).
  2. Choose your mode: [v]ideo or [a]udio.
  3. Toggle auto-open and set your concurrent workers.
  4. Add more URLs to the queue or press enter to start batch downloading!

CLI Arguments

You can also bypass the interactive mode using standard flags:

# Download a single video
novadl "[https://youtube.com/watch?v=](https://youtube.com/watch?v=)..."

# Download audio only (MP3)
novadl "[https://youtube.com/watch?v=](https://youtube.com/watch?v=)..." -a

# Download a playlist using 5 parallel workers
novadl "[https://youtube.com/playlist?list=](https://youtube.com/playlist?list=)..." -w 5

# Download and automatically open the folder when finished
novadl "[https://youtube.com/watch?v=](https://youtube.com/watch?v=)..." -o

# Force a fresh download (ignore partial/temp files)
novadl "[https://youtube.com/watch?v=](https://youtube.com/watch?v=)..." --no-resume

# View your recent download history
novadl --history

📱 Termux Setup (Android)

If you are running novadl on Android via Termux, the app will automatically detect your environment and guide you through installing the termux-api package and the Termux:API companion app. This allows novadl to trigger the Android Media Scanner so your downloaded videos and songs immediately appear in your gallery and music apps!

📝 License

This project is licensed under the MIT License.

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

novadl-1.0.2.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

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

novadl-1.0.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file novadl-1.0.2.tar.gz.

File metadata

  • Download URL: novadl-1.0.2.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for novadl-1.0.2.tar.gz
Algorithm Hash digest
SHA256 20c2ad1a85b9e4ce81b8787b2a1d39315c04c7030ac664da0c9317797fa6bf36
MD5 2881dcdcf105e93d0ef90e8f415d4cbc
BLAKE2b-256 18030b4d3c55988e485c82da78f778138ab5bbf58dfe0cc654bc1fb11a155844

See more details on using hashes here.

File details

Details for the file novadl-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: novadl-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for novadl-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 45edde33c8ce8a7511b98fc34847c3581a5849422e41c5a9b0e468399e4d8c0d
MD5 48efcfeb1fe76a3be9c9612358e3a083
BLAKE2b-256 0a5224b7139908d027094fc33e62494d73b725e498a56d30b3643d75e5d8ffe3

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