diffpy.srreal 1.5.0__tar.gz → 1.5.1rc0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. diffpy_srreal-1.5.1rc0/CHANGELOG.rst +184 -0
  2. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/CMakeLists.txt +36 -60
  3. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/PKG-INFO +1 -1
  4. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.codecov.yml +0 -4
  5. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/ISSUE_TEMPLATE/release_checklist.md +2 -2
  6. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/actions/setup-tests/action.yml +0 -7
  7. diffpy_srreal-1.5.1rc0/extern/libdiffpy/.github/scripts/configure-tests.py +24 -0
  8. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/workflows/matrix-and-codecov.yml +24 -6
  9. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/workflows/tests-on-pr.yml +5 -2
  10. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.gitignore +2 -5
  11. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.pre-commit-config.yaml +1 -2
  12. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.readthedocs.yaml +3 -0
  13. diffpy_srreal-1.5.1rc0/extern/libdiffpy/CMakeLists.txt +388 -0
  14. diffpy_srreal-1.5.1rc0/extern/libdiffpy/CMakePresets.json +89 -0
  15. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/README.rst +15 -9
  16. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/FallbackVersion.cmake +8 -0
  17. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/FindObjCryst.cmake +62 -0
  18. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/LibdiffpyVersion.cmake +222 -0
  19. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/MakeSdist.cmake +54 -0
  20. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/ZeroCounters.cmake +13 -0
  21. diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake/libdiffpyConfig.cmake.in +34 -0
  22. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/conf.py +10 -5
  23. diffpy_srreal-1.5.1rc0/extern/libdiffpy/docs/source/development.rst +130 -0
  24. diffpy_srreal-1.5.1rc0/extern/libdiffpy/news/cmake-build.rst +17 -0
  25. diffpy_srreal-1.5.1rc0/extern/libdiffpy/requirements/build.txt +3 -0
  26. diffpy_srreal-1.5.1rc0/extern/libdiffpy/requirements/tests.txt +2 -0
  27. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/Export.hpp +1 -1
  28. diffpy_srreal-1.5.0/_build/libdiffpy-version.hpp → diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/diffpy/version.hpp +5 -5
  29. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/CMakeLists.txt +104 -0
  30. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestAtomRadiiTable.cpp +119 -0
  31. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestAtomicStructureAdapter.cpp +147 -0
  32. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestAttributes.hpp → diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestAttributes.cpp +23 -22
  33. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestBVParametersTable.cpp +210 -0
  34. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestBVSCalculator.cpp +156 -0
  35. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestBVSObjCryst.cpp +62 -0
  36. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestDebyePDFCalculator.cpp +355 -0
  37. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestEmptyStructureAdapter.cpp +71 -0
  38. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestHasClassRegistry.cpp +79 -0
  39. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestLattice.cpp +153 -0
  40. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestNoMetaStructureAdapter.cpp +103 -0
  41. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestObjCrystStructureAdapter.cpp +637 -0
  42. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestOverlapCalculator.cpp +355 -0
  43. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPDFBaseline.cpp +89 -0
  44. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPDFCalculator.cpp +265 -0
  45. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPQEvaluator.cpp +278 -0
  46. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPairCounter.cpp +139 -0
  47. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPeakProfile.cpp +153 -0
  48. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPeakWidthModel.cpp +193 -0
  49. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPeriodicStructureAdapter.cpp +385 -0
  50. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestPointsInSphere.cpp +190 -0
  51. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestR3linalg.cpp +105 -0
  52. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestRuntimePath.hpp → diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestRuntimePath.cpp +28 -26
  53. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestScatteringFactorTable.cpp +206 -0
  54. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestSphericalShapeEnvelope.cpp +88 -0
  55. diffpy_srreal-1.5.1rc0/extern/libdiffpy/src/tests/TestStepCutEnvelope.cpp +83 -0
  56. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/objcryst_helpers.cpp +21 -7
  57. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/objcryst_helpers.hpp +1 -0
  58. diffpy_srreal-1.5.0/news/ay-cleanings.rst → diffpy_srreal-1.5.1rc0/news/cmake-libdiffpy.rst +3 -2
  59. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/pyproject.toml +2 -1
  60. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_saved_calculations.py +0 -86
  61. diffpy_srreal-1.5.0/CHANGELOG.rst +0 -65
  62. diffpy_srreal-1.5.0/devutils/generate_legacy_pickle_fixtures.py +0 -136
  63. diffpy_srreal-1.5.0/extern/libdiffpy/.github/scripts/configure-tests.py +0 -55
  64. diffpy_srreal-1.5.0/extern/libdiffpy/SConstruct +0 -150
  65. diffpy_srreal-1.5.0/extern/libdiffpy/docs/source/development.rst +0 -98
  66. diffpy_srreal-1.5.0/extern/libdiffpy/requirements/build.txt +0 -2
  67. diffpy_srreal-1.5.0/extern/libdiffpy/requirements/tests.txt +0 -2
  68. diffpy_srreal-1.5.0/extern/libdiffpy/site_scons/fallback_version.py +0 -11
  69. diffpy_srreal-1.5.0/extern/libdiffpy/site_scons/libdiffpybuildutils.py +0 -112
  70. diffpy_srreal-1.5.0/extern/libdiffpy/site_scons/site_tools/cxxtest.py +0 -396
  71. diffpy_srreal-1.5.0/extern/libdiffpy/src/SConscript +0 -271
  72. diffpy_srreal-1.5.0/extern/libdiffpy/src/SConscript.configure +0 -64
  73. diffpy_srreal-1.5.0/extern/libdiffpy/src/SConscript.sdist +0 -71
  74. diffpy_srreal-1.5.0/extern/libdiffpy/src/diffpy/SConscript +0 -23
  75. diffpy_srreal-1.5.0/extern/libdiffpy/src/diffpy/SConscript.version +0 -96
  76. diffpy_srreal-1.5.0/extern/libdiffpy/src/diffpy/srreal/SConscript +0 -11
  77. diffpy_srreal-1.5.0/extern/libdiffpy/src/runtime/SConscript +0 -6
  78. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/SConscript +0 -71
  79. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestAtomRadiiTable.hpp +0 -107
  80. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestAtomicStructureAdapter.hpp +0 -144
  81. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestBVParametersTable.hpp +0 -197
  82. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestBVSCalculator.hpp +0 -150
  83. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestBVSObjCryst.hpp +0 -66
  84. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestDebyePDFCalculator.hpp +0 -313
  85. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestEmptyStructureAdapter.hpp +0 -70
  86. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestHasClassRegistry.hpp +0 -74
  87. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestLattice.hpp +0 -149
  88. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestNoMetaStructureAdapter.hpp +0 -99
  89. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestObjCrystStructureAdapter.hpp +0 -605
  90. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestOverlapCalculator.hpp +0 -322
  91. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPDFBaseline.hpp +0 -88
  92. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPDFCalculator.hpp +0 -239
  93. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPQEvaluator.hpp +0 -264
  94. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPairCounter.hpp +0 -137
  95. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPeakProfile.hpp +0 -143
  96. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPeakWidthModel.hpp +0 -182
  97. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPeriodicStructureAdapter.hpp +0 -371
  98. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestPointsInSphere.hpp +0 -186
  99. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestR3linalg.hpp +0 -98
  100. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestScatteringFactorTable.hpp +0 -185
  101. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestSphericalShapeEnvelope.hpp +0 -72
  102. diffpy_srreal-1.5.0/extern/libdiffpy/src/tests/TestStepCutEnvelope.hpp +0 -73
  103. diffpy_srreal-1.5.0/news/citationfix.rst +0 -23
  104. diffpy_srreal-1.5.0/news/cpp-version-update.rst +0 -24
  105. diffpy_srreal-1.5.0/news/deprecate-setscattering.rst +0 -23
  106. diffpy_srreal-1.5.0/news/devutils.rst +0 -23
  107. diffpy_srreal-1.5.0/news/examples.rst +0 -23
  108. diffpy_srreal-1.5.0/news/fix-example.rst +0 -23
  109. diffpy_srreal-1.5.0/news/fix-structure-deprecations.rst +0 -24
  110. diffpy_srreal-1.5.0/news/libdiffpy-license-rst.rst +0 -23
  111. diffpy_srreal-1.5.0/news/nanobind-arrays.rst +0 -22
  112. diffpy_srreal-1.5.0/news/nanobind-build-alignment.rst +0 -22
  113. diffpy_srreal-1.5.0/news/nanobind-calculation-workflows.rst +0 -34
  114. diffpy_srreal-1.5.0/news/precommit-deps-update.rst +0 -23
  115. diffpy_srreal-1.5.0/news/py314.rst +0 -23
  116. diffpy_srreal-1.5.0/news/remove-custompqconfig.rst +0 -18
  117. diffpy_srreal-1.5.0/news/remove-setscattering.rst +0 -4
  118. diffpy_srreal-1.5.0/news/skpkg-update.rst +0 -23
  119. diffpy_srreal-1.5.0/news/static-wheels.rst +0 -30
  120. diffpy_srreal-1.5.0/news/wf.rst +0 -23
  121. diffpy_srreal-1.5.0/news/windows-libdiffpy-submodule.rst +0 -10
  122. diffpy_srreal-1.5.0/tests/testdata/boost_python_pickles.json +0 -202
  123. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.codecov.yml +0 -0
  124. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.codespell/ignore_lines.txt +0 -0
  125. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.codespell/ignore_words.txt +0 -0
  126. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.flake8 +0 -0
  127. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/ISSUE_TEMPLATE/bug_feature.md +0 -0
  128. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/ISSUE_TEMPLATE/release_checklist.md +0 -0
  129. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  130. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/build-and-publish-docs-on-dispatch.yml +0 -0
  131. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/build-wheel-release-upload.yml +0 -0
  132. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/build-wheels.yml +0 -0
  133. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/check-news-item.yml +0 -0
  134. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/matrix-and-codecov.yml +0 -0
  135. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.github/workflows/tests-on-pr.yml +0 -0
  136. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.gitignore +0 -0
  137. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.gitmodules +0 -0
  138. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.isort.cfg +0 -0
  139. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.pre-commit-config.yaml +0 -0
  140. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/.readthedocs.yaml +0 -0
  141. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/AUTHORS.rst +0 -0
  142. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/CODE-OF-CONDUCT.rst +0 -0
  143. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/LICENSE.rst +0 -0
  144. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/LICENSE_DANSE.rst +0 -0
  145. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/MANIFEST.in +0 -0
  146. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/README.rst +0 -0
  147. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/cookiecutter.json +0 -0
  148. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/devutils/README.md +0 -0
  149. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/devutils/tunePeakPrecision.py +0 -0
  150. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/Makefile +0 -0
  151. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/compareC60PDFs.py +0 -0
  152. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/compareC60PDFs_objcryst.py +0 -0
  153. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/datafiles/C60bucky.stru +0 -0
  154. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/datafiles/menthol.cif +0 -0
  155. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/datafiles/sphalerite.cif +0 -0
  156. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/distanceprinter.py +0 -0
  157. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/lennardjones/Makefile +0 -0
  158. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/lennardjones/README.txt +0 -0
  159. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/lennardjones/lj50.xyz +0 -0
  160. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/lennardjones/ljcalculator.cpp +0 -0
  161. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/lennardjones/ljcalculator.py +0 -0
  162. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/examples/parallelPDF.py +0 -0
  163. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/make.bat +0 -0
  164. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/_static/.placeholder +0 -0
  165. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/api/diffpy.srreal.rst +0 -0
  166. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/conf.py +0 -0
  167. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/examples/compareC60PDFs.rst +0 -0
  168. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/examples/compareC60PDFs_objcryst.rst +0 -0
  169. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/examples/distanceprinter.rst +0 -0
  170. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/examples/parallelPDF.rst +0 -0
  171. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/examples.rst +0 -0
  172. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/img/.placeholder +0 -0
  173. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/index.rst +0 -0
  174. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/license.rst +0 -0
  175. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/release.rst +0 -0
  176. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/docs/source/snippets/.placeholder +0 -0
  177. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.clang-format +0 -0
  178. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.codespell/ignore_lines.txt +0 -0
  179. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.codespell/ignore_words.txt +0 -0
  180. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.flake8 +0 -0
  181. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.gitattributes +0 -0
  182. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/ISSUE_TEMPLATE/bug_feature.md +0 -0
  183. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  184. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/workflows/build-and-publish-docs-on-dispatch.yml +0 -0
  185. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/workflows/check-news-item.yml +0 -0
  186. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.github/workflows/release-github-on-tag.yml +0 -0
  187. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/.isort.cfg +0 -0
  188. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/AUTHORS.rst +0 -0
  189. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/CHANGELOG.rst +0 -0
  190. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/CODE-OF-CONDUCT.rst +0 -0
  191. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/LICENSE.rst +0 -0
  192. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/LICENSE_DANSE.rst +0 -0
  193. {diffpy_srreal-1.5.0/extern/libdiffpy/site_scons → diffpy_srreal-1.5.1rc0/extern/libdiffpy/cmake}/gitarchive.cfg +0 -0
  194. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/cookiecutter.json +0 -0
  195. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/Makefile +0 -0
  196. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/make.bat +0 -0
  197. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/_static/.placeholder +0 -0
  198. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/img/.placeholder +0 -0
  199. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/index.rst +0 -0
  200. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/license.rst +0 -0
  201. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/release.rst +0 -0
  202. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/docs/source/snippets/.placeholder +0 -0
  203. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/examples/testlib.cpp +0 -0
  204. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/news/TEMPLATE.rst +0 -0
  205. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/pyproject.toml +0 -0
  206. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/requirements/conda.txt +0 -0
  207. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/requirements/docs.txt +0 -0
  208. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/Attributes.cpp +0 -0
  209. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/Attributes.hpp +0 -0
  210. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/Attributes.ipp +0 -0
  211. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/EventTicker.cpp +0 -0
  212. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/EventTicker.hpp +0 -0
  213. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/HasClassRegistry.hpp +0 -0
  214. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/HasClassRegistry.ipp +0 -0
  215. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/features.tpl +0 -0
  216. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/mathutils.hpp +0 -0
  217. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/mathutils.ipp +0 -0
  218. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/runtimepath.cpp +0 -0
  219. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/runtimepath.hpp +0 -0
  220. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/serialization.hpp +0 -0
  221. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/serialization.ipp +0 -0
  222. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomRadiiTable.cpp +0 -0
  223. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomRadiiTable.hpp +0 -0
  224. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomUtils.cpp +0 -0
  225. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomUtils.hpp +0 -0
  226. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomicStructureAdapter.cpp +0 -0
  227. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/AtomicStructureAdapter.hpp +0 -0
  228. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVParam.cpp +0 -0
  229. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVParam.hpp +0 -0
  230. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVParametersTable.cpp +0 -0
  231. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVParametersTable.hpp +0 -0
  232. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVSCalculator.cpp +0 -0
  233. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BVSCalculator.hpp +0 -0
  234. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BaseBondGenerator.cpp +0 -0
  235. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BaseBondGenerator.hpp +0 -0
  236. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BaseDebyeSum.cpp +0 -0
  237. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BaseDebyeSum.hpp +0 -0
  238. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BondCalculator.cpp +0 -0
  239. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/BondCalculator.hpp +0 -0
  240. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ConstantPeakWidth.cpp +0 -0
  241. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ConstantPeakWidth.hpp +0 -0
  242. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ConstantRadiiTable.cpp +0 -0
  243. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ConstantRadiiTable.hpp +0 -0
  244. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/CroppedGaussianProfile.cpp +0 -0
  245. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/CroppedGaussianProfile.hpp +0 -0
  246. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/CrystalStructureAdapter.cpp +0 -0
  247. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/CrystalStructureAdapter.hpp +0 -0
  248. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/DebyePDFCalculator.cpp +0 -0
  249. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/DebyePDFCalculator.hpp +0 -0
  250. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/DebyeWallerPeakWidth.cpp +0 -0
  251. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/DebyeWallerPeakWidth.hpp +0 -0
  252. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/EmptyStructureAdapter.cpp +0 -0
  253. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/GaussianProfile.cpp +0 -0
  254. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/GaussianProfile.hpp +0 -0
  255. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/JeongPeakWidth.cpp +0 -0
  256. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/JeongPeakWidth.hpp +0 -0
  257. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/Lattice.cpp +0 -0
  258. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/Lattice.hpp +0 -0
  259. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/LinearBaseline.cpp +0 -0
  260. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/LinearBaseline.hpp +0 -0
  261. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/NoMetaStructureAdapter.cpp +0 -0
  262. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/NoMetaStructureAdapter.hpp +0 -0
  263. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/NoSymmetryStructureAdapter.cpp +0 -0
  264. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/NoSymmetryStructureAdapter.hpp +0 -0
  265. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ObjCrystStructureAdapter.cpp +0 -0
  266. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ObjCrystStructureAdapter.hpp +0 -0
  267. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/OverlapCalculator.cpp +0 -0
  268. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/OverlapCalculator.hpp +0 -0
  269. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFBaseline.cpp +0 -0
  270. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFBaseline.hpp +0 -0
  271. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFCalculator.cpp +0 -0
  272. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFCalculator.hpp +0 -0
  273. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFEnvelope.cpp +0 -0
  274. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFEnvelope.hpp +0 -0
  275. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFUtils.cpp +0 -0
  276. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFUtils.hpp +0 -0
  277. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PDFUtils.ipp +0 -0
  278. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PQEvaluator.cpp +0 -0
  279. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PQEvaluator.hpp +0 -0
  280. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PairCounter.cpp +0 -0
  281. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PairCounter.hpp +0 -0
  282. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PairQuantity.cpp +0 -0
  283. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PairQuantity.hpp +0 -0
  284. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeakProfile.cpp +0 -0
  285. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeakProfile.hpp +0 -0
  286. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeakWidthModel.cpp +0 -0
  287. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeakWidthModel.hpp +0 -0
  288. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeriodicStructureAdapter.cpp +0 -0
  289. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PeriodicStructureAdapter.hpp +0 -0
  290. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PointsInSphere.cpp +0 -0
  291. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/PointsInSphere.hpp +0 -0
  292. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/QResolutionEnvelope.cpp +0 -0
  293. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/QResolutionEnvelope.hpp +0 -0
  294. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/QuantityType.hpp +0 -0
  295. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/R3linalg.cpp +0 -0
  296. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/R3linalg.hpp +0 -0
  297. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTElectron.cpp +0 -0
  298. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTElectron.hpp +0 -0
  299. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTElectronNumber.cpp +0 -0
  300. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTElectronNumber.hpp +0 -0
  301. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTNeutron.cpp +0 -0
  302. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTNeutron.hpp +0 -0
  303. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTXray.cpp +0 -0
  304. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SFTXray.hpp +0 -0
  305. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ScaleEnvelope.cpp +0 -0
  306. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ScaleEnvelope.hpp +0 -0
  307. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ScatteringFactorTable.cpp +0 -0
  308. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ScatteringFactorTable.hpp +0 -0
  309. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SphericalShapeEnvelope.cpp +0 -0
  310. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/SphericalShapeEnvelope.hpp +0 -0
  311. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StepCutEnvelope.cpp +0 -0
  312. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StepCutEnvelope.hpp +0 -0
  313. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StructureAdapter.cpp +0 -0
  314. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StructureAdapter.hpp +0 -0
  315. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StructureDifference.cpp +0 -0
  316. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/StructureDifference.hpp +0 -0
  317. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ZeroBaseline.cpp +0 -0
  318. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/ZeroBaseline.hpp +0 -0
  319. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/forwardtypes.hpp +0 -0
  320. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/scatteringfactordata.cpp +0 -0
  321. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/srreal/scatteringfactordata.hpp +0 -0
  322. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/validators.hpp +0 -0
  323. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/version.cpp +0 -0
  324. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/diffpy/version.tpl +0 -0
  325. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/runtime/bvparm2011sel.cif +0 -0
  326. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/runtime/f0_WaasKirf.dat +0 -0
  327. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/runtime/ionlist.dat +0 -0
  328. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/runtime/nsftable.dat +0 -0
  329. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tables/bvparm2009.cif +0 -0
  330. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tables/bvparm2011.cif +0 -0
  331. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/serialization_helpers.hpp +0 -0
  332. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/test_helpers.cpp +0 -0
  333. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/test_helpers.hpp +0 -0
  334. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/CaTiO3.cif +0 -0
  335. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/CaTiO3.stru +0 -0
  336. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/LiTaO3.cif +0 -0
  337. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/LiTaO3.stru +0 -0
  338. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/NH4Br.cif +0 -0
  339. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/NaCl.cif +0 -0
  340. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/NaCl.stru +0 -0
  341. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/NaCl_mixed.cif +0 -0
  342. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/NaCl_mixed.stru +0 -0
  343. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/Ni.cif +0 -0
  344. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/Ni.stru +0 -0
  345. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/PbScW25TiO3.stru +0 -0
  346. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/ZnS_wurtzite.cif +0 -0
  347. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/ZnS_wurtzite.stru +0 -0
  348. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/alpha_K2Bi8Se13.cif +0 -0
  349. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/extern/libdiffpy/src/tests/testdata/alpha_K2Bi8Se13.stru +0 -0
  350. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/news/TEMPLATE.rst +0 -0
  351. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/requirements/build.txt +0 -0
  352. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/requirements/conda.txt +0 -0
  353. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/requirements/docs.txt +0 -0
  354. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/requirements/pip.txt +0 -0
  355. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/requirements/tests.txt +0 -0
  356. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/__init__.py +0 -0
  357. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/__init__.py +0 -0
  358. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/_cleanup.py +0 -0
  359. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/_docstrings.py +0 -0
  360. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/_final_imports.py +0 -0
  361. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/_objcrystconverters.py +0 -0
  362. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/atomradiitable.py +0 -0
  363. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/attributes.py +0 -0
  364. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/bondcalculator.py +0 -0
  365. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/bvparameterstable.py +0 -0
  366. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/bvscalculator.py +0 -0
  367. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/eventticker.py +0 -0
  368. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/overlapcalculator.py +0 -0
  369. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/pairquantity.py +0 -0
  370. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/parallel.py +0 -0
  371. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/pdfbaseline.py +0 -0
  372. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/pdfcalculator.py +0 -0
  373. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/pdfenvelope.py +0 -0
  374. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/peakprofile.py +0 -0
  375. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/peakwidthmodel.py +0 -0
  376. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/scatteringfactortable.py +0 -0
  377. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/sfaverage.py +0 -0
  378. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/structureadapter.py +0 -0
  379. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/structureconverters.py +0 -0
  380. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/version.py +0 -0
  381. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/diffpy/srreal/wraputils.py +0 -0
  382. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_atom.hpp +0 -0
  383. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_converters.cpp +0 -0
  384. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_converters.hpp +0 -0
  385. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_converters.ipp +0 -0
  386. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_ext.cpp +0 -0
  387. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_legacy.hpp +0 -0
  388. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_pickling.cpp +0 -0
  389. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_pickling.hpp +0 -0
  390. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_registry.cpp +0 -0
  391. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_registry.hpp +0 -0
  392. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_trampoline.hpp +0 -0
  393. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_validators.cpp +0 -0
  394. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/srreal_validators.hpp +0 -0
  395. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_AtomRadiiTable.cpp +0 -0
  396. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_AtomicStructureAdapter.cpp +0 -0
  397. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_Attributes.cpp +0 -0
  398. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_BVParametersTable.cpp +0 -0
  399. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_BVSCalculator.cpp +0 -0
  400. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_BaseBondGenerator.cpp +0 -0
  401. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_BondCalculator.cpp +0 -0
  402. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_EventTicker.cpp +0 -0
  403. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_ObjCrystAdapters.cpp +0 -0
  404. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_OverlapCalculator.cpp +0 -0
  405. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PDFBaseline.cpp +0 -0
  406. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PDFCalculators.cpp +0 -0
  407. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PDFEnvelope.cpp +0 -0
  408. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PairQuantity.cpp +0 -0
  409. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PeakProfile.cpp +0 -0
  410. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_PeakWidthModel.cpp +0 -0
  411. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_ScatteringFactorTable.cpp +0 -0
  412. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_StructureAdapter.cpp +0 -0
  413. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_StructureDifference.cpp +0 -0
  414. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/src/extensions/wrap_libdiffpy_version.cpp +0 -0
  415. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/conftest.py +0 -0
  416. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_atomradiitable.py +0 -0
  417. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_attributes.py +0 -0
  418. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_bondcalculator.py +0 -0
  419. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_bvscalculator.py +0 -0
  420. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_calculation_callbacks.py +0 -0
  421. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_debyepdfcalculator.py +0 -0
  422. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_objcrystconverters.py +0 -0
  423. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_overlapcalculator.py +0 -0
  424. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_pairquantity.py +0 -0
  425. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_parallel.py +0 -0
  426. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_pdfbaseline.py +0 -0
  427. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_pdfcalcobjcryst.py +0 -0
  428. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_pdfcalculator.py +0 -0
  429. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_pdfenvelope.py +0 -0
  430. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_peakprofile.py +0 -0
  431. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_peakwidthmodel.py +0 -0
  432. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_python_interfaces.py +0 -0
  433. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_quantitytype.py +0 -0
  434. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_scatteringfactortable.py +0 -0
  435. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_sfaverage.py +0 -0
  436. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_structure_lifetimes.py +0 -0
  437. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_structureadapter.py +0 -0
  438. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/test_version.py +0 -0
  439. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/C60bucky.stru +0 -0
  440. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/CdSe_cadmoselite.cif +0 -0
  441. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/CdSe_cadmoselite_N.fgr +0 -0
  442. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/CdSe_cadmoselite_X.fgr +0 -0
  443. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/Ni-fit.fgr +0 -0
  444. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/Ni.cif +0 -0
  445. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/Ni.stru +0 -0
  446. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/Ni_primitive.stru +0 -0
  447. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/TiO2_rutile-fit.cif +0 -0
  448. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/TiO2_rutile-fit.fgr +0 -0
  449. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/TiO2_rutile-fit.stru +0 -0
  450. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/rutile.cif +0 -0
  451. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/silicon.cif +0 -0
  452. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testdata/sphalerite.cif +0 -0
  453. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tests/testutils.py +0 -0
  454. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/install-vcpkg-deps.ps1 +0 -0
  455. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/install-vcpkg-deps.sh +0 -0
  456. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/vcpkg-triplets/srreal-arm64-osx.cmake +0 -0
  457. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/vcpkg-triplets/srreal-x64-linux.cmake +0 -0
  458. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/vcpkg-triplets/srreal-x64-osx.cmake +0 -0
  459. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/tools/vcpkg-triplets/srreal-x64-windows.cmake +0 -0
  460. {diffpy_srreal-1.5.0 → diffpy_srreal-1.5.1rc0}/vcpkg.json +0 -0
