diff --git a/.gitignore b/.gitignore index d1a2a7d..7ba0c25 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ venv/ build/ dist/ __pycache__ +src/omero_zarr/_version.py diff --git a/setup.py b/setup.py index 420480e..6bc443f 100644 --- a/setup.py +++ b/setup.py @@ -26,4 +26,6 @@ install_requires=["omero-py>=5.6.0", "ome-zarr"], keywords=["OMERO.CLI", "plugin"], url="https://github.com/ome/omero-cli-zarr/", + setup_requires=["setuptools_scm"], + use_scm_version={"write_to": "src/omero_zarr/_version.py"}, ) diff --git a/src/omero_zarr/__init__.py b/src/omero_zarr/__init__.py index e69de29..a60f6e0 100644 --- a/src/omero_zarr/__init__.py +++ b/src/omero_zarr/__init__.py @@ -0,0 +1,5 @@ +from ._version import version as __version__ + +__all__ = [ + "__version__", +] diff --git a/src/omero_zarr/raw_pixels.py b/src/omero_zarr/raw_pixels.py index 4b0454f..f10ccd1 100644 --- a/src/omero_zarr/raw_pixels.py +++ b/src/omero_zarr/raw_pixels.py @@ -10,6 +10,8 @@ from omero.rtypes import unwrap from zarr.hierarchy import Group, open_group +from . import __version__ + def image_to_zarr(image: omero.gateway.ImageWrapper, args: argparse.Namespace) -> None: target_dir = args.output @@ -20,6 +22,7 @@ def image_to_zarr(image: omero.gateway.ImageWrapper, args: argparse.Namespace) - root = open_group(name, mode="w") n_levels = add_image(image, root, cache_dir=cache_dir) add_group_metadata(root, image, n_levels) + add_toplevel_metadata(root) print("Finished.") @@ -178,6 +181,7 @@ def plate_to_zarr(plate: omero.gateway._PlateWrapper, args: argparse.Namespace) plate_metadata["images"] = [{"path": x} for x in paths] root.attrs["plate"] = plate_metadata + add_toplevel_metadata(root) print("Finished.") @@ -219,6 +223,11 @@ def add_group_metadata( image._closeRE() +def add_toplevel_metadata(zarr_root: Group) -> None: + + zarr_root.attrs["_creator"] = {"name": "omero-zarr", "version": __version__} + + def channelMarshal(channel: omero.model.Channel) -> Dict[str, Any]: return { "label": channel.getLabel(),