Open-source structural engineering primitives: schema, design checks, solver client
Project description
structuralengineering (Python)
Open-source structural engineering primitives: Protocol Buffers schema, design-check implementations, validation layer, gRPC solver client.
Part of the structuralengineering monorepo.
See the monorepo README for the full project overview.
Install
# From PyPI
pip install structuralengineering
# Or from the internal GitLab Package Registry (same artefacts):
pip install --index-url https://gitlab.superstructur.es/api/v4/projects/<ID>/packages/pypi/simple \
structuralengineering
Quick start
from structuralengineering.checks.ec3.tension_member import check_tension_member
# EC3-1-1 §6.2.3(2)a — gross-section yielding
response = check_tension_member(
area=5.38e-3, # m^2
f_y=235e6, # Pa
n_ed=1.0e6, # N
gamma_m0=1.0,
)
print(response.result.status) # CheckStatus.CHECK_STATUS_PASS
print(response.n_t_rd) # 1.2643e6 N
print(response.result.utilisation) # 0.7909
Available checks
- EC3-1-1 §6.2.3(2)a — tension-member gross-section yielding
(
structuralengineering.checks.ec3.tension_member)
More checks land as the project matures. See the
CHANGELOG.md for the per-release list.
Development
# From the monorepo root:
pwsh scripts/bootstrap.ps1 # Windows
./scripts/bootstrap.sh # bash / WSL
# Or manually from this directory:
uv sync --all-extras
uv run pytest
uv run mypy src
uv run ruff check src tests
Licence
Apache License 2.0. See ../../LICENSE and
../../NOTICE.
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 structuralengineering-0.0.3.tar.gz.
File metadata
- Download URL: structuralengineering-0.0.3.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
faed24ad50e6f081fd9bc5126f8e827cdd85ff1e534eef6f64e4fa602c674763
|
|
| MD5 |
1ea499431dc771d8043ea7c8b895f7e9
|
|
| BLAKE2b-256 |
7c1bb53b28372a8e89ad2d5bdfaab129cb7fd3fa76ca2cbb02668098e418fbe3
|
File details
Details for the file structuralengineering-0.0.3-py3-none-any.whl.
File metadata
- Download URL: structuralengineering-0.0.3-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95f2b27f541b823761ff933adb19e1375ec3b9ce14e529870b9e0607a519158c
|
|
| MD5 |
4a9966b977f4798c90ad9a16d3244627
|
|
| BLAKE2b-256 |
c02f7c825d728b5979edac299282aa6a64012bfa36e522dbedb0c8370515095a
|