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.0

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.0
File Size Uploaded
steelbeam-0.2.0.tar.gz 718.9 kB Details

Built distribution (wheel)

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

Total release size: 1.4 MB

Release files / steelbeam-0.2.0.tar.gz

Download URL steelbeam-0.2.0.tar.gz
Size 718.9 kB
Tags Source
SHA-256 checksum
How to use checksums
49916be86384cf1d02e891b979d14e71b50a378244dd7464cb935d9d1beafb2a
BLAKE2b-256 checksum
How to use checksums
eb58f3123a50392024a4e26a1a0181ef8d3420e6965508c70f8b8e2c657d039c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

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

Download URL steelbeam-0.2.0-py3-none-any.whl
Size 634.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa20e8eb60c1f6f459cbf9652ef8043687f1bb2579a7888a3a86e85f973bf527
BLAKE2b-256 checksum
How to use checksums
675cf25f625e3843996a7f77d0c008f8ce4db83cdb964e4c149323d9b5148ccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

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