Skip to content

Latest commit

 

History

History
58 lines (48 loc) · 2.17 KB

CHANGELOG.md

File metadata and controls

58 lines (48 loc) · 2.17 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Released]

v1.1.1 - 2023-12-15

Add Python pybind11 bindings + Upgrade ci/cd The project can be found on pypi as mmtf_cppy

Added

This PR adds python bindings as well as updates the backend build process of the mmtf-cpp library significantly. These improvements are mainly from a convenience perspective and include:

  • Removing all build-based submodules
  • Moving to cmake fetchcontent build
  • Simplify CMakeLists with better linking procedures
  • Upgrade msgpack-c
  • Upgrade catch2
  • Move to github actions for ci/cd
  • Use cibuildwheel for wheel cd

Pybind11 library: The pybind11 library utilizes the c++ code of mmtf-cpp in order to build an extremely fast cpp layer underneath the python interface. You have to keep in mind that moving between c++ and python is slow, but this is still much faster than the previously existing python library. see this example:

time to load a single mmtf file 1000x cpp bare 0.29s this library 0.44s python og 4.34s

v1.1.0 - 2022-10-03

Added

  • New mapDecoderFrom.. functions to decode only part of an MMTF file
  • Support for extra fields in MMTF files according to the latest MMTF specification.
  • Support for binary strategy 16 (Run-length encoded 8-bit array), bondResonanceList field and optional groupType.bondAtomList & groupType.bondOrderList according to the proposed version 1.1 of the MMTF specification.
  • New methods to find polymer chains and HETATM following discussions in rcsb/mmtf#28.
  • Altered submodule locations rcsb/mmtf-cpp#37 from the base directory to the new submodules directory.

v1.0.0 - 2019-02-05

Added