Mwalib

Latest version: v1.8.4

Safety actively analyzes 702392 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 11

1.7.1

* Release to fix issue generating Rust docs.

1.7.0

* Bumped MSRV to 1.65.
* Update fitsio to 0.21 and fitsio-sys to 0.5. To make v0.21 work, a new struct, MWAFitsFile is used inplace of FitsFile, as FitsFile no longer carries the `filename` property which is needed by mwalib.
* Removed Rust Report Card from README status badges. Looks like this service is abandonded.
* Added Python .pyi stub generation to provide mwalib Python users with type and docstring information. The mwalib.pyi should get baked into the python wheels released to github and Pypi. See `bin/README.md` for caveats and more details.
* Added CI to test compilation against cfitsio 3.x and 4.x when not using the `cfitsio-static` feature.

1.6.0

* Updated ndarray to 0.16
* Upgraded dependencies: clap to 0.4, pyo3 to 0.21
* Updated CI to use maturin actions for python wheel building
* Fixed test that was failing under Arm64
* Removed Python 3.8 support as it is now end of life
* Added tests for Python 3.13
* Removed tests for macos-12 as it will be unsupported by github actions by end of 2024
* Added tests for macos-15

1.5.0

* Fixed potential bug with various flavours of metafits files because mwalib was making assumptions about the HDU index/position of each HDU. mwalib now uses HDU names to correctly identify the presence of, and read from, metafits files.
* Moved FITS table reading functions from rf_input to fits_read module. This changes some error types from `RfInputError` to `FitsError`.
* Added best calibration info to the output when you display a `MetafitsContext` or via the C function `mwalib_metafits_context_display`.
* Added [signal chain correction](https://mwatelescope.atlassian.net/wiki/spaces/MP/pages/347996167/MWAX+Signal+Chain+Corrections) table data to the `MetafitsContext`.
* The `RFInput` struct will expose a `signal_chain_corrections_index` which will be the index into the `signal_chain_corrections` vector or None.
* via FFI, a None for `RfInput.signal_chain_corrections_index` is translated as the constant `MAX_RECEIVER_CHANNELS`.

1.4.0

* mwalib now exposes the calibration solution information in a metafits file (if present). When the metafits is generated by a call to the webservice, the metafits file will attempt to populate calibration solution information for the specified observation. The newest produced calibration solution from a calibrator with the same frequency channels and proximity in time will be added to the CALIBDATA hdu which is exposed by mwalib in the structs and attributes below. see: [Metafits files Wiki article](https://mwatelescope.atlassian.net/wiki/spaces/MP/pages/24969594/Metafits+files) for more information about metafits files.
* `RfInput` struct now contains the following new fields. If calibration solution information is not present in the metafits they will be `None`.
* `calib_delay` - Calibration delay in meters
* `calib_gains` - Calibration gains vector: 1 f32 per coarse channel. Channels are in `MetafitsContext.course_chans` order.
* When calibration solution information is present, some values of `calib_delay` and `calib_gains` may be NaN. Make sure you understand [how NaNs work in Rust](https://doc.rust-lang.org/std/primitive.f32.html) if you will be using these columns!
* Via C, if the calibration solution information is not present, the values will be NaN (or an array of NaNs in the case of `calib_gains`):
* `MetafitsContext` struct now contains the following new fields.
* `best_cal_fit_id` - Best calibration fit ID. If not present in the metafits it will be `None`; via C, the value will be 0.
* `best_cal_obs_id` - Best calibration observation ID. If not present in the metafits it will be `None`; via C, the value will be 0.
* `best_cal_code_ver` - Best calibration fit code version. If not present in the metafits it will be `None`; via C, the value will be an empty string.
* `best_cal_fit_timestamp` - Best calibration fit timestamp. If not present in the metafits it will be `None`; via C, the value will be an empty string.
* `best_cal_creator` - Best calibration fit creator. If not present in the metafits it will be `None`; via C, the value will be an empty string.
* `best_cal_fit_iters` - Best calibration fit iterations. If not present in the metafits it will be `None`; via C, the value will be 0.
* `best_cal_fit_iter_limit` - Best calibration fit iteration limit. If not present in the metafits it will be `None`; via C, the value will be 0.
* When populating `RfInput::has_whitening_filter`, mwalib will use the Whitening_Filter key/value if present in the metafits, instead of deducing it from `cable_flavour`. If whitening_filter is not present, the existing deduction logic will be used.
* `MetafitsContext::deripple_applied`- modified mwalib to use DERIPPLE metafits key (it still supports DR_FLAG just in case it is an old metafits)
* When using the `Display` trait of `MetafitsContext` or the C function `mwalib_metafits_context_display`, limit the printing of fine channels - for better readability.
* Added simple Rust example "mwalib-print-context" which does what it says on the tin.

1.3.3

* Bumped MSRV to 1.64
* Updates dependencies
* Fixed some clippy lints

Page 2 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.