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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| pme_toolkit-1.2.0.tar.gz | 31.0 kB | Without provenance | Details for pme_toolkit-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pme_toolkit-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for pme_toolkit-1.2.0-py3-none-any.whl |
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
|
Security for pme-toolkit 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.