An approximate result can be obtained using Cantera using finite differences, much like the equilibrium sound speed example in Cantera's documentation:
For equilibrium Cp, you can take a mixture, perturb its temperature at constant pressure, equilibrate at constant temperature and pressure, find the new enthalpy, and estimate (dh/dT)_P,X=X_eq = Cp_eq.
A minimum worked example below:
In [1]: import cantera as ct
In [2]: gas = ct.Solution('gri30_highT.cti')
In [3]: gas.TPX = 298.15,200e5,'H2:2 O2:1'
In [4]: h1 = gas.enthalpy_mass
In [5]: dT = 0.01 # K
In [6]: gas.equilibrate('HP')
In [7]: Cpfrozen = gas.cp_mass
In [8]: print(Cpfrozen)
3275.657932377731
In [9]: gas.TP = gas.T+dT,gas.P
In [10]: h2frozen = gas.enthalpy_mass
In [11]: gas.equilibrate('TP')
In [12]: h2equilibrium = gas.enthalpy_mass
In [13]: Cpequilibrium = (h2equilibrium - h1)/dT
In [14]: print(Cpequilibrium)
9216.541787126356
In [15]: (h2frozen-h1)/dT
Out[15]: 3275.669037765571