- implement custom error types

- less restrictive dependency versions
- some extra features and bugfixes for movie writing
- make python tests work again
This commit is contained in:
Wim Pomp
2026-01-04 13:59:57 +01:00
parent 3dc8e6af04
commit 3c14168878
19 changed files with 655 additions and 333 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "ndbioimage"
version = "2025.8.0"
version = "2026.1.0"
edition = "2024"
rust-version = "1.85.1"
authors = ["Wim Pomp <w.pomp@nki.nl>"]
@@ -8,6 +8,7 @@ license = "MIT"
description = "Read bio image formats using the bio-formats java package."
homepage = "https://github.com/wimpomp/ndbioimage/tree/rs"
repository = "https://github.com/wimpomp/ndbioimage/tree/rs"
documentation = "https://docs.rs/ndbioimage"
readme = "README.md"
keywords = ["bioformats", "imread", "ndarray", "metadata"]
categories = ["multimedia::images", "science"]
@@ -19,39 +20,38 @@ name = "ndbioimage"
crate-type = ["cdylib", "rlib"]
[dependencies]
anyhow = { version = "1.0.99", features = ["backtrace"] }
clap = { version = "4.5.45", features = ["derive"] }
ffmpeg-sidecar = { version = "2.1.0", optional = true }
itertools = "0.14.0"
indexmap = { version = "2.0.0", features = ["serde"] }
indicatif = { version = "0.18.0", features = ["rayon"], optional = true }
j4rs = "0.22.0"
ndarray = { version = "0.16.1", features = ["serde"] }
num = "0.4.3"
numpy = { version = "0.25.0", optional = true }
ordered-float = "5.0.0"
rayon = { version = "1.11.0", optional = true }
serde = { version = "1.0.219", features = ["rc"] }
serde_json = { version = "1.0.143", optional = true }
serde_with = "3.12.0"
tiffwrite = { version = "2025.5.0", optional = true}
thread_local = "1.1.9"
ome-metadata = "0.2.2"
lazy_static = "1.5.0"
clap = { version = "4", features = ["derive"] }
ffmpeg-sidecar = { version = "2", optional = true }
itertools = "0.14"
indexmap = { version = "2", features = ["serde"] }
indicatif = { version = "0.18", features = ["rayon"], optional = true }
j4rs = "0.24"
ndarray = { version = "0.17", features = ["serde"] }
num = "0.4"
numpy = { version = "0.27", optional = true }
ordered-float = "5"
rayon = { version = "1", optional = true }
serde = { version = "1", features = ["rc"] }
serde_json = { version = "1", optional = true }
serde_with = "3"
tiffwrite = { version = "2025.12.0", optional = true}
thread_local = "1"
ome-metadata = "0.3"
lazy_static = "1"
thiserror = "2"
[dependencies.pyo3]
version = "0.25.1"
version = "0.27"
features = ["extension-module", "abi3-py310", "generate-import-lib", "anyhow"]
optional = true
[dev-dependencies]
rayon = "1.10.0"
rayon = "1"
[build-dependencies]
anyhow = "1.0.99"
j4rs = "0.22.0"
ffmpeg-sidecar = "2.1.0"
retry = "2.1.0"
j4rs = "0.24"
ffmpeg-sidecar = "2"
retry = "2"
[features]
# Enables formats for which code in bioformats with a GPL license is needed
@@ -61,4 +61,7 @@ python = ["dep:pyo3", "dep:numpy", "dep:serde_json"]
# Enables writing as tiff
tiff = ["dep:tiffwrite", "dep:indicatif", "dep:rayon"]
# Enables writing as mp4 using ffmpeg
movie = ["dep:ffmpeg-sidecar"]
movie = ["dep:ffmpeg-sidecar"]
[package.metadata.docs.rs]
features = ["gpl-formats", "tiff", "movie"]