Pre-release
This release is a pre-release and may not be stable for production use.
steelsnakes
A python library for structural steel. Currently supports 🇬🇧 UK, 🇪🇺 EU, 🇺🇸 US Developing 🇮🇳 IN. Considering 🇦🇺 AU / 🇳🇿 NZ, 🇯🇵 JP, 🇲🇽 MX, 🇿🇦 SA, 🇨🇳 CN, 🇨🇦 CA, 🇰🇷 KR.
Quick Start
Installation
pip install steelsnakes
Basic Usage
from steelsnakes.UK import UB, UC, PFC
# Create section objects using the designations
beam = UB("457x191x67") # Universal Beam
column = UC("305x305x137") # Universal Column
channel = PFC("430x100x64") # Parallel Flange Channel
# Access properties immediately
print(f"Beam moment of inertia: {beam.I_yy} cm⁴")
print(f"Column mass: {column.mass_per_metre} kg/m")
print(f"Channel shear center: {channel.e0} mm")
Documentation
- Installation Guide - Get started quickly
- User Guide - Comprehensive feature documentation
- Examples - Practical usage examples
- API Reference - Complete API documentation
Eurocode Classification Example
from steelsnakes.EU import (
IPE,
ElementInput,
ElementStressCase,
StressPattern,
classify_section,
)
section = IPE("IPE-750x220")
compression_result = classify_section(section=section, fy_mpa=355.0)
bending_result = classify_section(
section=section,
fy_mpa=355.0,
stress_pattern="bending-major-axis",
)
combined_result = classify_section(
fy_mpa=275.0,
custom_elements=[
ElementInput(
name="web",
kind="internal",
c_mm=360.4,
t_mm=7.7,
stress=ElementStressCase.COMBINED,
alpha=0.70,
)
],
)
print(compression_result.section_class)
print(bending_result.section_class)
print(combined_result.section_class)
stress_pattern accepts either a simple string like "compression" or "bending-major-axis", or the enum value StressPattern.MAJOR_AXIS_BENDING.
Contributing
All contributions are welcome! See the Contributing Guidelines for details.
License
This project is licensed under the GNU General Public License v2.0. See the LICENSE file for details.
Acknowledgments
- SCI (Steel Construction Institute)
- ArcelorMittal
- AISC (American Institute of Steel Construction)
- SAISC (South African Institute of Steel Construction)
Release files for steelsnakes 0.0.1a9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| steelsnakes-0.0.1a9.tar.gz | 781.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| steelsnakes-0.0.1a9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / steelsnakes-0.0.1a9.tar.gz
| Download URL | steelsnakes-0.0.1a9.tar.gz |
|---|---|
| Size | 781.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54be279bdf4c285ee2b5d845eac1e7a162445b8ca3d18de5bea9e53ca69e6219
|
|
BLAKE2b-256 checksum How to use checksums |
20da89fe7b33142647ce18075278cc1da755377c778c5f49026f1d08f752ca15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.18
|
Release files / steelsnakes-0.0.1a9-py3-none-any.whl
| Download URL | steelsnakes-0.0.1a9-py3-none-any.whl |
|---|---|
| Size | 833.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d4467cc99ec7338ea87d0365ed686809d84e101b23945334f71b75f6cfc4f61
|
|
BLAKE2b-256 checksum How to use checksums |
9b5a9f68b97059a145aa4954c33b7bf762d3cfb9783753c5d41f554b9312071c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.18
|