diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index 6d12a614238b..47fa0e297d4e 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -48,8 +48,10 @@ ps: with ps; [ aioaudiobookshelf ]; - bandcamp = ps: [ - ]; # missing bandcamp-async-api + bandcamp = + ps: with ps; [ + bandcamp-async-api + ]; bbc_sounds = ps: with ps; [ pytz diff --git a/pkgs/development/python-modules/bandcamp-async-api/default.nix b/pkgs/development/python-modules/bandcamp-async-api/default.nix new file mode 100644 index 000000000000..c3cc1b22eb26 --- /dev/null +++ b/pkgs/development/python-modules/bandcamp-async-api/default.nix @@ -0,0 +1,47 @@ +{ + lib, + aiohttp, + buildPythonPackage, + fetchFromGitHub, + pytest-asyncio, + python-dotenv, + pytestCheckHook, + uv-build, +}: + +buildPythonPackage (finalAttrs: { + pname = "bandcamp-async-api"; + version = "0.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ALERTua"; + repo = "bandcamp_async_api"; + tag = finalAttrs.version; + hash = "sha256-pL1V3xAcI48cgddf0tmE+djGI7sagGAI3w0Qu7/O8pI="; + }; + + build-system = [ + uv-build + ]; + + dependencies = [ + aiohttp + ]; + + pythonImportsCheck = [ "bandcamp_async_api" ]; + + nativeCheckInputs = [ + pytest-asyncio + python-dotenv + pytestCheckHook + ]; + + meta = { + description = "Modern, asynchronous Python client for the Bandcamp API"; + homepage = "https://github.com/ALERTua/bandcamp_async_api"; + # https://github.com/ALERTua/bandcamp_async_api/issues/34 + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ SuperSandro2000 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b11f4638909..45ba29af0334 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2159,6 +2159,8 @@ self: super: with self; { bandcamp-api = callPackage ../development/python-modules/bandcamp-api { }; + bandcamp-async-api = callPackage ../development/python-modules/bandcamp-async-api { }; + bandit = callPackage ../development/python-modules/bandit { }; bangla = callPackage ../development/python-modules/bangla { };