1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 pytestCheckHook,
8 numpy,
9 opencv-python,
10 simsimd,
11 stringzilla,
12}:
13
14buildPythonPackage rec {
15 pname = "albucore";
16 version = "0.0.24";
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "albumentations-team";
23 repo = "albucore";
24 tag = version;
25 hash = "sha256-frVMPW3au/6vPRY89GIt7chCPkUMl13DpPqCPqIjz/o=";
26 };
27
28 pythonRelaxDeps = [ "opencv-python" ];
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 numpy
34 opencv-python
35 simsimd
36 stringzilla
37 ];
38
39 pythonImportsCheck = [ "albucore" ];
40
41 nativeCheckInputs = [ pytestCheckHook ];
42
43 # albumentations doesn't support newer versions of albucore
44 # and has been archived upstream in favor of relicensed `albumentationsx`
45 passthru.skipBulkUpdate = true;
46
47 meta = {
48 description = "High-performance image processing library to optimize and extend Albumentations with specialized functions for image transformations";
49 homepage = "https://github.com/albumentations-team/albucore";
50 changelog = "https://github.com/albumentations-team/albucore/releases/tag/${version}";
51 license = lib.licenses.mit;
52 maintainers = with lib.maintainers; [ bcdarwin ];
53 };
54}