IfcOpenshell is a good interface to read BIM Ifc files from different software, it is written in C++ as well as Python, however I haven't found enough documentation on IfcOpenShell for Python, Is there a good tutorial or documentation on how to read IFC files and get geometries and so on using Python Ifcopenshell module ?
http://ifcopenshell.org