@@ -0,0 +1,184 @@
1
+ =============
2
+ Release notes
3
+ =============
4
+
5
+ .. current developments
6
+
7
+ 1.5.0
8
+ =====
9
+
10
+ **Added:**
11
+
12
+ * Publish self-contained wheels to PyPI for Linux (x86_64),
13
+ macOS (x86_64, arm64) and Windows (AMD64). The wheels link
14
+ Boost.Serialization and GSL statically and install without conda.
15
+ ``vcpkg.json`` pins the library versions on all platforms.
16
+ * Add the ``SRREAL_STATIC_DEPS`` CMake option to link Boost.Serialization
17
+ and GSL statically. It is off by default, so conda and system builds
18
+ keep linking the shared libraries.
19
+ * Update citation reference in README and docs.
20
+
21
+ **Changed:**
22
+
23
+ * Build the embedded libdiffpy core from a pinned Git submodule. Source
24
+ distributions include the core sources and runtime data for offline builds.
25
+ * Use typed nanobind arrays for numeric input, copied results, and writable
26
+ Atom views. Keep NumPy output types, shapes, native dtypes, and the existing
27
+ scalar-versus-array return conventions.
28
+ * Remove the NumPy C API and build-time NumPy dependency. NumPy remains a
29
+ runtime dependency; wheel Python ABI requirements are unchanged.
30
+ * Retain NumPy-owned writable storage for copied results and explicit storage
31
+ owners for Atom views, including slices retained after structural edits.
32
+ * Preserve endpoint-specific conversion rules, NumPy scalar casting warnings,
33
+ and coordinate/matrix broadcasting. Invalid coordinate/matrix assignments
34
+ no longer partially modify an Atom.
35
+ * updated cpp minimum version to c++23.
36
+ * replaced boost smart pointer usages with stl implementations.
37
+ * Added Python 3.14 support, removed Python 3.11 support.
38
+ * Align the nanobind migration with pyobjcryst issue 101: use scikit-build-core,
39
+ CMake, and pinned upstream libdiffpy sources compiled into the extension.
40
+ Retain C++23 to match libdiffpy's own build requirements.
41
+ * Use pyobjcryst's Python API for Crystal and Molecule conversion, removing
42
+ the build-time libobjcryst dependency and cross-extension C++ ABI coupling.
43
+ * Retain the centralized scikit-package testing, release, and documentation
44
+ workflows and their platform matrix. Download the pinned libdiffpy source
45
+ archive with CMake and verify its SHA-256 checksum, without a Git submodule
46
+ or unsupported shared-workflow inputs. Test the current pyobjcryst migration
47
+ on Linux through the shared post-install hook. Preserve tag-based package
48
+ versions.
49
+ * Structure conversion now returns ordinary atomic or periodic adapters,
50
+ without reading ``pdffit`` metadata. Configure PDF parameters explicitly
51
+ through the existing calculator interfaces.
52
+ * ``nometa()`` returns or converts the source adapter without a proxy.
53
+ ``None`` returns the empty adapter.
54
+ * Require nanobind 3.1 or newer within the 3.x series.
55
+ * Use consistent Atom references for indexing and iteration. Surviving atoms
56
+ follow index shifts; removed or replaced atoms detach safely. NumPy views
57
+ retained across structural edits become snapshots; reacquire a view to
58
+ modify the updated structure.
59
+ * Expose calculator component properties directly without preserving the
60
+ ``PeakWidthModelOwner`` and ``ScatteringFactorTableOwner`` inheritance
61
+ relationships. Use the calculator's own properties and methods.
62
+ * Use Python ``str`` for text parameters; decode byte strings explicitly.
63
+ Binary serialization payloads remain ``bytes``.
64
+ * Follow nanobind's numerical conversions. Explicitly call ``float(value)``
65
+ when an overridden ``__float__`` must be honored. ``None`` is not accepted
66
+ as numerical input to baselines, envelopes, or scattering-factor lookup.
67
+ * Use value equality and nanobind's representation for ``QuantityType``.
68
+ These mutable containers are unhashable, and slice assignment requires
69
+ an iterable, including for a single replacement value.
70
+ * Interpret ``__getstate_manages_dict__`` by its truth value. Custom pickle
71
+ hooks on guarded classes must preserve Python metadata and set this flag
72
+ to ``True``.
73
+
74
+ **Deprecated:**
75
+
76
+ * ``NoMetaStructureAdapter``, retained for saved objects and subclasses.
77
+ Its Python constructor now emits ``DeprecationWarning``. Historical
78
+ metadata adapter classes remain importable for pickle compatibility.
79
+ * Deprecated setScatteringFactorTableByType.
80
+
81
+ **Fixed:**
82
+
83
+ * Include libdiffpy's ``LICENSE.rst`` and ``LICENSE_DANSE.rst`` in the
84
+ sdist under their actual file names.
85
+ * Fixed example to pass correct Molecule structure for PDF comparison
86
+ * Use libdiffpy's Windows-compatible runtime data lookup and declarations,
87
+ enable MSVC mathematical constants, and disambiguate tuple restoration
88
+ in calculator pickles.
89
+ * Use ``Lattice.cell_parms`` in place of the deprecated ``Lattice.abcABG`` when converting ``diffpy.structure`` objects to silence deprecation warnings.
90
+ * Use ``load_structure``, ``get_parser``, ``parse_file``, ``read_structure``, ``set_latt_parms``, and ``add_new_atom`` in place of the deprecated ``diffpy.structure`` functions in tests, examples, and docstrings.
91
+ * Fixed `parallelPDF.py` example multiprocessing safe importing of main module issue.
92
+ * Install libdiffpy's ``LICENSE.rst`` and ``LICENSE_DANSE.rst`` instead of the renamed ``LICENSE.txt`` and ``LICENSE_DANSE.txt``.
93
+ * Read strided and reversed integer index arrays in logical order instead of
94
+ treating their storage as contiguous.
95
+ * Interpret byte-swapped FFT inputs and integer index arrays in their actual
96
+ byte order, and safely handle unaligned buffers.
97
+ * Reject integer-array indices outside the C++ ``int`` range with
98
+ ``OverflowError`` instead of silently wrapping. These three corrections
99
+ intentionally change erroneous behavior inherited from Boost.Python.
100
+ * Allow structureadapter to be imported before other srreal modules.
101
+ * Support the custom virtual-method dispatch used by both nanobind 2 and 3.
102
+ * Fail pyobjcryst integration tests on conversion errors instead of skipping
103
+ them as if ObjCryst support were unavailable.
104
+ * Reject mismatched libdiffpy revisions when a local Git checkout is supplied
105
+ for an offline build, while preserving Git-free archive builds.
106
+ * Prevent repeated Python calculation callbacks when calling base methods.
107
+ * Restore structure sequence edits and resizing contribution-array slices.
108
+ * Keep retained Atom references and NumPy views safe during structure edits
109
+ and deserialization.
110
+ * Keep public calculator exports callable and configurable, including objects
111
+ loaded from supported Boost.Python pickles.
112
+ * Restore saved structures and Python-defined components, honor subclass
113
+ construction hooks, and guard against accidental metadata loss in custom
114
+ pickle hooks.
115
+ * Accept Python and NumPy truth values in adapter anisotropy callbacks.
116
+
117
+ **Removed:**
118
+
119
+ * Remove utils scripts ``devutils`` from the package.
120
+ * Remove the deprecated ``setScatteringFactorTableByType`` method from
121
+ ``ScatteringFactorTableOwner``, ``PDFCalculator``, and ``DebyePDFCalculator``.
122
+ * The ``_customPQConfig`` bindings and Python callback dispatch, including
123
+ automatic application of structure metadata to PDF calculators.
124
+
125
+
126
+ 1.4.0
127
+ =====
128
+
129
+ **Added:**
130
+
131
+ * Update linelength to sk-package standard of 79 characters.
132
+
133
+ **Changed:**
134
+
135
+ * Renamed CODE_OF_CONDUCTS.rst to CODE-OF-CONDUCTS.rst, doc folder to docs, and requirements/test.txt to requirements/tests.txt
136
+
137
+ **Fixed:**
138
+
139
+ * Configure ``black`` to have a linelength requirement of 79 characters.
140
+ * Update requirements to use full release `libdiffpy` and remove wrong build dependencies.
141
+ * Support ``scikit-package`` Level 5 standard (https://scikit-package.github.io/scikit-package/).
142
+
143
+
144
+
145
+ Version 1.3.0 2019-03-13
146
+ =========================
147
+
148
+ Main differences from version 1.2.
149
+
150
+ **Added:**
151
+
152
+ * Support for Python 3.7, 3.6, 3.5 in addition to 2.7.
153
+ * Validation of compiler options from `python-config`.
154
+ * Make scons scripts compatible with Python 3 and Python 2.
155
+ * `ConstantPeakWidth` attributes `uisowidth`, `bisowidth` to ease
156
+ PDF simulation with uniform isotropic atom displacements.
157
+
158
+ **Changed:**
159
+
160
+ * Require libdiffpy 1.4 or later.
161
+ * Build Anaconda package with Anaconda C++ compiler.
162
+ * Allow language standard c++11.
163
+ * Pickle format for `PDFCalculator`, `DebyePDFCalculator`,
164
+ `OverlapCalculator`, `PeakWidthModel`, `PeakProfile`, `PDFEnvelope`,
165
+ `PDFBaseline`, and `ScatteringFactorTable` objects.
166
+
167
+ **Deprecated:**
168
+
169
+ * Variable `__gitsha__` in the `version` module renamed to `__git_commit__`.
170
+ * `libdiffpy_version_info` attribute `git_sha` renamed to `git_commit`.
171
+
172
+ **Removed**
173
+
174
+ * Unused method `BVParam.__hash__`.
175
+ * Disable pickling of `BasePairQuantity` as it is in effect abstract.
176
+ * Pickling of Python-added attributes to exported C++ classes.
177
+ * Function `get_libdiffpy_version_info` from the `version` module.
178
+
179
+ **Fixed**
180
+
181
+ * Return value conversion of `CrystalStructureAdapter` methods
182
+ `expandLatticeAtom` and `getEquivalentAtoms` methods.
183
+ Make them return a `list` of `Atom` objects.
184
+ * Name suffix resolution of `boost_python` shared library.
@@ -1,13 +1,13 @@
1
- cmake_minimum_required(VERSION 3.20)
1
+ cmake_minimum_required(VERSION 3.22)
2
2
  project(diffpy_srreal LANGUAGES NONE)
3
3
 
4
- # Keep this aligned with the pinned libdiffpy's src/SConscript.
4
+ # Keep this aligned with the pinned libdiffpy's CMakeLists.txt.
5
5
  set(CMAKE_CXX_STANDARD 23)
6
6
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
7
7
  set(CMAKE_CXX_EXTENSIONS OFF)
8
8
 
9
9
  set(LIBDIFFPY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extern/libdiffpy")
10
- if(NOT EXISTS "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/version.tpl")
10
+ if(NOT EXISTS "${LIBDIFFPY_SOURCE_DIR}/CMakeLists.txt")
11
11
  message(FATAL_ERROR
12
12
  "Missing libdiffpy sources. Initialize the submodule with "
13
13
  "'git submodule update --init --recursive', or use a source distribution "
@@ -15,42 +15,28 @@ if(NOT EXISTS "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/version.tpl")
15
15
  )
16
16
  endif()
17
17
 
18
- # Read version information from the submodule; sdists carry the generated header.
19
- set(LIBDIFFPY_VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/include/diffpy/version.hpp")
20
- set(LIBDIFFPY_SDIST_VERSION_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/_build/libdiffpy-version.hpp")
21
- if(EXISTS "${LIBDIFFPY_SOURCE_DIR}/.git")
22
- file(STRINGS "${LIBDIFFPY_SOURCE_DIR}/site_scons/fallback_version.py"
23
- LIBDIFFPY_FALLBACK_VERSION REGEX "^FALLBACK_VERSION =")
24
- if(NOT LIBDIFFPY_FALLBACK_VERSION MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
25
- message(FATAL_ERROR "Cannot read the libdiffpy base version.")
26
- endif()
27
- set(DIFFPY_VERSION_MAJOR "${CMAKE_MATCH_1}")
28
- set(DIFFPY_VERSION_MINOR "${CMAKE_MATCH_2}")
29
- set(DIFFPY_VERSION_MICRO "${CMAKE_MATCH_3}")
30
- set(DIFFPY_VERSION_PATCH 0)
31
- set(DIFFPY_VERSION_STR "${DIFFPY_VERSION_MAJOR}.${DIFFPY_VERSION_MINOR}.${DIFFPY_VERSION_MICRO}")
32
- math(EXPR DIFFPY_VERSION "${DIFFPY_VERSION_MAJOR} * 1000000000 + ${DIFFPY_VERSION_MINOR} * 1000000 + ${DIFFPY_VERSION_MICRO} * 1000")
33
- set(DIFFPY_VERSION "${DIFFPY_VERSION}LL")
34
- find_package(Git REQUIRED)
35
- execute_process(
36
- COMMAND "${GIT_EXECUTABLE}" -C "${LIBDIFFPY_SOURCE_DIR}" log -1 "--format=%H;%ci"
37
- OUTPUT_VARIABLE LIBDIFFPY_COMMIT_INFO
38
- OUTPUT_STRIP_TRAILING_WHITESPACE
39
- COMMAND_ERROR_IS_FATAL ANY
40
- )
41
- list(GET LIBDIFFPY_COMMIT_INFO 0 DIFFPY_GIT_SHA)
42
- list(GET LIBDIFFPY_COMMIT_INFO 1 DIFFPY_VERSION_DATE)
43
- configure_file("${LIBDIFFPY_SOURCE_DIR}/src/diffpy/version.tpl"
44
- "${LIBDIFFPY_VERSION_HEADER}")
45
- else()
46
- configure_file("${LIBDIFFPY_SDIST_VERSION_HEADER}"
47
- "${LIBDIFFPY_VERSION_HEADER}" COPYONLY)
48
- endif()
18
+ # libdiffpy resolves its version from git unless src/diffpy/version.hpp exists,
19
+ # as in its own source distribution. The srreal sdist has no git, so write that
20
+ # header here and ship it.
21
+ set(LIBDIFFPY_SDIST_VERSION_HEADER "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/version.hpp")
49
22
  if(SKBUILD_STATE STREQUAL "sdist")
50
- configure_file("${LIBDIFFPY_VERSION_HEADER}"
51
- "${LIBDIFFPY_SDIST_VERSION_HEADER}" COPYONLY)
23
+ # Refresh git checkouts; preserve the header when repacking an sdist.
24
+ if(EXISTS "${LIBDIFFPY_SOURCE_DIR}/.git" OR
25
+ NOT EXISTS "${LIBDIFFPY_SDIST_VERSION_HEADER}")
26
+ include("${LIBDIFFPY_SOURCE_DIR}/cmake/LibdiffpyVersion.cmake")
27
+ libdiffpy_resolve_version()
28
+ libdiffpy_write_version_header(
29
+ "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/version.tpl"
30
+ "${LIBDIFFPY_SDIST_VERSION_HEADER}")
31
+ endif()
52
32
  return()
53
33
  endif()
34
+ # A header left over from a local sdist build would freeze the git checkout's
35
+ # version, so remove it.
36
+ if(EXISTS "${LIBDIFFPY_SOURCE_DIR}/.git" AND EXISTS "${LIBDIFFPY_SDIST_VERSION_HEADER}")
37
+ message(STATUS "Removing stale ${LIBDIFFPY_SDIST_VERSION_HEADER}")
38
+ file(REMOVE "${LIBDIFFPY_SDIST_VERSION_HEADER}")
39
+ endif()
54
40
  enable_language(CXX)
55
41
 
56
42
  # Conda is optional; system packages and CMAKE_PREFIX_PATH work as well.
@@ -95,40 +81,30 @@ if(DEFINED _srreal_saved_suffixes)
95
81
  endforeach()
96
82
  endif()
97
83
 
98
- set(DIFFPY_HAS_OBJCRYST 0)
99
- configure_file("${LIBDIFFPY_SOURCE_DIR}/src/diffpy/features.tpl"
100
- "include/diffpy/features.hpp")
101
-
102
- file(GLOB LIBDIFFPY_SOURCES CONFIGURE_DEPENDS
103
- "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/*.cpp"
104
- "${LIBDIFFPY_SOURCE_DIR}/src/diffpy/srreal/*.cpp"
105
- )
84
+ # Embed libdiffpy as an OBJECT library: every object is linked, so its static
85
+ # factory/serialization registrars are kept.
86
+ set(LIBDIFFPY_BUILD_OBJECT_LIB ON)
87
+ set(LIBDIFFPY_INSTALL OFF)
106
88
  # ObjCryst conversion uses the public Python API, so it does not depend on
107
89
  # pyobjcryst's private static library, compiler, REAL precision, or nanobind ABI.
108
- list(FILTER LIBDIFFPY_SOURCES EXCLUDE REGEX "ObjCryst")
109
- # Include every object: libdiffpy has static factory/serialization registrars
110
- # that an ordinary static archive link can otherwise discard.
111
- add_library(diffpy_core OBJECT ${LIBDIFFPY_SOURCES})
112
- set_target_properties(diffpy_core PROPERTIES
90
+ set(LIBDIFFPY_ENABLE_OBJCRYST OFF)
91
+ set(LIBDIFFPY_BUILD_TESTS OFF)
92
+ # Runtime data installs next to the extension, in diffpy/srreal/data.
93
+ set(LIBDIFFPY_RUNTIME_RELPATH data)
94
+ add_subdirectory("${LIBDIFFPY_SOURCE_DIR}" libdiffpy EXCLUDE_FROM_ALL)
95
+ set_target_properties(diffpy PROPERTIES
113
96
  POSITION_INDEPENDENT_CODE ON
114
97
  CXX_VISIBILITY_PRESET hidden
115
98
  VISIBILITY_INLINES_HIDDEN ON
116
99
  )
117
- target_include_directories(diffpy_core PUBLIC
118
- "${CMAKE_CURRENT_BINARY_DIR}/include"
119
- "${LIBDIFFPY_SOURCE_DIR}/src"
120
- )
121
- target_compile_definitions(diffpy_core PRIVATE DIFFPYRUNTIMERELPATH=data)
122
- if(WIN32)
123
- # libdiffpy and its Python wrappers are compiled into the same extension.
124
- target_compile_definitions(diffpy_core PUBLIC BUILD_DLL _USE_MATH_DEFINES NOMINMAX)
125
- endif()
126
- target_link_libraries(diffpy_core PUBLIC Boost::serialization GSL::gsl GSL::gslcblas ${CMAKE_DL_LIBS})
127
100
 
128
101
  file(GLOB SRREAL_SOURCES CONFIGURE_DEPENDS "src/extensions/*.cpp")
129
102
  # Retain CPython-specific wheels; stable-ABI packaging is a separate change.
130
103
  nanobind_add_module(srreal_ext NB_STATIC ${SRREAL_SOURCES})
131
- target_link_libraries(srreal_ext PRIVATE diffpy_core)
104
+ target_link_libraries(srreal_ext PRIVATE libdiffpy::diffpy)
105
+ if(WIN32)
106
+ target_compile_definitions(srreal_ext PRIVATE NOMINMAX)
107
+ endif()
132
108
  set_target_properties(srreal_ext PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
133
109
  install(TARGETS srreal_ext LIBRARY DESTINATION diffpy/srreal)
134
110
  install(DIRECTORY "${LIBDIFFPY_SOURCE_DIR}/src/runtime/"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffpy.srreal
3
- Version: 1.5.0
3
+ Version: 1.5.1rc0
4
4
  Summary: Calculators for PDF, bond valence sum, and other quantities based on atom pair interaction.
5
5
  Keywords: PDF,BVS,atom,overlap,calculator,real-space
6
6
  Author-Email: Simon Billinge <sbillinge@ucsb.edu>
@@ -12,7 +12,3 @@ comment:
12
12
  require_base: false # [true :: must have a base report to post]
13
13
  require_head: false # [true :: must have a head report to post]
14
14
  hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]
15
-
16
- # SCons compiles copies of the sources in build/coverage-<arch>/, map them back to src/
17
- fixes:
18
- - "build/coverage-x86_64/::src/"
@@ -14,8 +14,8 @@ assignees: ""
14
14
  - [ ] Locally rendered documentation contains all appropriate pages and other human-written text is up-to-date with any changes in the code.
15
15
  - [ ] Installation instructions in the README, documentation, and the website are updated.
16
16
  - [ ] Grammar and writing quality are checked (no typos).
17
- - [ ] Review `FALLBACK_VERSION` in `site_scons/fallback_version.py` for builds without a resolvable release tag.
18
- - [ ] `scons test` passes locally with the latest conda-forge compilers and dependencies.
17
+ - [ ] Review `LIBDIFFPY_FALLBACK_VERSION` in `cmake/FallbackVersion.cmake` for builds without a resolvable release tag.
18
+ - [ ] The unit tests pass locally (`cmake --preset debug`, `cmake --build --preset debug`, `ctest --preset debug`) with the latest conda-forge compilers and dependencies.
19
19
  - [ ] Dispatch matrix testing to test the release on all systems. If you do not have permission to run this workflow, tag the maintainer and say `@maintainer, please dispatch matrix testing workflow`. Matrix testing also runs automatically after a GitHub release is published, but it does not block the release, so check that it passes.
20
20
 
21
21
  Please tag the maintainer (e.g., @username) in the comment here when you are ready for the GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here:
@@ -7,13 +7,6 @@ runs:
7
7
  shell: bash
8
8
  run: git fetch --tags https://github.com/diffpy/libdiffpy.git
9
9
 
10
- - name: Check out CxxTest 4.4
11
- uses: actions/checkout@v6
12
- with:
13
- repository: CxxTest/cxxtest
14
- ref: 191adddb3876ab389c0c856e1c03874bf70f8ee4
15
- path: build/cxxtest
16
-
17
10
  - name: Prepare C++ test configuration
18
11
  shell: python {0}
19
12
  run: |
@@ -0,0 +1,24 @@
1
+ """Write the conda environment file for the CI tests."""
2
+
3
+ import json
4
+ from pathlib import Path
5
+
6
+ requirements = ["python"]
7
+ for filename in ("build.txt", "conda.txt", "tests.txt"):
8
+ for line in (Path("requirements") / filename).read_text().splitlines():
9
+ spec = line.split("#", 1)[0].strip()
10
+ if spec:
11
+ requirements.append(spec)
12
+
13
+ Path("build").mkdir(exist_ok=True)
14
+ Path("build/test-environment.yml").write_text(
15
+ json.dumps(
16
+ {
17
+ "name": "test",
18
+ "channels": ["conda-forge"],
19
+ "dependencies": requirements,
20
+ },
21
+ indent=2,
22
+ )
23
+ + "\n"
24
+ )
@@ -27,19 +27,21 @@ jobs:
27
27
  include:
28
28
  - os: ubuntu-latest
29
29
  shell: bash -l {0}
30
- build: coverage
30
+ build-type: Debug
31
+ coverage: "ON"
31
32
  jobs: 4
32
33
  - os: windows-latest
33
34
  shell: cmd /C CALL {0}
34
- build: fast
35
35
  jobs: 4
36
36
  - os: macos-latest
37
37
  shell: bash -l {0}
38
- build: fast
38
+ build-type: Release
39
+ coverage: "OFF"
39
40
  jobs: 2
40
41
  - os: macos-15-intel
41
42
  shell: bash -l {0}
42
- build: fast
43
+ build-type: Release
44
+ coverage: "OFF"
43
45
  jobs: 4
44
46
  defaults:
45
47
  run:
@@ -55,13 +57,29 @@ jobs:
55
57
  uses: ./.github/actions/setup-tests
56
58
 
57
59
  - name: Build and run C++ tests
58
- run: scons -j${{ matrix.jobs }} build=${{ matrix.build }} test
60
+ if: runner.os != 'Windows'
61
+ run: |
62
+ cmake -S . -B build/ci -G Ninja $CMAKE_ARGS \
63
+ -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
64
+ -DLIBDIFFPY_COVERAGE=${{ matrix.coverage }} \
65
+ -DLIBDIFFPY_BUILD_TESTS=ON
66
+ cmake --build build/ci --parallel ${{ matrix.jobs }}
67
+ ctest --test-dir build/ci --output-on-failure
68
+
69
+ # The conda cxx-compiler activation configures MSVC for Ninja in cmd.
70
+ - name: Build and run C++ tests (Windows)
71
+ if: runner.os == 'Windows'
72
+ run: |
73
+ where cl.exe || exit /b 1
74
+ cmake --preset release -DLIBDIFFPY_BUILD_TESTS=ON || exit /b 1
75
+ cmake --build --preset release --parallel ${{ matrix.jobs }} || exit /b 1
76
+ ctest --test-dir build\release --output-on-failure --no-tests=error
59
77
 
60
78
  - name: Generate coverage report
61
79
  if: runner.os == 'Linux'
62
80
  run: >-
63
81
  gcovr --gcov-executable "$CONDA_PREFIX/bin/gcov"
64
- --root . --filter 'build/coverage-.*/diffpy/'
82
+ --root . --filter 'src/diffpy/'
65
83
  --xml coverage.xml
66
84
 
67
85
  - name: Save coverage report
@@ -27,12 +27,15 @@ jobs:
27
27
  - name: Build and run C++ tests with coverage
28
28
  run: |
29
29
  "$CONDA_PREFIX/bin/c++" --version
30
- scons -j4 build=coverage test
30
+ cmake --preset coverage $CMAKE_ARGS \
31
+ -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu
32
+ cmake --build --preset coverage --parallel 4
33
+ ctest --preset coverage
31
34
 
32
35
  - name: Generate coverage report
33
36
  run: >-
34
37
  gcovr --gcov-executable "$CONDA_PREFIX/bin/gcov"
35
- --root . --filter 'build/coverage-.*/diffpy/'
38
+ --root . --filter 'src/diffpy/'
36
39
  --xml coverage.xml
37
40
 
38
41
  - name: Upload coverage to Codecov
@@ -19,11 +19,8 @@ __pycache__/
19
19
  *.la
20
20
  *.a
21
21
 
22
- # SCons build files
23
- .sconf_temp/
24
- .sconsign.dblite
25
- /sconscript.local
26
- /sconsvars.py
22
+ # CMake user settings
23
+ /CMakeUserPresets.json
27
24
  .gdb_history
28
25
  tags
29
26
 
@@ -9,10 +9,9 @@ ci:
9
9
  autoupdate_schedule: monthly
10
10
  skip: [no-commit-to-branch]
11
11
  submodules: false
12
- # Leave the vendored CxxTest SCons tool and the data tables untouched.
12
+ # Leave the data tables untouched.
13
13
  exclude: |
14
14
  (?x)^(
15
- site_scons/site_tools/cxxtest\.py|
16
15
  .*\.(cif|dat)
17
16
  )$
18
17
  repos:
@@ -4,6 +4,9 @@ build:
4
4
  os: "ubuntu-22.04"
5
5
  tools:
6
6
  python: "latest"
7
+ # cmake resolves the documentation version from git tags.
8
+ apt_packages:
9
+ - cmake
7
10
 
8
11
  python:
9
12
  install: