diff --git a/pkgs/development/python-modules/spotifyaio/default.nix b/pkgs/development/python-modules/spotifyaio/default.nix new file mode 100644 index 000000000000..f774c81ed81f --- /dev/null +++ b/pkgs/development/python-modules/spotifyaio/default.nix @@ -0,0 +1,61 @@ +{ + lib, + aiohttp, + aioresponses, + buildPythonPackage, + fetchFromGitHub, + mashumaro, + orjson, + poetry-core, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + pythonOlder, + syrupy, + yarl, +}: + +buildPythonPackage rec { + pname = "spotifyaio"; + version = "0.6.0"; + pyproject = true; + + disabled = pythonOlder "3.11"; + + src = fetchFromGitHub { + owner = "joostlek"; + repo = "python-spotify"; + rev = "refs/tags/v${version}"; + hash = "sha256-petG4uqySkrThs77zp6pl6bdP0Zeea5QEngDhbqdx6Y="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + aiohttp + mashumaro + orjson + yarl + ]; + + # With 0.6.0 the tests are properly mocked + doCheck = false; + + nativeCheckInputs = [ + aioresponses + syrupy + pytest-asyncio + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "spotifyaio" ]; + + meta = { + description = "Module for interacting with for Spotify"; + homepage = "https://github.com/joostlek/python-spotify/"; + changelog = "https://github.com/joostlek/python-spotify/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c026d04370f7..2abcbc809463 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14854,6 +14854,8 @@ self: super: with self; { splinter = callPackage ../development/python-modules/splinter { }; + spotifyaio = callPackage ../development/python-modules/spotifyaio { }; + spotipy = callPackage ../development/python-modules/spotipy { }; spsdk = callPackage ../development/python-modules/spsdk { };