- workflow updates
PyTest / pytest (3.12) (push) Failing after 17s
PyTest / pytest (3.14) (push) Failing after 22s
PyTest / pytest (3.10) (push) Has been cancelled

- python stubs
This commit is contained in:
Wim Pomp
2026-05-09 13:00:47 +02:00
parent 2fc0bf8c9f
commit 91f863366d
11 changed files with 208 additions and 7 deletions
+15 -1
View File
@@ -1,5 +1,6 @@
from __future__ import annotations
import sys
from importlib.metadata import version
from itertools import product
from pathlib import Path
@@ -10,7 +11,7 @@ import numpy as np
from numpy.typing import ArrayLike, DTypeLike
from tqdm.auto import tqdm
from . import tiffwrite_rs as rs # noqa
from . import tiffwrite_rs as rs
__all__ = ["IJTiffFile", "IJTiffParallel", "FrameInfo", "Tag", "tiffwrite"]
@@ -236,3 +237,16 @@ try:
except ImportError:
IJTiffParallel = None
def tiffwrite_generate_stub():
if len(sys.argv) > 1:
path = Path(sys.argv[1]).resolve()
else:
path = Path.cwd().resolve()
if (path / "py" / "tiffwrite" / "__init__.py").exists():
rs.generate_stub(str(path)) # noqa
(path / "py" / "tiffwrite_rs" / "__init__.pyi").rename(path / "py" / "tiffwrite" / "tiffwrite_rs.pyi")
(path / "py" / "tiffwrite_rs").rmdir()
else:
raise ModuleNotFoundError(str(path / "py" / "tiffwrite" / "__init__.py"))
View File
+101
View File
@@ -0,0 +1,101 @@
# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401, F403, F405
import builtins
import typing
import numpy
import numpy.typing
__all__ = [
"IJTiffFile",
"Tag",
]
class IJTiffFile:
@property
def colors(self) -> typing.Optional[builtins.list[builtins.list[builtins.int]]]: ...
@colors.setter
def colors(self, value: typing.Sequence[builtins.str]) -> None: ...
@property
def colormap(self) -> typing.Optional[builtins.list[builtins.list[builtins.int]]]: ...
@colormap.setter
def colormap(self, value: builtins.str) -> None: ...
@property
def px_size(self) -> typing.Optional[builtins.float]: ...
@px_size.setter
def px_size(self, value: builtins.float) -> None: ...
@property
def delta_z(self) -> typing.Optional[builtins.float]: ...
@delta_z.setter
def delta_z(self, value: builtins.float) -> None: ...
@property
def time_interval(self) -> typing.Optional[builtins.float]: ...
@time_interval.setter
def time_interval(self, value: builtins.float) -> None: ...
@property
def comment(self) -> typing.Optional[builtins.str]: ...
@comment.setter
def comment(self, value: builtins.str) -> None: ...
def __new__(cls, path: builtins.str) -> IJTiffFile: ...
def set_compression(self, compression: builtins.int, level: builtins.int) -> None:
r"""
set zstd compression level: -7 ..= 22
"""
def append_extra_tag(
self, tag: Tag, czt: typing.Optional[tuple[builtins.int, builtins.int, builtins.int]] = None
) -> None: ...
def get_tags(
self, czt: typing.Optional[tuple[builtins.int, builtins.int, builtins.int]] = None
) -> builtins.list[Tag]: ...
def close(self) -> None: ...
def save_f64(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_u32(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_u16(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_i64(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_f32(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_u8(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_i32(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_u64(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_i16(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
def save_i8(self, frame: numpy.typing.ArrayLike, c: builtins.int, t: builtins.int, z: builtins.int) -> None: ...
class Tag:
@staticmethod
def byte(code: builtins.int, byte: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def ascii(code: builtins.int, ascii: builtins.str) -> Tag: ...
@staticmethod
def short(code: builtins.int, short: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def long(code: builtins.int, long: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def rational(code: builtins.int, rational: typing.Sequence[builtins.float]) -> Tag: ...
@staticmethod
def sbyte(code: builtins.int, sbyte: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def sshort(code: builtins.int, sshort: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def slong(code: builtins.int, slong: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def srational(code: builtins.int, srational: typing.Sequence[builtins.float]) -> Tag: ...
@staticmethod
def float(code: builtins.int, float: typing.Sequence[builtins.float]) -> Tag: ...
@staticmethod
def double(code: builtins.int, double: typing.Sequence[builtins.float]) -> Tag: ...
@staticmethod
def ifd(code: builtins.int, ifd: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def unicode(code: builtins.int, unicode: builtins.str) -> Tag: ...
@staticmethod
def complex(code: builtins.int, complex: typing.Sequence[tuple[builtins.float, builtins.float]]) -> Tag: ...
@staticmethod
def long8(code: builtins.int, long8: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def slong8(code: builtins.int, slong8: typing.Sequence[builtins.int]) -> Tag: ...
@staticmethod
def ifd8(code: builtins.int, ifd8: typing.Sequence[builtins.int]) -> Tag: ...
def count(self) -> builtins.int:
r"""
get the number of values in the tag
"""