icechunk-java¶
Experimental, not officially supported
This is not an Earthmover product and is not part of the icechunk project's supported surface. Nothing is published to Maven Central, the API will change without notice, and there is no guarantee of fixes or compatibility. Do not use it for data you cannot afford to lose.
Interested in official support? Open a GitHub issue and say what you would use it for.
Java bindings for icechunk, plus connectors that let zarr-java, N5 and Fiji read and write icechunk repositories. The bindings call icechunk's Rust library through JNI, so they read and write the same repositories as icechunk-python.
For what icechunk itself offers, such as version control for Zarr arrays and virtual chunks that read existing TIFF, NetCDF or HDF5 files in place, see the icechunk docs.
Open a repository, start a session on a version, and read Zarr keys from the session's Store:
Storage local = Storage.localFilesystem(Paths.get("/data/my-repo"));
Repository repo = Repository.open(local);
try (Session session = repo.readonlySession(Version.branch("main"))) {
Store store = session.store();
List<String> children = store.listDir("");
Optional<byte[]> metadata = store.get("temperature/zarr.json");
}
Where to go next¶
| To | Read |
|---|---|
| See which modules and jars you need | How the pieces fit |
| Open repositories, read versions, write and commit, and manage history from Java, or with zarr-java | Java API |
| Read and write with N5 and n5-zarr, or open repositories by URL | N5 |
| Open and save images in Fiji and BigDataViewer | Use in Fiji |
| Follow a worked example in Fiji | Segment nuclei with StarDist, Save results into icechunk |
| See the n5-universe and n5-ij changes that opening by URL depends on | Changes in other projects |
Get the jars¶
Nothing is on Maven Central, and no release is tagged yet, so build the jars from source: Get the jars installs them into your local Maven repository, and Use in Fiji builds the set Fiji needs. Tagged releases will attach the jars to a GitHub release, with the native library bundled.