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.4.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.4-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file structuralengineering-0.0.4.tar.gz.

File metadata

  • Download URL: structuralengineering-0.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 730a0ff3e51977b521f8bcafa342cf9e1c7ebbccebddfc079e48f09072f03d08
MD5 c5921c72d4026667385525f70190f1d5
BLAKE2b-256 5f321631bd6d4042780459b6d365706277bce4d150e595dd2759400b3e63028f

See more details on using hashes here.

File details

Details for the file structuralengineering-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: structuralengineering-0.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e01ae2e5e51c3b363dd2a550c0d7da85512b65aa78ff99341497476e1df7abe3
MD5 9018e086529b45bf4b982136705c55fd
BLAKE2b-256 ea0fa9839026cfa0e89b05fe228be285f9c018b38770f9de8b689ca58a7e7993

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