Free and open conversion of mass spec data
What it does
mzx wraps msconvert from ProteoWizard inside Docker so you can convert vendor raw formats to open formats (mzML, MGF, mzXML, …) from the command line or an optional GUI.
Prerequisites
Docker — installed and running (the CLI calls docker run to execute msconvert).
Python 3.10+
pip, uv, or another PEP 517–compatible installer
Install
pip install -U mzx
Quick start
Ensure Docker is running (docker info should succeed).
Convert a Thermo .raw file to mzML (default output format):
mzx /path/to/data.rawThe mzML is written next to the input file (same directory, .mzML extension).
To choose another output format, set --type to mzml, mgf, or mzxml:
mzx --type mgf /path/to/data.raw
See mzx --help for peak picking, indexing, Waters lockmass options, and more.
GUI (experimental)
After install, start the GUI:
mzx-gui
If the mzx-gui command is not on your PATH (common on Windows), use either:
python -m mzx.gui
or the Python Launcher for Windows:
py -m mzx.gui
The CLI can always be run as python -m mzx (same as the mzx command).
Vendor support
Conversion uses ProteoWizard; supported vendors include Agilent, Bruker, Sciex, Shimadzu, Thermo, Waters, and UIMF. See the ProteoWizard FAQ for vendor-specific notes.
Supported file formats (examples)
.mgf
.mzML
.raw (Thermo)
.wiff (Sciex)
Features
Convert between common mass spectrometry interchange formats via msconvert
Vendor formats: Agilent, Bruker, Sciex, Thermo, Waters, and others supported by ProteoWizard
CLI and experimental GUI
Documentation
Full documentation: mzx.readthedocs.io
Development
From a clone of the repo, using uv (recommended):
make setup
source .venv/bin/activate # Windows: .venv\Scripts\activate
make install
make setup creates .venv and installs development dependencies from requirements.txt. make install installs mzx in editable mode.
Without make, the same steps are:
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
uv pip install -e .
Run tests:
make test
Other useful targets: make lint, make help.
License
GNU General Public License v3 — see LICENSE.
Metadata
Release files for mzx 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mzx-0.3.2.tar.gz | 52.8 kB | Without provenance | Details for mzx-0.3.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mzx-0.3.2-py3-none-any.whl | Python 3 | none | any | Details for mzx-0.3.2-py3-none-any.whl |
Total release size: 88.7 kB
Release files / mzx-0.3.2.tar.gz
| Download URL | mzx-0.3.2.tar.gz |
|---|---|
| Size | 52.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97209601e62bfb37d64cb5cab0e404ab1db77e8dbdb27bc54990751105e0690a
|
|
BLAKE2b-256 checksum How to use checksums |
e7b1949123a5c636f56a1c84eb8c229799c3c43eae2e054315ce9d953bb0d4e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.14.2
|
Release files / mzx-0.3.2-py3-none-any.whl
| Download URL | mzx-0.3.2-py3-none-any.whl |
|---|---|
| Size | 35.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
826bcc3799d80ea15da61f42f8e08d2e4358b54548140ef02bdf1ba0b9246180
|
|
BLAKE2b-256 checksum How to use checksums |
3a2916f0a70a81d3825262e269a4432474b9a0b44ab5963fa098ceee35af8f2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.14.2
|
Security for mzx 0.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.