Python toolkit for LLM-based geotechnical engineering agents — 37 analysis modules covering foundations, piles, slopes, seismic, FEM, PDF/DXF import, and more
Project description
GeotechStaffEngineer
Python toolkit for LLM-based geotechnical engineering agents. 35 analysis modules covering foundations, piles, slopes, seismic analysis, ground improvement, FEM, and more.
Installation
# Core package (numpy + scipy + geotech-references)
pip install geotech-staff-engineer
# With all optional agent libraries
pip install geotech-staff-engineer[full]
# Or install individual extras
pip install geotech-staff-engineer[plot,groundhog,opensees]
Quick Start
from bearing_capacity import Footing, SoilLayer, BearingSoilProfile, BearingCapacityAnalysis
footing = Footing(width=2.0, length=10.0, depth=1.5, shape="strip")
layer = SoilLayer(friction_angle=30.0, cohesion=10.0, unit_weight=18.0, thickness=10.0)
profile = BearingSoilProfile(layer1=layer, gwt_depth=5.0)
analysis = BearingCapacityAnalysis(footing=footing, soil=profile)
result = analysis.compute()
print(result.summary())
Modules
All units are SI (meters, kPa, kN, degrees). Every module returns dataclasses with .summary() and .to_dict() methods for easy LLM integration.
Core Analysis (20 modules)
| Module | Purpose |
|---|---|
bearing_capacity |
Shallow foundations — Vesic, Meyerhof, Hansen |
settlement |
Consolidation and immediate settlement |
axial_pile |
Driven pile capacity — Nordlund, Tomlinson, Beta |
sheet_pile |
Cantilever and anchored sheet pile walls |
soe |
Support of excavation — braced/cantilever walls, stability, ground anchors |
lateral_pile |
Lateral pile analysis — COM624P, 8 p-y models |
pile_group |
Rigid-cap pile groups — 6-DOF, efficiency factors |
wave_equation |
Smith 1-D wave equation — bearing graph, drivability |
drilled_shaft |
Drilled shaft capacity — GEC-10 alpha/beta/rock socket |
seismic_geotech |
Site classification, M-O pressures, liquefaction |
retaining_walls |
Cantilever and MSE retaining walls |
ground_improvement |
Aggregate piers, wick drains, vibro-compaction |
slope_stability |
Fellenius, Bishop, Spencer — circular slip, soil nails |
downdrag |
Neutral plane method, dragload estimation |
geotech_common |
Shared soil profile, adapters, plotting utilities |
calc_package |
Calculation package report generation |
subsurface_characterization |
DIGGS parser, Plotly visualizations, trend stats |
wind_loads |
ASCE 7-22 wind on freestanding walls and fences |
dxf_import |
DXF CAD import for slope stability geometry |
fem2d |
2D plane-strain FEM — CST/Q4/beam, MC/HS, SRM, seepage, consolidation |
Library Wrapper Agents (15 modules)
Each agent wraps a third-party geotechnical library with a dict-based API for LLM tool use.
| Module | Library | Purpose |
|---|---|---|
opensees_agent |
OpenSeesPy | PM4Sand cyclic DSS, BNWF pile, 1D site response |
pystrata_agent |
pystrata | 1D equivalent-linear site response |
seismic_signals_agent |
eqsig + pyrotd | Earthquake signal processing |
liquepy_agent |
liquepy | CPT-based liquefaction triggering |
pygef_agent |
pygef | GEF/BRO-XML CPT and borehole parsing |
hvsrpy_agent |
hvsrpy | HVSR site characterization |
gstools_agent |
gstools | Geostatistical kriging and random fields |
ags4_agent |
python-ags4 | AGS4 data format reading and validation |
salib_agent |
SALib | Sobol and Morris sensitivity analysis |
pyseismosoil_agent |
PySeismoSoil | Nonlinear soil curve calibration |
swprocess_agent |
swprocess | MASW surface wave dispersion |
geolysis_agent |
geolysis | Soil classification and SPT corrections |
pystra_agent |
pystra | FORM/SORM/Monte Carlo reliability |
pydiggs_agent |
pydiggs | DIGGS 2.6 XML validation |
groundhog_agent |
groundhog | Site investigation and soil mechanics |
GUIs
Interactive browser-based GUIs built with Plotly Dash:
| GUI | Command | Purpose |
|---|---|---|
slope_stability_gui.py |
python slope_stability_gui.py |
Slope stability analysis with live preview |
fem2d_gui.py |
python fem2d_gui.py |
2D FEM analysis — gravity, foundation, SRM, excavation, seepage, consolidation |
Requires pip install geotech-staff-engineer[gui] for Dash and Plotly dependencies.
Optional Extras
| Extra | Libraries |
|---|---|
plot |
matplotlib |
calc |
jinja2 |
groundhog |
groundhog |
opensees |
openseespy |
pystrata |
pystrata |
seismic-signals |
eqsig, pyrotd |
liquepy |
liquepy |
pygef |
pygef |
hvsrpy |
hvsrpy |
gstools |
gstools |
ags4 |
python-ags4 |
salib |
SALib |
pyseismosoil |
PySeismoSoil |
swprocess |
swprocess |
geolysis |
geolysis |
pystra |
pystra |
pydiggs |
pydiggs |
dxf |
ezdxf |
gui |
dash, plotly |
full |
All of the above |
Related Package
geotech-references — Digitized NAVFAC DM7 and FHWA GEC reference library (installed automatically as a dependency).
License
MIT
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 geotech_staff_engineer-4.6.0.tar.gz.
File metadata
- Download URL: geotech_staff_engineer-4.6.0.tar.gz
- Upload date:
- Size: 625.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d744df300a3f5cabdabb724626598ad8aaf0868e60a959a53b92db21b2d02777
|
|
| MD5 |
b4a8b6953d2a3167a34e0c359d55792a
|
|
| BLAKE2b-256 |
bc8658ec0aeb61f0e649c68506a58f43876af87e773ecd43c641ae40fa3deaa4
|
Provenance
The following attestation bundles were made for geotech_staff_engineer-4.6.0.tar.gz:
Publisher:
publish.yml on soconnell345-geotech/GeotechStaffEngineer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geotech_staff_engineer-4.6.0.tar.gz -
Subject digest:
d744df300a3f5cabdabb724626598ad8aaf0868e60a959a53b92db21b2d02777 - Sigstore transparency entry: 1259026762
- Sigstore integration time:
-
Permalink:
soconnell345-geotech/GeotechStaffEngineer@ea412d81996d3e5fe7bf6c0178bea56c8160ecb3 -
Branch / Tag:
refs/tags/v4.6.0 - Owner: https://github.com/soconnell345-geotech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea412d81996d3e5fe7bf6c0178bea56c8160ecb3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geotech_staff_engineer-4.6.0-py3-none-any.whl.
File metadata
- Download URL: geotech_staff_engineer-4.6.0-py3-none-any.whl
- Upload date:
- Size: 765.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dfa22affb603cc1dca9327be0c2eab3d77d4be0587cb67246b367130ad95dc7
|
|
| MD5 |
b08bf9b3325e620559616e575d16deeb
|
|
| BLAKE2b-256 |
c00f941fbe9a83f98196255cc425a6a7ac361595e4f2be76b7b6b9fb8f3468ec
|
Provenance
The following attestation bundles were made for geotech_staff_engineer-4.6.0-py3-none-any.whl:
Publisher:
publish.yml on soconnell345-geotech/GeotechStaffEngineer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geotech_staff_engineer-4.6.0-py3-none-any.whl -
Subject digest:
9dfa22affb603cc1dca9327be0c2eab3d77d4be0587cb67246b367130ad95dc7 - Sigstore transparency entry: 1259026806
- Sigstore integration time:
-
Permalink:
soconnell345-geotech/GeotechStaffEngineer@ea412d81996d3e5fe7bf6c0178bea56c8160ecb3 -
Branch / Tag:
refs/tags/v4.6.0 - Owner: https://github.com/soconnell345-geotech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea412d81996d3e5fe7bf6c0178bea56c8160ecb3 -
Trigger Event:
push
-
Statement type: