skillfed

rosettasciio

Reading and writing scientific file formats

rosettasciio v0.14.0 77.9K downloads/30d#14,481 on PyPI73
Copyleft license GPL-3.0-or-later Active released

What it is and what it does

RosettaSciIO is a scientific data input/output library that translates between many file formats used in research, particularly in electron microscopy and spectroscopy. It was spun out from the HyperSpy project and provides a unified interface for reading and writing data: files are loaded as Python dictionaries containing datasets, axes, and metadata, making them easy to pass to other analysis tools in the scientific Python ecosystem.

The library supports a large range of formats (dm3, dm4, hdf5, mrc, msa, and many others), with particularly strong coverage of electron microscopy formats. It depends on standard scientific Python packages—numpy, dask, pint for units, and others—and runs on current Python versions (3.10 through 3.14). The API is still stabilizing after the recent split from HyperSpy.

Use it for:

  • Load electron microscopy data (dm3, dm4, mib files) into Python for analysis with other tools.
  • Convert between incompatible scientific file formats (e.g., msa to hdf5) without manual parsing.
  • Read spectroscopy or microscopy metadata and axes alongside raw data in a single dictionary structure.
  • Build data pipelines that ingest multiple scientific formats and pass them to dask for distributed processing.
  • Integrate file I/O into research workflows that need to handle formats from different instruments or labs.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

RosettaSciIO reads and writes scientific data files across many formats—particularly those used in electron microscopy and spectroscopy—returning datasets, axes, and metadata as Python dictionaries for use with other analysis libraries.

Yes, if you work with scientific data files—especially electron microscopy or spectroscopy formats. Low install friction, active maintenance, and no known vulnerabilities. The copyleft license is fine for research and open-source work but requires checking if you're building proprietary software. The API is still in Beta after recent separation, so expect some refinement, but the library is actively developed.

Install

rosettasciio on PyPI

pip

pip install rosettasciio

uv

uv add rosettasciio

poetry

poetry add rosettasciio

Installing rosettasciio

Before you install

Low friction: pure Python wheel, six runtime dependencies (dask, numpy, pint, python-dateutil, python-box, pyyaml) that are themselves well-established. Active maintenance with recent commits; still in Beta status but actively developed.

License in practice

GPL-3.0-or-later copyleft license: any code that links this library must be distributed under a compatible open-source license. Acceptable for research and open-source projects; check compatibility if integrating into proprietary software.

Quickstart

pip install rosettasciio

from rosettasciio import msa
data = msa.file_reader("your_msa_file.msa")

Requires Python 3.10 or later.

Verify before relying

  • Completeness and stability of the new API after recent split from HyperSpy—whether all planned readers/writers are implemented.
  • Performance characteristics when handling large datasets or many file formats in sequence.
  • Extent of format coverage beyond electron microscopy (e.g., how well general scientific formats are supported).

Package facts

License GPL-3.0-or-later (copyleft)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — dask, python-dateutil, numpy, pint, python-box, pyyaml
Maintenance actively maintained — 79 days since the last release
Last repo commit
First released
Downloads 77,919/month — #14,481 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: rosettasciio-0.14.0-py3-none-any.whl

Keywords: electron microscopy, hyperspy, input/output, io, microscopy, scientific data formats, spectroscopy, numpy, python, scipy, app5, asw, blo, bcf, de5, dens, dm3, dm4, eds, elid, emd, emi, hdf5, hspy, img, itex, map, mib, mrc, mrcz, msa, nxs, prz, pts, rpl, ser, spc, sur, spx, tvf, tvips, unf, usid, wdf, zspy

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Free Threading :: 1 - UnstableTopic :: Scientific/EngineeringTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development :: Libraries

Tags

scientific file format reader writerelectron microscopy data iohdf5 mrc dm3 dm4 file readerspectroscopy data import exportmulti-format scientific data loadermicroscopy file format converterscientific data format translation
file-format-iomicroscopyscientific-data

More Libraries packages