1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, pythonOlder 5 6# build-system 7, setuptools 8 9# dependencies 10, django 11, python3-openid 12, requests 13, requests-oauthlib 14, pyjwt 15 16# optional-dependencies 17, python3-saml 18, qrcode 19 20# tests 21, pillow 22, pytestCheckHook 23, pytest-django 24 25# passthru tests 26, dj-rest-auth 27}: 28 29buildPythonPackage rec { 30 pname = "django-allauth"; 31 version = "0.57.0"; 32 format = "pyproject"; 33 34 disabled = pythonOlder "3.7"; 35 36 src = fetchFromGitHub { 37 owner = "pennersr"; 38 repo = pname; 39 rev = version; 40 hash = "sha256-zhKqvm43rw28UKNFdfJ2C1dIeZfPqmchb1rJykm1lx4="; 41 }; 42 43 nativeBuildInputs = [ 44 setuptools 45 ]; 46 47 propagatedBuildInputs = [ 48 django 49 python3-openid 50 pyjwt 51 requests 52 requests-oauthlib 53 ] 54 ++ pyjwt.optional-dependencies.crypto; 55 56 passthru.optional-dependencies = { 57 saml = [ 58 python3-saml 59 ]; 60 mfa = [ 61 qrcode 62 ]; 63 }; 64 65 pythonImportsCheck = [ 66 "allauth" 67 ]; 68 69 nativeCheckInputs = [ 70 pillow 71 pytestCheckHook 72 pytest-django 73 ] 74 ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 75 76 passthru.tests = { 77 inherit dj-rest-auth; 78 }; 79 80 meta = with lib; { 81 changelog = "https://github.com/pennersr/django-allauth/blob/${version}/ChangeLog.rst"; 82 description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication"; 83 downloadPage = "https://github.com/pennersr/django-allauth"; 84 homepage = "https://www.intenct.nl/projects/django-allauth"; 85 license = licenses.mit; 86 maintainers = with maintainers; [ derdennisop ]; 87 }; 88}