Skip to content

Bump mzmlpy from 0.4.0 to 0.9.0 - #13

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/mzmlpy-0.9.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/mzmlpy-0.9.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 23, 2026

Copy link
Copy Markdown

Bumps mzmlpy from 0.4.0 to 0.9.0.

Release notes

Sourced from mzmlpy's releases.

mzMLPy 0.9.0

Highlights

  • Complete optional MCP integration for local mzML discovery, metadata inspection, structural validation, acquisition summaries and comparisons, spectrum selection, and recorded array access.
  • Seventeen default tools, four reference resources, three workflow prompts, and background jobs with progress and cancellation.
  • Two additional export tools when an output directory is configured. JSONL exports retain original encoded arrays, nested metadata, processing provenance, and checksums.
  • Spectrum filters for representation, scan mobility, and signed FAIMS voltage.

Numeric type migration

Decoded ordinary arrays now preserve the stored float32, float64, int32, or int64 type, including empty and compressed arrays. Earlier versions converted these arrays to float64, which could round large integers and doubled array storage for 32-bit data.

This is an intentional behavior change. Callers that need double precision for calculations should convert explicitly:

import numpy as np
intensity = spectrum.intensity.astype(np.float64)

Arrays remain writable. Numpress retains its float64 reconstruction. Integer arithmetic can overflow, and float32 calculations can round differently from float64.

MCP replies identify decoded types. Integers outside the interoperable JSON range are returned as exact decimal strings to prevent client-side rounding.

Install

pip install --upgrade mzmlpy
pip install --upgrade 'mzmlpy[mcp]'
python -m mzmlpy mcp --root /absolute/path/to/data

Add --output-dir /absolute/path/to/exports to enable exports. Spectrum processing remains in Spectacular, and plotting remains in companion visualization clients. The export format is documented, without assuming a native Spectacular importer.

Verification

454 tests pass, with CI covering Python 3.12 through 3.14 on Linux and installation checks on Windows and macOS. Checks include native numeric precision, current and legacy MCP clients, real stdio, optional dependencies, and installed wheels.

Full changelog

mzMLPy 0.8.0

Added

  • Streaming validation reports for XML structure, counts, IDs, references, and array metadata. Optional binary decoding verifies array lengths, and optional index checks verify XML offsets.
  • Lazy spectrum filtering by MS level, retention time in seconds, polarity, and precursor m/z.
  • python -m mzmlpy inspect, validate, and index-gzip commands with JSON output.
  • Cross-mode regression tests, base-install CI on Linux, Windows, and macOS, strict docs checks, and clean-wheel smoke tests. Coverage and JUnit reports now come from one test run.

... (truncated)

Changelog

Sourced from mzmlpy's changelog.

[0.9.0] - 2026-09-05

Added

  • Optional mcp extra and local stdio server via python -m mzmlpy mcp --root DIR.
  • Read-only tools for file inspection, validation, spectrum filtering, peak retrieval, and chromatograms, with explicit units, paging, file revisions, and restricted data paths.
  • Full local MCP data-access integration with discovery, paged header metadata, acquisition inventories and comparisons, batched spectrum access, and arbitrary numeric arrays.
  • Background jobs with progress, cancellation and bounded retention, revision-aware summary caching, typed output schemas, reference resources, and workflow prompts.
  • Optional JSONL record exports preserve original encoded binary data and provenance. Exports require an explicit output directory. Spectrum processing remains in Spectacular.
  • Spectrum representation, scan mobility, and signed FAIMS voltage metadata filters.
  • MCP client integration tests, stdio smoke tests, and optional-install CI coverage.

Changed

  • Breaking change: decoded raw numeric arrays now retain their declared float32, float64, int32, or int64 type instead of converting everything to float64. This includes empty, dictionary-compressed, byte-shuffled, and predictive arrays. Numpress continues to return reconstructed float64 values. Arrays remain writable.
  • Callers that require float64 for computation should explicitly use .astype(np.float64).
  • MCP array replies report decoded types and preserve large integers as exact decimal strings outside the interoperable JSON integer range. Paired-point replies follow the same convention.

[0.8.0] - 2026-09-04

Added

  • Streaming validation reports for XML structure, counts, IDs, references, and array metadata. Optional binary decoding verifies array lengths, and optional index checks verify XML offsets.
  • Lazy spectrum filtering by MS level, retention time in seconds, polarity, and precursor m/z.
  • python -m mzmlpy inspect, validate, and index-gzip commands with JSON output.
  • Cross-mode regression tests, base-install CI on Linux, Windows, and macOS, strict docs checks, and clean-wheel smoke tests. Coverage and JUnit reports now come from one test run.

Fixed

  • Extracted-cache collisions between files sharing a basename, size, and timestamp. Cache paths now include source identity and revision, including in custom directories.
  • Index parsing for compact XML, single quotes, namespace prefixes, comments, and long tags. Invalid footer fallback discards partial entries. Lookup verifies record identity.
  • Whole-file buffering during extraction and encoding sniffing, and retention of preceding spectra during chromatogram iteration. In-memory text readers share immutable source bytes.
  • Invented chromatograms in spectra-only embedded gzip files, missing root metadata in unindexed mzML, and out-of-range negative indexes returning the last record.
  • Temporary-file collisions during overlapping writes and recovery from malformed rapidgzip sidecars.
  • Binary decoding now rejects invalid base64 characters while accepting XML whitespace.
  • Scan times now recognize supported time-unit accessions even when unitName is absent.

... (truncated)

Commits
  • d478b31 Release 0.9.0 with MCP integration and native numeric types
  • 02a0734 Merge pull request #7 from tacular-omics/codex/release-0.8.0
  • c10f685 Preserve mzML fixture bytes on Windows checkouts
  • ac48aae Release 0.8.0 with correctness fixes, validation, and filtering
  • fb840fe Merge pull request #6 from tacular-omics/codex/release-0.7.0
  • 56b7af8 Prepare mzMLPy 0.7.0 release
  • 9565df8 Remove outdated Zenodo grant metadata
  • b2ee5b8 Fix 0.7 package metadata
  • 2b1f2a0 Add self-indexed gzip access
  • c9b2a7e Correct John Yates name ordering
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [mzmlpy](https://github.com/tacular-omics/mzmlpy) from 0.4.0 to 0.9.0.
- [Release notes](https://github.com/tacular-omics/mzmlpy/releases)
- [Changelog](https://github.com/tacular-omics/mzmlpy/blob/main/CHANGELOG.md)
- [Commits](tacular-omics/mzmlpy@v0.4.0...v0.9.0)

---
updated-dependencies:
- dependency-name: mzmlpy
  dependency-version: 0.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Sep 23, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants