GitPedia

StructPy

Structural Analysis Library for Python based on the direct stiffness method

From BrianChevalier·Updated May 25, 2026·View on GitHub·

This library primarily uses the 'Direct Stiffness Method' to solve trusses and frames. The project is written primarily in Python, distributed under the MIT License license, first published in 2018. Key topics include: civil-engineering, structural-analysis, structural-engineering.

<p align="center"> <img src="Logo.svg" alt="Project Logo"> </p> <h1 align="center">Structural Analysis in Python</h1> <p align="center"> <img src="https://travis-ci.org/BrianChevalier/StructPy.svg?branch=master" alt="Build Status Badge"> <img src="https://img.shields.io/badge/python-3.6-brightgreen.svg" alt="Compatibility badge"> <img src="https://img.shields.io/npm/l/express.svg" alt="MIT License Badge"> </p>

This library primarily uses the 'Direct Stiffness Method' to solve trusses and frames.

Getting StructPy

  • StructPy is not currently available through pip, but will be in the future. To use StructPy you need to manually install it with the development instructions below.

Cross Sections Library:

  • General shapes with user defined properties
  • Custom shapes generated by user defined parameters
    • I-Beam
    • Rectangle
    • Circle
    • Hollow Circle
  • AISC predefined cross sections and properties

Material Database

  • A992, A36, custom, etc...

Structural Analysis Classes to build structures

  • Node class
  • Member class
  • Structure class
    • Truss solving method and deformation plot

Development & Testing

Fork StructPy on github, and clone to your local machine with:

bash
git clone git@github.com:{your_username}/StructPy.git

You can modify then test StructPy on your local Mac/Linux machine by running the following from the StructPy directory.

bash
bash run_tests.sh

To install StructPy as a package run:

bash
python3 setup.py install

References:

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from BrianChevalier/StructPy via the GitHub API.Last fetched: 6/27/2026