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.9, 3.10, 3.11 or 3.12 to get started.

Installing sectionproperties#

sectionproperties uses shapely to prepare the cross-section geometry and triangle 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. Finally, click is used to power the sectionproperties CLI.

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 very slow 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.

If you do not have a disk space constraint, you can use the PARDISO solver by:

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.

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

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

Warning

The “rhino” extras do not currently support python 3.12, this may only be installed for python 3.9, 3.10 and 3.11.