openproteo-core 1.0.1

Shared types, traits, and mzML writer for open Rust mass-spec parsers.
Documentation
# Contributing to OpenProteoCore

Thanks for your interest in OpenProteoCore. This is a small, single-maintainer
project that ships [Apache-2.0](LICENSE) Rust (and Python where
applicable) tooling for the open mass-spec stack.

Crates / packages in this repo: openproteo-core.

## Before you open a PR

- Open an issue first if the change is non-trivial (new API surface,
  format change, vendor coverage, dependency bump beyond a patch). For
  small fixes - typos, docs, minor bug fixes, additional tests -
  go straight to a PR.
- Run `cargo fmt --all` and `cargo clippy --all-targets -- -D warnings` locally.
  CI will run them too.
- Run `cargo test --all` (and `pytest` if the change touches Python).
- Update [CHANGELOG.md]CHANGELOG.md under `## [Unreleased]` with a
  short bullet describing the user-visible change.
- Keep commits small and prefer [Conventional Commits]https://www.conventionalcommits.org/
  (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`).
- Code is ASCII only and `#![forbid(unsafe_code)]` unless the crate
  explicitly opts in (none of the public crates currently do).

## Reverse-engineered formats

If you are contributing to a binary-format reader (Thermo `.raw`,
Bruker `.d`, Waters `.raw`), please make sure new format knowledge
came from public datasets and your own analysis - **do not** copy or
paste vendor SDK headers, sources, decompiled code, or proprietary
specifications. See the repo's `ATTRIBUTION.md` and `CORPUS.md`
where present.

## Security

Please report security vulnerabilities privately via GitHub Security
Advisories - see [SECURITY.md](SECURITY.md). Do not open public issues
for vulnerabilities.

## License

By submitting a PR you agree that your contribution is licensed under
the Apache License 2.0, the same terms as the rest of the project.