Skip to main content

steelbeam

A lightweight Python library for structural steel beam design and verification, with native LaTeX formula rendering and multi-code support (Eurocode, AISC, NBR).

Installation

Install with:

pip install steelbeam

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 using handcalcs library — 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)
  • Ability to use units: Use SI or Imperial units with the pint library implementation

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

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 ✔️
      • Normal force compression resistance ✔️
      • Bending moment resistance for both axis of profile ✔️
      • Shear resistance for both axis of profile ✔️
      • Combined bending and axial force resistance ✔️
      • Combined bending and shear force resistance ❌
      • Torsion ❌
      • Euler buckling ✔️
      • Compression member buckling ✔️
      • Bending with Lateral-Torsional buckling ✔️
    • AISC/AASHTO
      • Normal force tension resistance ✔️
      • Normal force compression resistance ✔️
    • 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

Changelog

See CHANGELOG.md for more information.

Desktop Application (Coming Soon)

While steelbeam is designed for interactive use in Jupyter notebooks, my aim is 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!

Metadata

Release files for steelbeam 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for steelbeam 0.2.2
File Size Uploaded
steelbeam-0.2.2.tar.gz 577.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for steelbeam 0.2.2
File Interpreter ABI Platform
steelbeam-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / steelbeam-0.2.2.tar.gz

Download URL steelbeam-0.2.2.tar.gz
Size 577.2 kB
Tags Source
SHA-256 checksum
How to use checksums
01b8dba547fcc6cc5216eecaf14398e513c97ca262274b7ea3080e90d0a5a77f
BLAKE2b-256 checksum
How to use checksums
9f6b124ecfa7d8b51e83c931380843883c8c6d33aae9e4a064bd83254151723a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release files / steelbeam-0.2.2-py3-none-any.whl

Download URL steelbeam-0.2.2-py3-none-any.whl
Size 470.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c88038ebe5c7f0fbd5088b418d4262cef1b40a24056035b9883b31042d635122
BLAKE2b-256 checksum
How to use checksums
906b237dbcd369450c2dd746e84f59d5f7d0dad7ccdaa269426c43c4ea405698
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page