#!/usr/bin/env ansible-playbook --- - name: "Install YT-DLP" hosts: localhost gather_facts: True vars: YTDLP_VERSION_MIN: '2024.8.6' tasks: - include_role: name: setup_lib_pip vars: MIN_PYTHON_VERSION: '3.10.0' MIN_PIP_VERSION: '22.0' - name: "Install pip packages: yt-dlp" ansible.builtin.pip: name: 'yt-dlp' state: 'latest' virtualenv: '{{BINPROVIDERS.pip.virtualenv}}' virtualenv_python: "{{BINPROVIDERS.pip.virtualenv_python}}" virtualenv_site_packages: no - name: Load YTDLP binary include_role: name: load_binary vars: name: ytdlp bin_name: yt-dlp PATH: '{{BINPROVIDERS.pip.PATH}}' - name: Load ffmpeg binary include_role: name: load_binary vars: name: ffmpeg version_cmd: 'ffmpeg -version' PATH: '{{BINPROVIDERS.pip.PATH}}:{{ansible_env.PATH}}' - name: Check that installed YT-DLP matches expected version assert: that: BINARIES.ytdlp.version is version(YTDLP_VERSION_MIN, '>=') quiet: true - debug: msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"