PME-toolkit (Python)
Python implementation of PME-toolkit for design-space dimensionality reduction in parametric shape optimization.
Supports:
- PME (Parametric Model Embedding)
- PI-PME (Physics-Informed PME)
- PD-PME (Physics-Driven PME)
- analytical backmapping to original design variables
Overview
The Python package provides a fully functional implementation of PME-based workflows using a JSON-driven interface for reproducible studies.
It is aligned with the MATLAB implementation and validated through cross-language regression tests.
Installation
From PyPI
pip install pme-toolkit
From source (development mode)
pip install -e python/
Command-line interface
Run a PME case:
pme-run tests/cases/test_glider.json
Run backmapping:
pme-back tests/cases/test_glider_back.json
The CLI:
- parses the JSON configuration
- executes the PME workflow
- writes outputs to the specified
outdir - ensures consistency with MATLAB results
Programmatic usage
Example:
from pme_toolkit.model import fit_from_case
model = fit_from_case("tests/cases/test_glider.json")
print(model.nconf)
print(model.alpha_train.shape)
Repository integration
The Python implementation is part of the full PME-toolkit repository:
- shared JSON configuration format
- shared datasets
- shared benchmark definitions
- validated against MATLAB through regression testing
Testing
From repository root:
pytest tests/python -q
Test suite covers:
- configuration loading
- PME workflows
- backmapping
- regression against MATLAB reference
Datasets
-
lightweight test dataset:
tests/data/
-
benchmark datasets:
databases/
Status
The Python implementation is fully functional for PME, PI-PME, and PD-PME within the current scope.
It is actively maintained and serves as a production-ready interface for reproducible PME workflows.
Release files for pme-toolkit 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pme_toolkit-1.2.0.tar.gz | 31.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pme_toolkit-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.3 kB
Release files / pme_toolkit-1.2.0.tar.gz
| Download URL | pme_toolkit-1.2.0.tar.gz |
|---|---|
| Size | 31.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a8bf1df9f31f11bc8704e5bc1d17a1dbc25879785fa9783dae3c337ea64cb23
|
|
BLAKE2b-256 checksum How to use checksums |
0ec4c3a789d77e074a10b3026cf706ef8fd68a26aaf4d98ade85ec4b3c370e50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / pme_toolkit-1.2.0-py3-none-any.whl
| Download URL | pme_toolkit-1.2.0-py3-none-any.whl |
|---|---|
| Size | 36.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
80b350979e45729dcad6340bff6bc56f459f11ac7f3bc750328307da9702337f
|
|
BLAKE2b-256 checksum How to use checksums |
c86ff34a7888bb38f1f8c41f786b74a857550610badd32f2427c5a5a42946aa7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|