Changelog
Version 3.1.1 (2026/03/XX)
Refactored the tests of quantity and validation to sort out some duplications.
Refactored kvn_parser to reduce code complexity.
Additional testing for
model_quantity
Version 3.1 (2026/03/15)
Added type validation for wrapper-typed fields (
model_validate): assigning a plain number,Decimal, or string to a physical-quantity field now raisesTypeErrorwith a clear message.Added pint and astropy Quantity support (
model_quantity):The pint/astropy
Quantityobjects can be assigned directly to wrapper-typed fields and are automatically wrapped to the correct NDM type. The unit must match one of the accepted CCSDS unit strings for the field; a clear error lists the accepted options if it does not.Added
.q()method on all wrapper types (LengthType,DvType, etc.) to extract the value as a pint or astropyQuantity. The backend is selected globally viaset_quantity_mode(QuantityMode.PINT)orset_quantity_mode(QuantityMode.ASTROPY).pint and astropy are optional dependencies; install with
pip install ccsds_ndm[pint]orpip install ccsds_ndm[astropy].
Added documentation page for quantity support and validation.
Version 3.0.1 (2026/03/11)
Updated DOI reference and Flit config. No changes in code.
Version 3.0 (2026/03/11)
Completely rewritten the KVN read/write engine
Introduced support for the older NDM XML Schemas. Now a TDM 1.0 and a TDM 2.0 can be read properly, with their respective NDM XML schemas. (#20)
Moved documentation to markdown.
Bumped up to the new sphinx versions and cleaned up the build errors.
Updated the CircleCI and Github Actions workflows and added a benchmark.
Version 2.2 (2021/08/01)
Added a proper error message if the user tries to output a Combined NDM to KVN. (#16)
Version 2.1 (2021/05/16)
Updated to new
xsdata(21.5) andlxml(4.6.3)Fixed an issue (due to new
xsdata) where root tags could not be processed correctly
Version 2.0 (2021/02/22)
Major update to support reading KVN data and files
Upgraded to NDM XML 2.0.0 XML Schemas
Updated
xsdatato 20.12 (and solved compatibility issues with the new version)Added optional schema file location (#8)
Version 1.3 (2020/12/06)
Started stripping single-data Combined Instantiation NDM files (#12)
Version 1.2 (2020/12/02)
Added support for Combined Instantiation NDM files (#10)
Version 1.1 (2020/11/25)
Modified the internal directory structure to prevent problems with packaging (#9)
Version 1.0 (2020/11/24)
First release