Metadata-Version: 2.4
Name: pyfebiopt
Version: 0.0.0
Summary: Python optimization engine for FEBio
Project-URL: Homepage, https://gitlab.com/autrera-group/pyfebiopt/
Project-URL: Documentation, https://pyfebiopt-defe5b.gitlab.io/
Project-URL: Source, https://gitlab.com/autrera-group/pyfebiopt/
Project-URL: Issues, https://gitlab.com/autrera-group/pyfebiopt/-/issues
Author-email: Andrés Utrera Soto <andres.utrera@usach.cl>
Keywords: FEBio,IFEA,Inverse Optimization
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.111.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: numpy>=2.3.5
Requires-Dist: prettytable>=3.17.0
Requires-Dist: psutil>=5.9
Requires-Dist: pyvista>=0.46.4
Requires-Dist: scipy>=1.16.3
Requires-Dist: uvicorn>=0.30.0
Requires-Dist: watchdog>=4.0.0
Provides-Extra: dev
Requires-Dist: black>=24.2; extra == 'dev'
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: mypy>=1.8; extra == 'dev'
Requires-Dist: pytest>=7.4; extra == 'dev'
Requires-Dist: python-semantic-release<10,>=9; extra == 'dev'
Requires-Dist: ruff>=0.3; extra == 'dev'
Requires-Dist: sphinx-autodoc-typehints>=3.2.0; extra == 'dev'
Requires-Dist: sphinx-rtd-theme>=3.0.2; extra == 'dev'
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == 'dev'
Description-Content-Type: text/markdown

# pyfebiopt

pyFEBiOpt wraps the FEBio solver with a more flexible toolbox. FEBio ships with
optimisation hooks, but they are intentionally narrow; this library delivers
extremely flexible inverse optimisation, multi-objective workflows, and
extensible, parallel computation that slot cleanly into existing FEBio projects.

## Highlights

- Inverse optimisation engine with reparameterisation, clean logging, monitoring,
  Jacobian helpers, FEB template bindings, and configurable runners/storage. Build
  parameter grids, run multiple cases, and keep artefacts organised with automatic
  cleanup/persistence policies.
- Post-processing via a fast binary `.xplt` reader with sliceable views for nodes,
  elements, faces, and regions (no copies until needed).
- Visualisation utilities built on `pyvista` for quick mesh/result plotting.
- Extensible design: adapters for experiment data, telemetry hooks, series export,
  and structured configuration dataclasses to keep projects reproducible. Plug in
  your own experiment loaders or monitoring sinks without changing the engine.
