105 lines
1.9 KiB
Nix
105 lines
1.9 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, geojson
|
|
, google-api-core
|
|
, imagesize
|
|
, nbconvert
|
|
, nbformat
|
|
, numpy
|
|
, opencv4
|
|
, packaging
|
|
, pillow
|
|
, pydantic
|
|
, pyproj
|
|
, pytestCheckHook
|
|
, python-dateutil
|
|
, pythonOlder
|
|
, requests
|
|
, setuptools
|
|
, shapely
|
|
, tqdm
|
|
, typeguard
|
|
, typing-extensions
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "labelbox";
|
|
version = "3.58.1";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Labelbox";
|
|
repo = "labelbox-python";
|
|
rev = "refs/tags/v.${version}";
|
|
hash = "sha256-H6fn+TpfYbu/warhr9XcQjfxSThIjBp9XwelA5ZvTBE=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace pytest.ini \
|
|
--replace "--reruns 5 --reruns-delay 10" ""
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
setuptools
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
google-api-core
|
|
pydantic
|
|
python-dateutil
|
|
requests
|
|
tqdm
|
|
];
|
|
|
|
passthru.optional-dependencies = {
|
|
data = [
|
|
shapely
|
|
geojson
|
|
numpy
|
|
pillow
|
|
opencv4
|
|
typeguard
|
|
imagesize
|
|
pyproj
|
|
# pygeotile
|
|
typing-extensions
|
|
packaging
|
|
];
|
|
};
|
|
|
|
nativeCheckInputs = [
|
|
nbconvert
|
|
nbformat
|
|
pytestCheckHook
|
|
] ++ passthru.optional-dependencies.data;
|
|
|
|
# disable pytest_plugins which requires `pygeotile`
|
|
preCheck = ''
|
|
substituteInPlace tests/conftest.py \
|
|
--replace "pytest_plugins" "_pytest_plugins"
|
|
'';
|
|
|
|
disabledTestPaths = [
|
|
# Requires network access
|
|
"tests/integration"
|
|
# Missing requirements
|
|
"tests/data"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"labelbox"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Platform API for LabelBox";
|
|
homepage = "https://github.com/Labelbox/labelbox-python";
|
|
changelog = "https://github.com/Labelbox/labelbox-python/blob/v.${version}/CHANGELOG.md";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ rakesh4g ];
|
|
# https://github.com/Labelbox/labelbox-python/issues/1246
|
|
broken = versionAtLeast pydantic.version "2";
|
|
};
|
|
}
|