1{ 2 lib, 3 async-timeout, 4 buildPythonPackage, 5 defang, 6 dnspython, 7 eval-type-backport, 8 fetchFromGitHub, 9 playwrightcapture, 10 poetry-core, 11 pydantic, 12 pythonOlder, 13 redis, 14 requests, 15 ua-parser, 16}: 17 18buildPythonPackage rec { 19 pname = "lacuscore"; 20 version = "1.14.0"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.9"; 24 25 src = fetchFromGitHub { 26 owner = "ail-project"; 27 repo = "LacusCore"; 28 tag = "v${version}"; 29 hash = "sha256-szcvg4jfJ84kHYWjPBwecfvfsc258SS0OIuYle1lC1g="; 30 }; 31 32 pythonRelaxDeps = [ 33 "pydantic" 34 "redis" 35 "requests" 36 ]; 37 38 build-system = [ poetry-core ]; 39 40 dependencies = 41 [ 42 defang 43 dnspython 44 playwrightcapture 45 pydantic 46 redis 47 requests 48 ua-parser 49 ] 50 ++ playwrightcapture.optional-dependencies.recaptcha 51 ++ redis.optional-dependencies.hiredis 52 ++ ua-parser.optional-dependencies.regex 53 ++ lib.optionals (pythonOlder "3.11") [ async-timeout ] 54 ++ lib.optionals (pythonOlder "3.10") [ eval-type-backport ]; 55 56 # Module has no tests 57 doCheck = false; 58 59 pythonImportsCheck = [ "lacuscore" ]; 60 61 meta = with lib; { 62 description = "Modulable part of Lacus"; 63 homepage = "https://github.com/ail-project/LacusCore"; 64 changelog = "https://github.com/ail-project/LacusCore/releases/tag/v${version}"; 65 license = licenses.bsd3; 66 maintainers = with maintainers; [ fab ]; 67 }; 68}