Installation

These instructions will get you a copy of sectionproperties up and running on your machine. You will need a working copy of python 3.11, 3.12, 3.13, or 3.14 to get started.

Installing sectionproperties

sectionproperties uses shapely to prepare the cross-section geometry and CyTriangle to efficiently generate a conforming triangular mesh. numpy and scipy are used to aid finite element computations, while matplotlib and rich are used for post-processing.

sectionproperties and all of its dependencies can be installed through the python package index:

pip install sectionproperties

Installing Numba

Numba translates a subset of Python and NumPy code into fast machine code, allowing algorithms to approach the speeds of C. The speed of several sectionproperties analysis functions have been enhanced with numba. To take advantage of this increase in performance you can install numba alongside sectionproperties with:

pip install sectionproperties[numba]

Installing PARDISO Solver

The default sparse solver used in scipy is SuperLU. It performs okay for small matrices but appears to be slower for larger matrices. The PARDISO solver is a much faster alternative (see pypardiso), but it requires the installation of the MKL library, which takes a lot of disk space. Note that this library is only available for Linux and Windows systems.

If you do not have a disk space constraint, you can install the PARDISO solver with:

pip install sectionproperties[pardiso]

Installing CAD Modules

The dependencies used to import from .dxf and .3dm (rhino) files are not included by default in the base installation. cad-to-shapely is used to import .dxf files, while rhino-shapely-interop is used to import .3dm files. Note that the rhino dependencies are not yet supported for python 3.14 and so can only be installed for 3.13 and lower.

To install sectionproperties with the above functionality, use the dxf and/or rhino options:

pip install sectionproperties[dxf]
pip install sectionproperties[rhino]