18 releases
Uses new Rust 2024
| 0.5.5 | Aug 28, 2025 |
|---|---|
| 0.5.4 | Jul 31, 2025 |
| 0.5.1 | Jan 15, 2025 |
| 0.4.0 | Dec 15, 2024 |
| 0.2.0 | Mar 22, 2024 |
#400 in Memory management
46 downloads per month
Used in 3 crates
(via thermorawfilereader)
1.5MB
239 lines
Contains (Windows DLL, 735KB) ThermoFisher.CommonCore.RawFileReader.dll, (Windows DLL, 460KB) lib/ThermoFisher.CommonCore.Data.dll, (Windows DLL, 115KB) lib/librawfilereader.dll, (Windows DLL, 35KB) lib/OpenMcdf.Extensions.dll, (Windows DLL, 63KB) lib/OpenMcdf.dll, (Windows DLL, 47KB) ThermoFisher.CommonCore.BackgroundSubtraction.dll and 2 more.
thermorawfilereader
Read Thermo RAW files from Rust via in-process .NET runtime hosting and Thermo Fisher's RawFileReader .NET library. You must still install the .NET 8 runtime for this library to function. It should be compatible with .NET 7 but small changes may have to be made to the project files to function.
Which crate is which?
librawfilereader: This is the C# library that Rust calls, it exchanges information using either opaque tokens orFlatBuffers(see ./schema/schema.fbs). All interaction with Thermo's actual library happens in here.dotnetrawfilereader-sys: This Rust crate A) bundles the C# assemblies forlibrawfilereaderand its dependencies and B) configures the loading of the .NET runtime and provides it with a Rust-backed memory allocator, after a fashion.thermorawfilereader: This Rust crate provides (relatively) high level bindings forlibrawfilereaderand theFlatBuffersmessages it generates.
Related projects
mzdata contains an implementation adapting thermorawfilereader to work with that library's types.
Licenses
The code in this repository is licensed under the Apache-2.0 license, but it all depends upon Thermo Fisher's RawFileReader library. This library has a proprietary license at https://github.com/thermofisherlsms/RawFileReader/blob/main/License.doc, and it's assumed that you accept their license's terms by using this library.
lib.rs:
This crate wraps the librawfilereader .NET library and its associated dependencies,
manages the creation of a hosted .NET runtime for them, and provides access to the
runtime. See thermorawfilereader for useful bindings.
For regular use, call get_runtime to get a runtime handle, or set_runtime_dir to
pre-specify the location where runtime files need to be cached. Alternatively, set the
DOTNET_RAWFILEREADER_BUNDLE_PATH environment variable.
If you wish to link with a local nethost library instead of downloading the latest version
at build time, please see netcorehost's documentation. This is still distinct from actually
statically linking with .NET's coreclr library which must be installed separately.
Licensing
By using this library, you agree to the RawFileReader License
Dependencies
~3–10MB
~191K SLoC