Metadata-Version: 2.4
Name: structuralengineering
Version: 0.0.3
Summary: Open-source structural engineering primitives: schema, design checks, solver client
Project-URL: Homepage, https://gitlab.superstructur.es/structuralengineering/core
Project-URL: Repository, https://gitlab.superstructur.es/structuralengineering/core.git
Project-URL: Issues, https://gitlab.superstructur.es/structuralengineering/core/-/issues
Project-URL: Changelog, https://gitlab.superstructur.es/structuralengineering/core/-/blob/main/CHANGELOG.md
Author-email: Superstructure GbR <hello@superstructur.es>
License-Expression: Apache-2.0
Keywords: aisc,design-check,engineering,eurocode,grpc,protobuf,structural,structural engineering
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: protobuf<8.0,>=7.34
Requires-Dist: typing-extensions>=4.12
Provides-Extra: grpc
Requires-Dist: grpcio>=1.60; extra == 'grpc'
Description-Content-Type: text/markdown

# `structuralengineering` (Python)

Open-source structural engineering primitives: Protocol Buffers schema,
design-check implementations, validation layer, gRPC solver client.

Part of the [`structuralengineering` monorepo][monorepo].
See the monorepo README for the full project overview.

## Install

```bash
# 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

```python
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`](../../CHANGELOG.md) for the per-release list.

## Development

```bash
# 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`](../../LICENSE) and
[`../../NOTICE`](../../NOTICE).

[monorepo]: https://gitlab.superstructur.es/structuralengineering/core
