1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 versioneer,
8
9 # dependencies
10 lightning-utilities,
11 numpy,
12 torch,
13 threadpoolctl,
14 tqdm,
15
16 # tests
17 dill,
18 pytestCheckHook,
19
20 stdenv,
21}:
22
23buildPythonPackage rec {
24 pname = "rising";
25 version = "0.3.0";
26 pyproject = true;
27
28 src = fetchFromGitHub {
29 owner = "PhoenixDL";
30 repo = "rising";
31 rev = "refs/tags/v${version}";
32 hash = "sha256-sBzVTst5Tp2oZZ+Xsg3M7uAMbucL6idlpYwHvib3EaY=";
33 };
34
35 pythonRelaxDeps = [ "lightning-utilities" ];
36
37 # Remove vendorized versioneer (incompatible with python 3.12)
38 postPatch = ''
39 rm versioneer.py
40 '';
41
42 build-system = [ versioneer ];
43
44 dependencies = [
45 lightning-utilities
46 numpy
47 torch
48 threadpoolctl
49 tqdm
50 ];
51
52 nativeCheckInputs = [
53 dill
54 pytestCheckHook
55 ];
56
57 disabledTests = lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
58 # RuntimeError: DataLoader worker (pid(s) <...>) exited unexpectedly:
59 "test_progressive_resize_integration"
60 ];
61
62 pythonImportsCheck = [
63 "rising"
64 "rising.loading"
65 "rising.ops"
66 "rising.random"
67 "rising.transforms"
68 "rising.transforms.functional"
69 "rising.utils"
70 ];
71
72 meta = {
73 description = "High-performance data loading and augmentation library in PyTorch";
74 homepage = "https://rising.rtfd.io";
75 license = lib.licenses.mit;
76 maintainers = with lib.maintainers; [ bcdarwin ];
77 };
78}