Metadata-Version: 2.4
Name: ductile-loads
Version: 1.1.0
Summary: Loads processing tool for structural analysis — certified under DQMS
Author: Alex Pradas
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.13
Requires-Dist: pydantic
Provides-Extra: all
Requires-Dist: matplotlib; extra == 'all'
Requires-Dist: rich; extra == 'all'
Provides-Extra: charts
Requires-Dist: matplotlib; extra == 'charts'
Provides-Extra: display
Requires-Dist: rich; extra == 'display'
Provides-Extra: docs
Requires-Dist: mkdocs-llmstxt; extra == 'docs'
Requires-Dist: mkdocs-material; extra == 'docs'
Requires-Dist: mkdocs<2; extra == 'docs'
Description-Content-Type: text/markdown

# ductile-loads

Loads processing tool for structural analysis, certified under the Design Quality Management System (DQMS).

This is a sample tool as part of the DUCTILE agentic orchestration paper. See the [DUCTILE repository](https://github.com/alex-pradas/DUCTILE) or the paper (DOI: TBD) for context.

## Documentation

Full documentation: [alex-pradas.github.io/ductile-loads](https://alex-pradas.github.io/ductile-loads)

## Install

```bash
uv add ductile-loads
```

With optional display/chart features:

```bash
uv add ductile-loads[all]
```

## Quick Start

```python
from ductile_loads import LoadSet

# Load data
ls = LoadSet.read_json("supplier_forces.json")

# Convert units
ls = ls.convert_to("N")

# Envelope (downselect critical load cases)
ls_env = ls.envelope()

# Export to ANSYS
ls_env.to_ansys(folder_path="design_loads", name_stem="design_load")

# Get extremes
extremes = ls_env.get_point_extremes(output="envelope_extremes.json")
```

## License

MIT
