1{ 2 lib, 3 anyascii, 4 buildPythonPackage, 5 fetchFromGitHub, 6 flaky, 7 google-cloud-storage, 8 legacy-cgi, 9 mock, 10 pillow, 11 pymongo, 12 pytestCheckHook, 13 pythonAtLeast, 14 pythonOlder, 15 requests, 16 setuptools, 17 sqlalchemy, 18}: 19 20buildPythonPackage rec { 21 pname = "filedepot"; 22 version = "0.11.0"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.7"; 26 27 src = fetchFromGitHub { 28 owner = "amol-"; 29 repo = "depot"; 30 tag = version; 31 hash = "sha256-693H/u+Wg2G9sdoUkC6DQo9WkmIlKnh8NKv3ufK/eyQ="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 dependencies = [ 37 anyascii 38 google-cloud-storage 39 ] ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; 40 41 nativeCheckInputs = [ 42 flaky 43 mock 44 pillow 45 pymongo 46 pytestCheckHook 47 requests 48 sqlalchemy 49 ]; 50 51 disabledTestPaths = [ 52 # ModuleNotFoundError: No module named 'depot._pillow_compat' 53 "tests/test_fields_sqlalchemy.py" 54 # The examples have tests 55 "examples" 56 # Missing dependencies (TurboGears2 and ming) 57 "tests/test_fields_ming.py" 58 "tests/test_wsgi_middleware.py" 59 ]; 60 61 disabledTests = lib.optionals (pythonAtLeast "3.13") [ "test_notexisting" ]; 62 63 pythonImportsCheck = [ "depot" ]; 64 65 meta = with lib; { 66 description = "Toolkit for storing files and attachments in web applications"; 67 homepage = "https://github.com/amol-/depot"; 68 changelog = "https://github.com/amol-/depot/releases/tag/${version}"; 69 license = licenses.mit; 70 maintainers = with maintainers; [ fab ]; 71 }; 72}