It should mostly be a matter of wrapping pyscipopt.Model.getState() in an observtion function but it is not completely straightforward as there is still caching and concatenation of features to be done.
I put a skeleton of where the code is supposed to go.
https://github.com/ds4dm/ecole_vs_gasse/blob/96f6e47981c95e3af4a06038d098a289600140ec/src/ecole_vs_gasse/observation.py#L4