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 now3.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 is1.0.0
, due to synchronized development of some feature details. The correspondingpymadng
version is0.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 areMADX
,MAD-X
,MADNG
andMAD-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 inMAD-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
- MAD-NG Features and Compatibility Modes by @fsoubelet in #135
Full Changelog: v3.9.0...v4.0.0