nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
2024-02-13 13:45:46 -08:00

67 lines
1.3 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 ];
};
}