1{
2 lib,
3 buildPythonPackage,
4 dask,
5 fetchPypi,
6 fsspec,
7 lxml,
8 numpy,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 zarr,
13}:
14
15buildPythonPackage rec {
16 pname = "tifffile";
17 version = "2025.6.11";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-Ds5MLnoQZWlX1Wigk7B1E8ByjTDBvYzBJyWQH//bcUM=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [ numpy ];
30
31 nativeCheckInputs = [
32 dask
33 fsspec
34 lxml
35 pytestCheckHook
36 zarr
37 ];
38
39 disabledTests = [
40 # Test require network access
41 "test_class_omexml"
42 "test_write_ome"
43 # Test file is missing
44 "test_write_predictor"
45 "test_issue_imagej_hyperstack_arg"
46 "test_issue_description_overwrite"
47 # AssertionError
48 "test_write_bigtiff"
49 "test_write_imagej_raw"
50 # https://github.com/cgohlke/tifffile/issues/142
51 "test_func_bitorder_decode"
52 # Test file is missing
53 "test_issue_invalid_predictor"
54 ];
55
56 pythonImportsCheck = [ "tifffile" ];
57
58 # flaky, often killed due to OOM or timeout
59 env.SKIP_LARGE = "1";
60
61 meta = {
62 description = "Read and write image data from and to TIFF files";
63 homepage = "https://github.com/cgohlke/tifffile/";
64 changelog = "https://github.com/cgohlke/tifffile/blob/v${version}/CHANGES.rst";
65 license = lib.licenses.bsd3;
66 maintainers = with lib.maintainers; [ lebastr ];
67 };
68}