CadQuery
A python parametric CAD scripting framework based on OCCT
...It has several goals. Build models with scripts that are as close as possible to how you’d describe the object to a human, using a standard, already established programming language. Create parametric models that can be very easily customized by end users. Output high-quality CAD formats like STEP and AMF in addition to traditional STL. Provide a non-proprietary, plain text model format that can be edited and executed with only a web browser. The scripts use a standard programming language, Python, and thus can benefit from the associated infrastructure. ...