A Python library for reading ERF (ESI Result File) data for CAE engineers
Project description
csm-erfh5-py
A Python library for reading ERF (ESI Result File) data, designed for CAE engineers working with simulation results stored in HDF5 format.
Features
- High-level Python API for reading ERF data
- Support for multi-state result parameters
- Built on top of HDF5 (h5py) for efficient data access
- Type-annotated for better IDE support
- Designed for non-modular data structures
Installation
From PyPI (once published)
pip install csm-erfh5-py
From Source
git clone https://github.com/Keysight/csm-erfh5-py.git
cd csm-erfh5-py
pip install -e .
Development Installation
pip install -e ".[dev]"
Requirements
- Python >= 3.8
- numpy >= 1.20.0
- h5py >= 3.0.0
Quick Start
from csm_erfh5_py import ERFH5Reader, ERFH5MultiStateResultParams
# Create a reader instance
reader = ERFH5Reader("path/to/your/erf/file.erfh5")
# Read multi-state results
entity_type = "NODE"
result_name = "Translational_Acceleration"
params = ERFH5MultiStateResultParams()
results, index_values = reader.get_multi_state_result_values(entity_type, result_name, params)
Public API
Only these classes are part of the supported public API:
from csm_erfh5_py import ERFH5Reader, ERFH5MultiStateResultParams
core/ and io/ modules are internal implementation details and are not intended for direct user imports.
For more examples, see the Examples directory.
Project Structure
csm-erfh5-py/
├── src/
│ └── csm_erfh5_py/ # Python package source code
│ ├── api/ # Public API (user-facing classes)
│ ├── core/ # Internal (not part of public API)
│ └── io/ # Internal (not part of public API)
├── examples/ # Usage examples
├── docs/ # Documentation
├── pyproject.toml
└── README.md
Supported Features
✅ Reading of Results (non-modular data)
✅ Multi-state result parameters
❌ Reading of Mesh info (not supported)
❌ True Modular Data (not supported)
❌ Encryption data (not supported)
❌ Adaptive data with collectors (not supported)
❌ Unit system support (not supported)
Development
Running Tests
pytest tests/
Code Formatting
black .
Type Checking
mypy src/csm_erfh5_py/
Publishing Workflow
For PyPI publishing, use .github/workflows/publish.yml.
See SETUP_GUIDE.md for the current release flow.
Version History
- 0.1.2 - See CHANGELOG for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Authors
- Keysight Technologies
Contact
For questions or support, please open an issue on GitHub.
Security Reporting
To report product cybersecurity issues, contact:
For further details:
Acknowledgements
This library is designed to work with ERF (ESI Result File) format for CAE engineering applications.
See the full third-party dependency credits in Acknowledgements.
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 csm_erfh5_py-0.1.2.tar.gz.
File metadata
- Download URL: csm_erfh5_py-0.1.2.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b86e97eb13a4ddb3547d8ec2ef7942cc95c534becb36a98471a6b155e6d7e5e
|
|
| MD5 |
a09564d2986cc773d089c5c5806cd646
|
|
| BLAKE2b-256 |
01e5a2e9a4451811fdbd639c58e5dc555d20b978e3178d0d53e201abdf0e481f
|
Provenance
The following attestation bundles were made for csm_erfh5_py-0.1.2.tar.gz:
Publisher:
publish.yml on Keysight/csm-erfh5-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
csm_erfh5_py-0.1.2.tar.gz -
Subject digest:
1b86e97eb13a4ddb3547d8ec2ef7942cc95c534becb36a98471a6b155e6d7e5e - Sigstore transparency entry: 1123060003
- Sigstore integration time:
-
Permalink:
Keysight/csm-erfh5-py@faccbda35717070a766dafb1f5c9a841504b6128 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Keysight
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@faccbda35717070a766dafb1f5c9a841504b6128 -
Trigger Event:
release
-
Statement type:
File details
Details for the file csm_erfh5_py-0.1.2-py3-none-any.whl.
File metadata
- Download URL: csm_erfh5_py-0.1.2-py3-none-any.whl
- Upload date:
- Size: 45.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b767639600c9e9176cf6b4fbd285bbec163885a1b183ab8ab2c8068b938a3a26
|
|
| MD5 |
93df3c39ce697431d3dbfc97db966a29
|
|
| BLAKE2b-256 |
0c176b6143149a524256194188188552d4791ee8308288ac3f90d8889b26f2cd
|
Provenance
The following attestation bundles were made for csm_erfh5_py-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on Keysight/csm-erfh5-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
csm_erfh5_py-0.1.2-py3-none-any.whl -
Subject digest:
b767639600c9e9176cf6b4fbd285bbec163885a1b183ab8ab2c8068b938a3a26 - Sigstore transparency entry: 1123060034
- Sigstore integration time:
-
Permalink:
Keysight/csm-erfh5-py@faccbda35717070a766dafb1f5c9a841504b6128 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Keysight
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@faccbda35717070a766dafb1f5c9a841504b6128 -
Trigger Event:
release
-
Statement type: