{"added":null,"apiVersion":1,"behindSince":null,"buildDepends":["archivers/liblz4","archivers/zstd","devel/gettext-runtime","devel/libffi","devel/py-build","devel/py-installer","devel/py-packaging","devel/py-pyproject-hooks","devel/py-uv-build","devel/readline","devel/uv","lang/python312","lang/python315","math/mpdecimal","print/indexinfo","textproc/expat2"],"categories":["www","python"],"comment":"Self-hosted YouTube Music downloader","compare":null,"dependentCount":null,"description":"yubal is a self-hosted YouTube Music downloader. Paste a link, get\na tagged, organized library.\n\nScheduled sync. Smart deduplication. Media server ready. Browser\nextension included.","flavors":[],"html":"https://daemonports.org/www/py-yubal/","kind":"port","lastUpdate":"2026-08-22T02:29:54-04:00","license":["MIT"],"maintainer":"dtxdf@FreeBSD.org","name":"py312-yubal","newest":true,"newestVersion":"0.10.0","noVulnData":false,"origin":"www/py-yubal","otherSystems":[{"maintainer":"dtxdf@FreeBSD.org","newest":true,"noVulnData":true,"origin":"www/py-yubal","path":"","system":"HardenedBSD","version":"0.10.0"},{"maintainer":"dtxdf@FreeBSD.org","newest":true,"noVulnData":true,"origin":"www/py-yubal","path":"","system":"GhostBSD","version":"0.10.0"}],"packages":[{"repo":"FreeBSD:14:latest","versions":["0.10.0","0.10.0","-","-","-"]},{"repo":"FreeBSD:14:quarterly","versions":["0.10.0","0.10.0","n/a","-","-"]},{"repo":"FreeBSD:15:latest","versions":["0.10.0","0.10.0","n/a","-","-"]},{"repo":"FreeBSD:15:quarterly","versions":["0.10.0","0.10.0","n/a","n/a","n/a"]},{"repo":"FreeBSD:16:latest","versions":["0.10.0","-","n/a","n/a","n/a"]},{"repo":"FreeBSD:16:quarterly","versions":["n/a","n/a","n/a","n/a","n/a"]}],"pkgName":"py312-yubal-0.10.0","related":["www/py-yubal-api"],"repository":"FreeBSD ports","requiredBy":["www/py-yubal-api"],"requiredByCount":1,"runDepends":["archivers/brotli","archivers/libdeflate","archivers/liblz4","archivers/py-brotli","archivers/zstd","audio/ebur128","audio/lame","audio/libogg","audio/libvorbis","audio/mpg123","audio/opus","audio/py-mutagen","audio/rsgain","audio/taglib","converters/fribidi","converters/libiconv","converters/py-unidecode","databases/py-sqlite3","databases/sqlite3","devel/binutils","devel/dbus","devel/gettext-runtime","devel/glib20","devel/inih","devel/libedit","devel/libffi","devel/libinotify","devel/libunistring","devel/pcre2","devel/py-annotated-doc","devel/py-annotated-types","devel/py-anyio","devel/py-filetype","devel/py-mediafile","devel/py-packaging","devel/py-pathvalidate","devel/py-pydantic-core","devel/py-pydantic2","devel/py-rapidfuzz","devel/py-shellingham","devel/py-typer","devel/py-typing-extensions","devel/py-typing-inspection","devel/py-websockets","devel/py-ytmusicapi","devel/readline","dns/libidn2","dns/py-idna","graphics/giflib","graphics/graphite2","graphics/jbigkit","graphics/jpeg-turbo","graphics/lcms2","graphics/lerc","graphics/png","graphics/tiff","graphics/webp","lang/gcc14","lang/python312","lang/python315","lang/tcl86","math/gmp","math/libtommath","math/mpc","math/mpdecimal","math/mpfr","math/openblas","math/py-numpy","multimedia/aom","multimedia/dav1d","multimedia/ffmpeg","multimedia/libass","multimedia/libbluray","multimedia/libdvdcss","multimedia/libdvdnav","multimedia/libdvdread","multimedia/libudfread","multimedia/libvpx","multimedia/libx264","multimedia/svt-av1","multimedia/vmaf","multimedia/x265","net/py-h11","net/py-pysocks","net/py-socksio","net/py-urllib3","print/freetype2","print/harfbuzz","print/indexinfo","security/gnutls","security/libtasn1","security/nettle","security/p11-kit","security/py-certifi","security/py-pycryptodomex","security/py-truststore","shells/bash","textproc/expat2","textproc/libunibreak","textproc/libxml2"],"status":null,"system":"freebsd","systemLabel":"FreeBSD","version":"0.10.0","versions":[{"commit":"2b1871a4cc3b293aa62cb9b0d25f4c67c457c9e1","date":"2026-08-22","version":"0.10.0"}],"vulnerabilities":null,"www":"https://github.com/guillevc/yubal/"}
