nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
2024-05-22 17:32:03 +02:00

69 lines
1.4 KiB
Nix

{
lib,
blinker,
buildPythonPackage,
cryptography,
fetchFromGitHub,
mock,
pyjwt,
pytestCheckHook,
pythonOlder,
setuptools,
# for passthru.tests
django-allauth,
django-oauth-toolkit,
google-auth-oauthlib,
requests-oauthlib,
}:
buildPythonPackage rec {
pname = "oauthlib";
version = "3.2.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "oauthlib";
repo = "oauthlib";
rev = "v${version}";
hash = "sha256-KADS1pEaLYi86LEt2VVuz8FVTBANzxC8EeQLgGMxuBU=";
};
nativeBuildInputs = [ setuptools ];
passthru.optional-dependencies = {
rsa = [ cryptography ];
signedtoken = [
cryptography
pyjwt
];
signals = [ blinker ];
};
nativeCheckInputs = [
mock
pytestCheckHook
] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
pythonImportsCheck = [ "oauthlib" ];
passthru.tests = {
inherit
django-allauth
django-oauth-toolkit
google-auth-oauthlib
requests-oauthlib
;
};
meta = with lib; {
changelog = "https://github.com/oauthlib/oauthlib/blob/${src.rev}/CHANGELOG.rst";
description = "Generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
homepage = "https://github.com/oauthlib/oauthlib";
license = licenses.bsd3;
maintainers = with maintainers; [ prikhi ];
};
}