Thanks for your notes.
As mentionned there is a python interface for FreeCAD. There is no need to know OpenCascade.
I didn't know verbnurbs and solvespace.
Verbnurbs is only a simple NURBS library. Solvespace seems to be more comparable to OpenCascade. I will look deeper into it.