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
|
{
# utils
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
lib,
rustPlatform,
# build and dependencies
llvmPackages,
maturin,
obspec,
# tests dependencies
pytestCheckHook,
numpy,
obstore,
pytest-asyncio,
rasterio,
}:
buildPythonPackage (finalAttrs: {
pname = "async-tiff";
version = "0.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "developmentseed";
repo = "async-tiff";
tag = "py-v${finalAttrs.version}";
hash = "sha256-o77iYqzBCloE5xgn0Sa6SWbrCMgnNuZwQ2MZ0wgtNew=";
fetchSubmodules = true;
};
patches = [
(fetchpatch2 {
url = "https://github.com/developmentseed/async-tiff/commit/c7db2fc693089f3326328cc59863f8a9a6dd1cb9.patch?full_index=1";
hash = "sha256-FsOZk8KZ3guqIoECYRsBQMEq8TrAQn9Z01NqUJAQOu8=";
})
];
postPatch = ''
cd python
'';
buildSystem = [ maturin ];
buildInputs = [ llvmPackages.libclang ];
cargoDeps = rustPlatform.fetchCargoVendor {
pname = finalAttrs.pname;
version = finalAttrs.version;
src = finalAttrs.src;
hash = "sha256-AKa4SsBYBCabMlYJqTcbHv9Z7ouqtiIEK0el/i/fo6I=";
preBuild = ''
cd python
'';
};
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
rustPlatform.bindgenHook
];
dependencies = [
obspec
];
pythonImportsCheck = [ "async_tiff" ];
nativeCheckInputs = [ pytestCheckHook ];
checkInputs = [
numpy
obstore
pytest-asyncio
rasterio
];
disabledTests = [
# network access
"test_cog_s3"
"test_raise_typeerror_fetch_tile_striped_tiff"
];
meta = {
description = "Async TIFF reader for Python";
homepage = "http://developmentseed.org/async-tiff/";
license = lib.licenses.mit;
teams = [ lib.teams.geospatial ];
};
})
|