Skip to content

Release 4.0.0 - MAD-NG Compatibility

Latest
Compare
Choose a tag to compare
@fsoubelet fsoubelet released this 03 Jan 18:40
50f927e

Version 4.0 of tfs-pandas is a major release bringing compatibility with MAD-NG features in TFS files and tables, apart from the most exotic ones (more on that later).

We also bring new documentation pages regarding the TFS format, code compatibilities, and the new features.
Please have a look at the documentation should you intent to use tfs-pandas 4.0, as there are a few (now documented) caveats.

Important:

  • Support for Python 3.9 has been dropped. The minimum required Python version is now 3.10.
  • DataFrame validation is now OFF by default, both when reading from and writing to file. It is up to the user to ask for a given validation mode.
  • Minimum supported MAD-NG version is 1.0.0, due to synchronized development of some feature details. The corresponding pymadng version is 0.6.0.

Added:

  • Handling of boolean-type and complex-type header values (MAD-NG feature).
  • Handling of bolean-type and complex-type columns (MAD-NG feature).
  • Handling of nullable-type nil values in headers and columns (MAD-NG feature).
  • Compatibility modes for dataframe validation. The tfs.frame.validate function now expects this, and valid choices are MADX, MAD-X, MADNG and MAD-NG (case-insensitive, see API documentation).
  • Many new exceptions have been created for raised errors, which will be more specific. They all inherit from the previously raised TfsFormatError, so user code that was catching it will still work.

Changed:

  • By default, TfsDataFrame validation is now skipped on reading.
  • By default, TfsDataFrame validation is now skipped on writing.
  • By default, TfsDataFrame validation in MAD-X requires headers to be present in the dataframe.

Fixed:

  • Writing a dataframe with no headers (not empty headers), e.g. a pandas.DataFrame - now works correctly.

Documentation:

  • The documentation has been updated to reflect the new features and changes.
  • The documentation now includes a new page on the TFS format itself.
  • The documentation now includes a new page on compatibility modes for TfsDataFrame validation.
  • A great deal of internal documentation has been added to the codebase.

Relevant Changes

Full Changelog: v3.9.0...v4.0.0