{ lib, fetchFromGitHub, python3Packages, beets, }: # FIXME: Find a way to update this derivation <2024-08-11> let version = "0.4.2"; models = builtins.fetchTarball { url = "https://essentia.upf.edu/svm_models/essentia-extractor-svm_models-v2.1_beta5.tar.gz"; sha256 = "11ps1l4h8bl4l9rlvkhjs61908l18dh7mpq65brm8ki99hnp9g64"; }; in python3Packages.buildPythonApplication { inherit version; pname = "beets-xtractor"; pyproject = true; src = fetchFromGitHub { repo = "BeetsPluginXtractor"; owner = "adamjakab"; rev = "v${version}"; hash = "sha256-it4qQ2OS4qBEaGLJK8FVGpjlvg0MQICazV7TAM8lH9s="; }; nativeBuildInputs = [ beets python3Packages.setuptools ]; passthru = {inherit models;}; nativeCheckInputs = with python3Packages; [ pytestCheckHook pytest-cov mock typeguard ]; preCheck = '' export HOME="$(mktemp -d)" ''; postInstall = '' mkdir --parents $out/models cp ${models}/* $out/models ''; meta = { description = "Obtain low and high level musical information from your song"; homepage = "https://github.com/adamjakab/BeetsPluginXtractor/releasesfhhhhh"; license = lib.licenses.mit; }; }