PyPIELM
A Unified and Reproducible Framework for Physics-Informed Extreme Learning Machines
Overview
PyPIELM is an open-source PyTorch-native library that provides a unified implementation of 26+ Physics-Informed Extreme Learning Machine (PIELM) variants alongside PINN baselines for solving partial differential equations (PDEs). It exposes a scikit-learn-style fit / predict / score API so that any PIELM or PINN variant can be used in three lines of code.
Key Features
| Feature | Detail |
|---|---|
| 26+ PIELM variants | VanillaPIELM, BayesianPIELM, GFF-PIELM, DPIELM, LocELM, CurriculumPIELM, NullSpacePIELM, … |
| PINN baselines | VanillaPINN, AdaptivePINN, FourierPINN, MuonPINN |
| Data adapters | CSV, NPZ, PINNacle .dat, PDEBench HDF5, torch.utils.data.Dataset |
| PDE operators | Autograd Laplacian/gradient, analytic fast paths for tanh/sin, BCs/ICs |
| Reproducibility | YAML experiment configs, CLI, deterministic seeding |
| Export | ONNX, TorchScript |
| Visualisation | 1D/2D solution plots, error maps, Pareto fronts, leaderboard heatmaps |
Installation
pip install pypielm # core only
pip install "pypielm[viz]" # + matplotlib
pip install "pypielm[viz,bench]" # + memory profiling
pip install "pypielm[dev]" # full dev environment
From source:
git clone https://github.com/KStruniawski/pypielm.git
cd pypielm
pip install -e ".[dev]"
Quickstart
import pypielm
from pypielm.data import auto_load
from pypielm.models import CorePIELM
from pypielm.pde.operators import AnalyticLaplacian
# Load data (CSV, NPZ, PINNacle .dat, …)
ds = auto_load("data/poisson_classic.dat", source="pinnacle")
# Train model
model = CorePIELM(hidden_dim=300, ridge_lambda=1e-8)
model.fit(ds, pde_operator=AnalyticLaplacian())
# Evaluate
print(model.score(ds.X_test, ds.y_test)) # relative L² error
Documentation
Full API reference and tutorials: pypielm.readthedocs.io
Citation
If you use PyPIELM in your research, please cite:
@software{struniawski2026pypielm,
author = {Struniawski, Karol},
title = {{PyPIELM}: A Unified and Reproducible Framework for
Physics-Informed Extreme Learning Machines},
year = {2026},
url = {https://github.com/KStruniawski/pypielm},
}
Related
- PyPIELM App — Streamlit web UI for training, benchmarking and exporting models: github.com/KStruniawski/pypielm-app
License
CC BY-NC-ND 4.0 © Karol Struniawski
Metadata
Release files for pypielm 0.1.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 | |
|---|---|---|---|
| pypielm-0.1.0.tar.gz | 231.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypielm-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 318.4 kB
Release files / pypielm-0.1.0.tar.gz
| Download URL | pypielm-0.1.0.tar.gz |
|---|---|
| Size | 231.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01235f0f3cc30769488475f30b7bd28073619af8f252cc4c2bc4d3ab5d1b0432
|
|
BLAKE2b-256 checksum How to use checksums |
d6c132ec4b67091b9556252e6b246304692dd0bc79070e7e5e95de4142846621
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0
|
Release files / pypielm-0.1.0-py3-none-any.whl
| Download URL | pypielm-0.1.0-py3-none-any.whl |
|---|---|
| Size | 87.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2efae8ff29fad2907bbf03ef7b608b2f129483eb9b29758fe3f94f3392eb65e5
|
|
BLAKE2b-256 checksum How to use checksums |
3b322d3657d449a01cd136836b05928caba57d1dc0ac6d7a5eb411186073b181
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0
|