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