Skip to main content

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 How it works


Example manual entries


Example with import dxf using sectionproperties library

Docs

You can use the following documentation for initial understanding of library's capabilities:

Ask DeepWiki

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)
  • 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 computations
  • handcalcs — LaTeX formula rendering
  • pint — unit handling
  • sectionproperties (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

steelbeam-0.1.0.tar.gz (618.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

steelbeam-0.1.0-py3-none-any.whl (620.5 kB view details)

Uploaded Python 3

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

Hashes for steelbeam-0.1.0.tar.gz
Algorithm Hash digest
SHA256 902fd47ce25734e193a9d9fd48d793b0eed39ff866c69dfc386596b8a1b9e5ea
MD5 ae224ca3e8b87d97f9e095e749bdfbd2
BLAKE2b-256 a79fb62d1019c323e8bde6ad5e3ff4dce0eb8315bdf614088e41c85b68c40c31

See more details on using hashes here.

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

Hashes for steelbeam-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e083a933b62e075950c128efda141f8a87fe93200cc924a6e4a0603db08e64b2
MD5 1f4e0a2f206558038bc2194dffcf9afa
BLAKE2b-256 83e67807e1c48efd5f557b4e0573fe1c62be596b0cf39c354fbac21245128f89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page