1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
{
lib,
buildPythonPackage,
fetchFromGitHub,
geojson,
google-api-core,
hatchling,
imagesize,
mypy,
nbconvert,
nbformat,
numpy,
opencv-python-headless,
pillow,
pydantic,
pyproj,
pytest-cov-stub,
pytest-order,
pytest-rerunfailures,
pytest-xdist,
pytestCheckHook,
python-dateutil,
requests,
shapely,
strenum,
tqdm,
typeguard,
typing-extensions,
}:
let
version = "7.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Labelbox";
repo = "labelbox-python";
tag = "v${version}";
hash = "sha256-2of/yiw+wBHc0BFLKFdWV4Xm1Dcs4SsT8DkpmruaLT0=";
};
lbox-clients = buildPythonPackage {
inherit src version pyproject;
pname = "lbox-clients";
sourceRoot = "${src.name}/libs/lbox-clients";
build-system = [ hatchling ];
dependencies = [
google-api-core
requests
];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
doCheck = true;
__darwinAllowLocalNetworking = true;
};
in
buildPythonPackage rec {
inherit src version pyproject;
pname = "labelbox";
sourceRoot = "${src.name}/libs/labelbox";
pythonRelaxDeps = [
"mypy"
"python-dateutil"
];
build-system = [ hatchling ];
dependencies = [
google-api-core
lbox-clients
pydantic
python-dateutil
requests
strenum
tqdm
geojson
mypy
];
optional-dependencies = {
data = [
shapely
numpy
pillow
opencv-python-headless
typeguard
imagesize
pyproj
# pygeotile
typing-extensions
];
};
nativeCheckInputs = [
nbconvert
nbformat
pytest-cov-stub
pytest-order
pytest-rerunfailures
pytest-xdist
pytestCheckHook
]
++ optional-dependencies.data;
disabledTestPaths = [
# Requires network access
"tests/integration"
# Missing requirements
"tests/data"
"tests/unit/test_label_data_type.py"
];
doCheck = true;
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [ "labelbox" ];
meta = {
description = "Platform API for LabelBox";
homepage = "https://github.com/Labelbox/labelbox-python";
changelog = "https://github.com/Labelbox/labelbox-python/releases/tag/v.${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ rakesh4g ];
};
}
|