Files
2025-08-09 19:04:54 +02:00

72 lines
1.4 KiB
Nix

{
lib,
blinker,
buildPythonPackage,
cryptography,
fetchFromGitHub,
mock,
pyjwt,
pytestCheckHook,
setuptools,
# for passthru.tests
django-allauth,
django-oauth-toolkit,
google-auth-oauthlib,
requests-oauthlib,
}:
buildPythonPackage rec {
pname = "oauthlib";
version = "3.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "oauthlib";
repo = "oauthlib";
tag = "v${version}";
hash = "sha256-ZTmR+pTNQaRQMnUA+8hXM5VACRd8Hn62KTNooy5FQyk=";
};
nativeBuildInputs = [ setuptools ];
optional-dependencies = {
rsa = [ cryptography ];
signedtoken = [
cryptography
pyjwt
];
signals = [ blinker ];
};
nativeCheckInputs = [
mock
pytestCheckHook
]
++ lib.flatten (lib.attrValues optional-dependencies);
disabledTests = [
# too narrow time comparison issues
"test_fetch_access_token"
];
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.tag}/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 ];
};
}