Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 django, 5 django-formtools, 6 django-otp, 7 django-phonenumber-field, 8 fetchFromGitHub, 9 phonenumbers, 10 pydantic, 11 pythonOlder, 12 qrcode, 13 setuptools-scm, 14 twilio, 15 webauthn, 16}: 17 18buildPythonPackage rec { 19 pname = "django-two-factor-auth"; 20 version = "1.15.5"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.7"; 24 25 src = fetchFromGitHub { 26 owner = "jazzband"; 27 repo = "django-two-factor-auth"; 28 rev = "refs/tags/${version}"; 29 hash = "sha256-Sr7L3ioeofyADHb1NSgs0GmVbzX7rro7yhhG9Gq6GJE="; 30 }; 31 32 nativeBuildInputs = [ 33 setuptools-scm 34 ]; 35 36 pythonRelaxDeps = [ "django-phonenumber-field" ]; 37 38 propagatedBuildInputs = [ 39 django 40 django-formtools 41 django-otp 42 django-phonenumber-field 43 qrcode 44 ]; 45 46 passthru.optional-dependencies = { 47 call = [ twilio ]; 48 sms = [ twilio ]; 49 webauthn = [ 50 pydantic 51 webauthn 52 ]; 53 # yubikey = [ 54 # django-otp-yubikey 55 # ]; 56 phonenumbers = [ phonenumbers ]; 57 # phonenumberslite = [ 58 # phonenumberslite 59 # ]; 60 }; 61 62 # Tests require internet connection 63 doCheck = false; 64 65 pythonImportsCheck = [ "two_factor" ]; 66 67 meta = with lib; { 68 description = "Complete Two-Factor Authentication for Django"; 69 homepage = "https://github.com/jazzband/django-two-factor-auth"; 70 changelog = "https://github.com/jazzband/django-two-factor-auth/releases/tag/${version}"; 71 license = licenses.mit; 72 maintainers = with maintainers; [ derdennisop ]; 73 }; 74}