Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csm_erfh5_py-0.1.2.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csm_erfh5_py-0.1.2-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

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

Hashes for csm_erfh5_py-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1b86e97eb13a4ddb3547d8ec2ef7942cc95c534becb36a98471a6b155e6d7e5e
MD5 a09564d2986cc773d089c5c5806cd646
BLAKE2b-256 01e5a2e9a4451811fdbd639c58e5dc555d20b978e3178d0d53e201abdf0e481f

See more details on using hashes here.

Provenance

The following attestation bundles were made for csm_erfh5_py-0.1.2.tar.gz:

Publisher: publish.yml on Keysight/csm-erfh5-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for csm_erfh5_py-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b767639600c9e9176cf6b4fbd285bbec163885a1b183ab8ab2c8068b938a3a26
MD5 93df3c39ce697431d3dbfc97db966a29
BLAKE2b-256 0c176b6143149a524256194188188552d4791ee8308288ac3f90d8889b26f2cd

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page