Repository: libAtoms/QUIP (language: python)

Issue:
Python 3.12 support
I am wondering if there is a chance for a Python 3.12 version. 


Discussion / hints:
Yup, we'd be happy to support this. Would you be willing to make a PR changing the wheel building script?
https://github.com/libAtoms/QUIP/blob/public/.github/workflows/build-wheels.yml

Once this works I'll be happy to tag a new release to PyPI.
Most likely just needs a version bump of cibuildwheel [here](https://github.com/libAtoms/QUIP/blob/public/.github/workflows/build-wheels.yml#L27)

Fix patch:
diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml
index b9a2bc7fa..f4bc089d7 100644
--- a/.github/workflows/build-wheels.yml
+++ b/.github/workflows/build-wheels.yml
@@ -24,7 +24,7 @@ jobs:
         with:
           python-version: '3.x'
       - name: Install cibuildwheel
-        run: python -m pip install cibuildwheel==2.9.0
+        run: python -m pip install cibuildwheel==2.19.1
      
       - name: Build wheels
         run: |
diff --git a/quippy/Makefile b/quippy/Makefile
index 1be91e152..41968c538 100644
--- a/quippy/Makefile
+++ b/quippy/Makefile
@@ -86,7 +86,7 @@ F2PY_LINK_ARGS = $(shell ${PYTHON} -c 'import sys; print(" ".join([arg for arg i
 all: build
 
 f90wrap:
-	${PIP} install ${QUIPPY_INSTALL_OPTS} "f90wrap>=0.2.6"
+	${PIP} install ${QUIPPY_INSTALL_OPTS} "f90wrap>=0.2.6,<0.2.14"
 
 clean:
 	rm -f _quippy${EXT_SUFFIX} ${F90WRAP_FILES} ${WRAP_FPP_FILES}
diff --git a/quippy/setup.py b/quippy/setup.py
index 1df87ec9c..26da8441c 100644
--- a/quippy/setup.py
+++ b/quippy/setup.py
@@ -90,7 +90,7 @@ def build_extension(self, ext):
         'Programming Language :: Python :: 3.9',
     ],
     url='https://github.com/libAtoms/QUIP',
-    install_requires=['numpy>=1.13', 'f90wrap>=0.2.6', 'ase>=3.17.0'],
+    install_requires=['numpy>=1.13,<2', 'f90wrap>=0.2.6', 'ase>=3.17.0'],
     python_requires=">=3.6",
     packages=['quippy'],
     package_data={'quippy': package_data_files},


Test patch:
diff --git a/tests/test_gappot.py b/tests/test_gappot.py
index 6761cfcdb..9740090d1 100644
--- a/tests/test_gappot.py
+++ b/tests/test_gappot.py
@@ -36,7 +36,7 @@ def setUp(self):
 
         self.f = np.zeros((3, len(self.at)), order='F')
 
-        self.energy_ref = self.at_orig.info['energy']
+        self.energy_ref = self.at_orig.get_potential_energy()
         self.forces_ref = self.at_orig.arrays['force']
 
         self.at.calc = self.pot_calculator