IS 456 RC Beam Design Library (flexure, shear, ductile detailing, DXF export for RC beams)
Project description
structural-lib-is456
IS 456 RC Beam Design Library (Python package).
Version: 0.21.0 (development preview)
Status:
⚠️ Development Preview: APIs may change until v1.0. For reproducible results, pin to a release tag.
For full project overview and usage examples, see the repository root README.md.
Install
# Recommended (pinned to release tag)
pip install "structural-lib-is456 @ git+https://github.com/Pravin-surawase/structural_engineering_lib.git@v0.21.0#subdirectory=Python"
# With DXF support (pinned)
pip install "structural-lib-is456[dxf] @ git+https://github.com/Pravin-surawase/structural_engineering_lib.git@v0.21.0#subdirectory=Python"
# PyPI (latest — may differ from pinned tag)
pip install structural-lib-is456
# PyPI with DXF support
pip install "structural-lib-is456[dxf]"
Extras
dxf: DXF export support (ezdxf)render: planned DXF render to PNG/PDF (matplotlib) — not implemented yetdev: tooling for tests/formatting/linting
Quick Start: CLI Usage
The library provides a unified command-line interface:
# Run beam design from CSV input
python -m structural_lib design input.csv -o results.json
# Generate bar bending schedule
python -m structural_lib bbs results.json -o bbs.csv
# Generate DXF drawings (requires ezdxf)
python -m structural_lib dxf results.json -o drawings.dxf
# Run complete job from specification
python -m structural_lib job job.json -o output/
# Critical set + report from job outputs
python -m structural_lib critical output/ --top 10 --format=csv -o critical.csv
python -m structural_lib report output/ --format=html -o report.html
The HTML report includes a cross-section SVG, input sanity heatmap, stability scorecard, and units sentinel.
You can also generate reports directly from design_results.json:
python -m structural_lib report results.json --format=html -o report/ --batch-threshold 80
Run python -m structural_lib --help for more options.
Insights export (v0.13.0+)
python -m structural_lib design input.csv -o results.json --insights
# Writes: results.json + <output_stem>_insights.json
Note: CLI insights currently export precheck + sensitivity + robustness; constructability may be null until CLI integration is completed.
Quick Start: Python API
from structural_lib import flexure, shear, api
# Single beam design
result = flexure.design_singly_reinforced(
b=230, d=450, d_total=500, mu_knm=100, fck=25, fy=500
)
print(f"Ast required: {result.ast_required:.0f} mm²")
# Multi-case compliance check
report = api.check_beam_is456(
units="IS456",
b_mm=230, D_mm=500, d_mm=450,
fck_nmm2=25, fy_nmm2=500,
cases=[{"case_id": "ULS-1", "mu_knm": 100, "vu_kn": 80}]
)
print(f"Governing case: {report.governing_case_id}")
New in v0.21.0
- NSGA-II Multi-Objective Pareto Optimization:
optimize_pareto_front()for multi-objective beam optimization with IS 456 clause references. - API Contract Testing:
check_api.py --signaturesfor preventing API mismatches. - Enhanced Cost Optimizer UI: Interactive Pareto visualization with WHY explanations.
New in v0.21.0
- Library-first API wrappers:
validate_*,compute_detailing,compute_bbs,export_bbs,compute_dxf,compute_report,compute_critical. - New CLI helpers:
validatefor schema checks anddetailfor detailing JSON export. - DXF/BBS quality gates: mark consistency checks + DXF content tests + title block context.
- Batch packaging (V08):
reportaccepts design results JSON and supports folder output with--batch-threshold. - Golden fixtures (V09): Deterministic report outputs verified via golden-file tests.
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 structural_lib_is456-0.21.0.tar.gz.
File metadata
- Download URL: structural_lib_is456-0.21.0.tar.gz
- Upload date:
- Size: 654.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b720dc0e258bf1c27bf477e7f7b59d3199d86740db930ebd9732b27f17616860
|
|
| MD5 |
d653a9bb8ad8899a679b24fb69855dd2
|
|
| BLAKE2b-256 |
f275956433c50481f9d5399471d14c03b9080640eb3dd7b6585a1cf5d907508f
|
Provenance
The following attestation bundles were made for structural_lib_is456-0.21.0.tar.gz:
Publisher:
publish.yml on Pravin-surawase/structural_engineering_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
structural_lib_is456-0.21.0.tar.gz -
Subject digest:
b720dc0e258bf1c27bf477e7f7b59d3199d86740db930ebd9732b27f17616860 - Sigstore transparency entry: 1233009562
- Sigstore integration time:
-
Permalink:
Pravin-surawase/structural_engineering_lib@58fa56d48efb6d2967ee34b777bd8bc30bfd5e73 -
Branch / Tag:
refs/tags/v0.21.0 - Owner: https://github.com/Pravin-surawase
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@58fa56d48efb6d2967ee34b777bd8bc30bfd5e73 -
Trigger Event:
push
-
Statement type:
File details
Details for the file structural_lib_is456-0.21.0-py3-none-any.whl.
File metadata
- Download URL: structural_lib_is456-0.21.0-py3-none-any.whl
- Upload date:
- Size: 791.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88be93d65e68eecbc453795d4968cad63a7daf1fad357c91ab7577344b7be610
|
|
| MD5 |
e90e6ca1941303bae4f37a16089eef6c
|
|
| BLAKE2b-256 |
1836bd7e04ed48bce962c5c342e72457a63b1ea1b2b1dc6e6c53073df66de895
|
Provenance
The following attestation bundles were made for structural_lib_is456-0.21.0-py3-none-any.whl:
Publisher:
publish.yml on Pravin-surawase/structural_engineering_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
structural_lib_is456-0.21.0-py3-none-any.whl -
Subject digest:
88be93d65e68eecbc453795d4968cad63a7daf1fad357c91ab7577344b7be610 - Sigstore transparency entry: 1233009569
- Sigstore integration time:
-
Permalink:
Pravin-surawase/structural_engineering_lib@58fa56d48efb6d2967ee34b777bd8bc30bfd5e73 -
Branch / Tag:
refs/tags/v0.21.0 - Owner: https://github.com/Pravin-surawase
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@58fa56d48efb6d2967ee34b777bd8bc30bfd5e73 -
Trigger Event:
push
-
Statement type: