Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

structuralengineering-0.0.3.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

structuralengineering-0.0.3-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

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

Hashes for structuralengineering-0.0.3.tar.gz
Algorithm Hash digest
SHA256 faed24ad50e6f081fd9bc5126f8e827cdd85ff1e534eef6f64e4fa602c674763
MD5 1ea499431dc771d8043ea7c8b895f7e9
BLAKE2b-256 7c1bb53b28372a8e89ad2d5bdfaab129cb7fd3fa76ca2cbb02668098e418fbe3

See more details on using hashes here.

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

Hashes for structuralengineering-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 95f2b27f541b823761ff933adb19e1375ec3b9ce14e529870b9e0607a519158c
MD5 4a9966b977f4798c90ad9a16d3244627
BLAKE2b-256 c02f7c825d728b5979edac299282aa6a64012bfa36e522dbedb0c8370515095a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page