Lightweight Python library for structural steel beam design
Project description
steelbeam
A lightweight Python library for structural steel beam design and verification, with native LaTeX formula rendering and multi-code support (Eurocode, AISC, NBR).
💡 Coming soon: Desktop application for non-interactive usage — works side-by-side with Jupyter notebooks!
Installation
⚠️ Work in progress — package not yet on PyPI
# Clone and install locally
git clone https://github.com/yourusername/steelbeam.git
cd steelbeam
pip install -e .
Or install directly from GitHub:
pip install git+https://github.com/yourusername/steelbeam.git
You can import with:
import steelbeam as sb
Why steelbeam?
- Code-agnostic: Switch between Eurocode, AISC, and NBR with a single parameter
- Transparent calculations: Every formula is rendered in LaTeX — no black boxes
- Jupyter-native: Designed for interactive exploration in notebooks
- Multi-definition of geometry: Pre-defined databases or user definition (manual values or using sectionproperties library)
- Desktop app coming: Soon you'll be able to run calculations from a standalone executable without writing code
How it works
After importing the library, you must create an object representing the steel beam. You can select an existing standard profile from the provided databases (currently only European and American) or define a new profile with custom characteristics (manual entries or using the sectionproperties library's definition).
Example with provided database
Example manual entries
Example with import dxf using sectionproperties library
Docs
You can use the following documentation for initial understanding of library's capabilities:
List of features
- Definition of geometry with predefined databases (European or American)
- Definition of geometry with dxf import (using sectionproperties library for FEM calculation of section properties)
- List of functions already implemented for national codes design formulas:
- Eurocodes
- Normal force tension resistance :heavy_check_mark:
- Normal force compression resistance :heavy_check_mark:
- Bending moment resistance for both axis of profile :heavy_check_mark:
- Shear resistance for both axis of profile :heavy_check_mark:
- Combined bending and axial force resistance :heavy_check_mark:
- Combined bending and shear force resistance :x:
- Torsion :x:
- Euler buckling :heavy_check_mark:
- Compression member buckling :heavy_check_mark:
- Bending with Lateral-Torsional buckling :heavy_check_mark:
- AISC/AASHTO (work in progress)
- NBR (work in progress)
- Eurocodes
- Configurable partial safety factors
- All resistance functions support both calculation mode and rendered output mode using the handcalcs library
- Possibility to use unit-aware or dimensionless quantities using the pint library
Dependencies
numpy— numerical computationshandcalcs— LaTeX formula renderingpint— unit handlingsectionproperties(optional) — geometry section properties
Desktop Application (Coming Soon)
While steelbeam is designed for interactive use in Jupyter notebooks, I'm about to build also a standalone desktop application that lets you perform the same calculations without writing code.
- Point-and-click interface
- Export reports in PDF/LaTeX
- Works offline — no Jupyter required
Stay tuned for the first beta release!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file steelbeam-0.1.0.tar.gz.
File metadata
- Download URL: steelbeam-0.1.0.tar.gz
- Upload date:
- Size: 618.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
902fd47ce25734e193a9d9fd48d793b0eed39ff866c69dfc386596b8a1b9e5ea
|
|
| MD5 |
ae224ca3e8b87d97f9e095e749bdfbd2
|
|
| BLAKE2b-256 |
a79fb62d1019c323e8bde6ad5e3ff4dce0eb8315bdf614088e41c85b68c40c31
|
File details
Details for the file steelbeam-0.1.0-py3-none-any.whl.
File metadata
- Download URL: steelbeam-0.1.0-py3-none-any.whl
- Upload date:
- Size: 620.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e083a933b62e075950c128efda141f8a87fe93200cc924a6e4a0603db08e64b2
|
|
| MD5 |
1f4e0a2f206558038bc2194dffcf9afa
|
|
| BLAKE2b-256 |
83e67807e1c48efd5f557b4e0573fe1c62be596b0cf39c354fbac21245128f89
|