A small collection of guided tools for downloading YouTube media and organizing PDF files. No Python commands are required for normal use: open the starter for your operating system, choose an action, and answer the displayed questions.
Eine kleine Sammlung geführter Werkzeuge zum Herunterladen von YouTube-Medien und zum Organisieren von PDF-Dateien. Für die normale Nutzung sind keine Python-Befehle nötig: Starter öffnen, Aktion auswählen und die angezeigten Fragen beantworten.
| Operating system / Betriebssystem | Start |
|---|---|
| macOS | Double-click / Doppelklick: Python Tools.command |
| Windows | Double-click / Doppelklick: Python Tools.cmd |
| Linux | Double-click python-tools.sh and choose “Run”, or start it from the file manager as a program / Doppelklick und „Ausführen“ wählen |
The first launch automatically creates the dedicated .python-tools-venv environment and
installs the required Python packages. Later launches open the menu directly. The starter never
changes the global Python installation or a contributor's separate .venv. This setup also
installs a private Deno JavaScript runtime so current YouTube challenges work without additional
commands or global software.
Beim ersten Start werden automatisch die eigene Umgebung .python-tools-venv und die benötigten
Python-Pakete eingerichtet. Spätere Starts öffnen direkt das Menü. Weder die globale
Python-Installation noch eine separate Entwickler-.venv werden dabei verändert. Die Einrichtung
installiert außerdem eine private Deno-JavaScript-Laufzeit, damit aktuelle YouTube-Prüfungen ohne
zusätzliche Befehle oder globale Software funktionieren.
- Python 3.11 or newer / Python 3.11 oder neuer
- FFmpeg for YouTube audio conversion and video merging / für YouTube-Audiokonvertierung und das Zusammenführen von Videos
- macOS:
SetFilefor changing PDF creation dates; it is included with the Xcode Command Line Tools / zum Ändern des PDF-Erstellungsdatums, enthalten in den Xcode Command Line Tools
The launcher detects a missing FFmpeg installation and shows an appropriate installation command. Common choices are:
Der Launcher erkennt ein fehlendes FFmpeg und zeigt den passenden Installationsbefehl an. Übliche Varianten sind:
# macOS (Homebrew)
brew install ffmpeg
# Debian/Ubuntu
sudo apt install ffmpegOn Windows, use:
winget install Gyan.FFmpegThe initial language follows the operating-system locale: German for German locales, English otherwise. Select “Language / Sprache” in the main menu at any time to switch. The choice is remembered for future launches.
Die anfängliche Sprache richtet sich nach der Systemsprache: Deutsch bei einer deutschen Systemeinstellung, sonst Englisch. Über „Sprache / Language“ im Hauptmenü kann sie jederzeit gewechselt werden. Die Auswahl wird für spätere Starts gespeichert.
The guided interface exposes the complete useful feature set. There are no hidden options that require cryptic terminal commands.
Die geführte Oberfläche stellt den vollständigen sinnvollen Funktionsumfang bereit. Es gibt keine versteckten Optionen, die kryptische Terminalbefehle voraussetzen.
- One or multiple video or playlist URLs / eine oder mehrere Video- oder Playlist-URLs
- MP3, M4A, WAV, or FLAC / MP3, M4A, WAV oder FLAC
- Configurable audio quality / einstellbare Audioqualität
- Selectable output folder / frei wählbarer Ausgabeordner
- Single-video protection or intentional playlist downloads / Schutz vor versehentlichen Playlist-Downloads oder bewusstes Herunterladen von Playlists
- Optional signed-in browser session for age-restricted media / optionale angemeldete Browser-Sitzung für altersbeschränkte Medien
- Optional detailed diagnostic output / optionale ausführliche Diagnoseausgabe
The friendly defaults produce a 192 kbit/s MP3 in the current user's Downloads folder and
download only the selected video.
Die komfortablen Standardwerte erzeugen eine MP3 mit 192 kbit/s im Ordner Downloads des
aktuellen Benutzers und laden nur das ausgewählte Video herunter.
The required Deno runtime and yt-dlp challenge scripts are installed and updated together with
the other pinned project dependencies. Users do not need to install Node.js, Deno, or a challenge
solver separately.
Die benötigte Deno-Laufzeit und die yt-dlp-Challenge-Skripte werden zusammen mit den übrigen
festgeschriebenen Projektabhängigkeiten installiert und aktualisiert. Node.js, Deno oder ein
Challenge-Solver müssen nicht separat installiert werden.
- One or multiple video or playlist URLs / eine oder mehrere Video- oder Playlist-URLs
- Best available quality or a maximum resolution such as 1080p / beste verfügbare Qualität oder eine maximale Auflösung wie 1080p
- Selectable output folder / frei wählbarer Ausgabeordner
- Single-video or playlist mode / Einzelvideo- oder Playlist-Modus
- Optional signed-in browser session for age-restricted media / optionale angemeldete Browser-Sitzung für altersbeschränkte Medien
- Optional detailed diagnostic output / optionale ausführliche Diagnoseausgabe
Existing downloaded files are never overwritten. Filenames contain the title and YouTube ID.
Bereits vorhandene Downloads werden niemals überschrieben. Die Dateinamen enthalten Titel und YouTube-ID.
For a video that asks you to confirm your age:
- Sign in to YouTube in your normal browser and make sure that account can play the video.
- Start the audio or video download in the guided menu.
- Answer Yes to “Use a signed-in browser session?” and select that browser.
Bei einem Video mit Altersprüfung:
- Melde dich im normalen Browser bei YouTube an und prüfe, dass dieses Konto das Video abspielen kann.
- Starte den Audio- oder Video-Download im geführten Menü.
- Antworte bei „Angemeldete Browser-Sitzung verwenden?“ mit Ja und wähle diesen Browser aus.
Python Tools lets yt-dlp read the selected browser's current login for this download. It does
not export, copy, or store the cookies in the project. The browser or operating system may ask
for permission to access its protected cookie storage. If the browser has multiple profiles,
open the signed-in profile once before starting the download so it is the most recently used one.
Python Tools lässt yt-dlp die aktuelle Anmeldung des ausgewählten Browsers für diesen Download
lesen. Die Cookies werden weder exportiert noch kopiert oder im Projekt gespeichert. Browser oder
Betriebssystem können um Erlaubnis für den Zugriff auf den geschützten Cookie-Speicher bitten.
Bei mehreren Browser-Profilen öffnest du vor dem Download einmal das angemeldete Profil, damit es
das zuletzt verwendete ist.
Only download media when you have the necessary rights and comply with the service's terms, copyright law, and local regulations.
Lade nur Medien herunter, für die du die nötigen Rechte besitzt, und beachte die Nutzungsbedingungen des Dienstes, das Urheberrecht und lokale Vorschriften.
The tool reads dates and matching keywords from the first pages of each PDF and creates meaningful filenames. The menu supports:
Das Werkzeug liest Datumsangaben und passende Schlüsselwörter aus den ersten Seiten jeder PDF und erzeugt aussagekräftige Dateinamen. Das Menü unterstützt:
- One folder or recursive subfolder processing / einen Ordner oder rekursive Verarbeitung
- The bundled or a custom keyword file / die mitgelieferte oder eine eigene Keyword-Datei
Date_Title,Title_Date, or a custom format using{date}and{title}/Datum_Titel,Titel_Datumoder ein eigenes Format mit{date}und{title}- Optional detailed output / optionale ausführliche Ausgabe
The guided flow always performs a safe preview first and asks for confirmation before renaming anything. Filename collisions receive a numeric suffix; existing files are preserved.
Der geführte Ablauf zeigt immer zuerst eine sichere Vorschau und fragt vor jeder Umbenennung noch einmal nach. Bei Namenskollisionen wird eine Nummer ergänzt; bestehende Dateien bleiben erhalten.
Supported filename patterns / Unterstützte Dateinamen:
20260823_Report.pdf2026-08-23_Report.pdfReport_20260823.pdf
The menu accepts multiple folders, optional recursive processing, modification-date updates, and detailed output. It always previews changes before applying them.
Das Menü akzeptiert mehrere Ordner, optionale rekursive Verarbeitung, die Aktualisierung des Änderungsdatums und eine ausführliche Ausgabe. Änderungen werden immer zuerst als Vorschau angezeigt.
- macOS changes the creation date and can additionally change the modification date. / macOS ändert das Erstellungsdatum und auf Wunsch zusätzlich das Änderungsdatum.
- Windows changes the creation date and can additionally change the modification date. / Windows ändert das Erstellungsdatum und auf Wunsch zusätzlich das Änderungsdatum.
- Linux filesystems generally cannot change creation time, so the guided flow safely updates the modification date instead. / Linux-Dateisysteme können die Erstellungszeit normalerweise nicht ändern; der geführte Ablauf setzt deshalb sicher das Änderungsdatum.
The same functionality remains scriptable for automation. This section is optional and is not required for normal use.
Dieselben Funktionen bleiben für Automatisierungen skriptfähig. Dieser Abschnitt ist optional und für die normale Nutzung nicht erforderlich.
# Open the complete guided menu / Vollständiges Menü öffnen
.python-tools-venv/bin/python -m projects.launcher
# YouTube video to MP3
.python-tools-venv/bin/python projects/ytVideoDownloader.py --audio --single \
--output ~/Downloads 'https://www.youtube.com/watch?v=VIDEO_ID'
# Age-restricted YouTube video using an existing Safari login
.python-tools-venv/bin/python projects/ytVideoDownloader.py --audio --single \
--cookies-from-browser safari --output ~/Downloads \
'https://www.youtube.com/watch?v=VIDEO_ID'
# Preview PDF renaming / PDF-Umbenennung als Vorschau
.python-tools-venv/bin/python projects/pdfRename.py --dry-run '/path/to/pdfs'
# Preview PDF date changes / PDF-Datumsänderungen als Vorschau
.python-tools-venv/bin/python projects/editCreationDate.py --dry-run '/path/to/pdfs'These examples use the macOS/Linux interpreter path. On Windows it is
.python-tools-venv\Scripts\python.exe.
Diese Beispiele verwenden den macOS-/Linux-Pfad. Unter Windows lautet er
.python-tools-venv\Scripts\python.exe.
Every individual script supports --help for its complete automation interface.
Jedes einzelne Skript bietet mit --help seine vollständige Automatisierungsschnittstelle an.
Normal users do not need these steps. Contributors should create a separate .venv, install the
pinned development tools, and run the verification suite:
Normale Benutzer benötigen diese Schritte nicht. Mitwirkende sollten eine separate .venv
erstellen, die festgeschriebenen Entwicklungswerkzeuge installieren und die Prüfungen ausführen:
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements-dev.txt
.venv/bin/python -m pytest
.venv/bin/python -m ruff check .
.venv/bin/python -m ruff format --check .Runtime packages are pinned in requirements.txt; test and lint packages are pinned in
requirements-dev.txt.
Die Laufzeitpakete sind in requirements.txt, die Test- und Lintpakete in
requirements-dev.txt festgeschrieben.
This repository is licensed under the MIT License. Third-party dependencies retain their own licenses.
Dieses Repository steht unter der MIT-Lizenz. Drittanbieter-Abhängigkeiten behalten ihre eigenen Lizenzen.