Skip to main content

Python bindings to the IMAS Access Layer core

Project description

IMAS-Core

Build Open Issues License: LGPL-3.0

IMAS-Core is a lowlevel library with Python bindings for reading and writing fusion experiment data in standard IMAS format.

It provides easy access to data stored in HDF5, MDSplus, and other formats, making it simple to work with fusion physics data across platforms (Linux, macOS, Windows).

This repository contains the Lowlevel components of the Access Layer:

  • C lowlevel interface used by the various High Level Interfaces
  • Python bindings to the lowlevel interface
  • Backends for reading and writing IMAS data
  • MDS+ model logic for creating the models required by the MDS+ backend

Quick Installation

Install IMAS-Core with a single command:

pip install imas-core
python -c "import imas_core"

That's it! No need to compile or configure anything.

Features

  • Easy to Install - Single pip install command
  • Multiple Formats - HDF5, MDSplus, UDA, in-memory, and more
  • Cross-Platform - Works on Linux, macOS, and Windows
  • IMAS Standard - Access standardized fusion data structures
  • Read & Write - Both data access and creation supported

Installation Options

For Python Users (Recommended)

# Simple install from PyPI for Python applications
pip install imas-core

# Verify installation
python -c "import imas; print(imas.__version__)"

For Developers

See Building from Source for detailed build instructions.

Using IMAS-Core with High-Level Languages

When IMAS-Core is built and installed via CMake, it creates a complete runtime environment with:

  • C/C++ Libraries (libal.so) with full headers
  • Python Bindings (imas_core Python package)
  • Fortran Support via pkg-config configuration
  • Java Support via imas.jar
  • MATLAB Support via MEX bindings
  • Models for MDSplus backend access

After installation, configure your environment:

export PATH="/path/to/install/bin:$PATH"
export LD_LIBRARY_PATH="/path/to/install/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/path/to/install/lib/pkgconfig:$PKG_CONFIG_PATH"
export HDF5_USE_FILE_LOCKING=FALSE
export PYTHONPATH="/path/to/install/lib/pythonX.X/site-packages:$PYTHONPATH"

Then use IMAS-Core from your preferred language:

  • Python: import imas (see examples above)
  • C/C++: Link against libal.so with provided headers
  • Fortran: Use pkg-config to get compiler flags
  • Java: Use imas.jar in your classpath
  • MATLAB: Add MEX directory to MATLAB path

Documentation

System Requirements

  • Python: 3.8 or newer
  • OS: Linux, macOS, or Windows
  • pip: 19.0 or newer

Available Backends

IMAS-Core supports multiple data storage formats:

Backend Use Case Remote File-based
HDF5 Default, local storage No Yes
MDSplus ITER experiments Yes No
UDA Distributed access Yes No
Memory Testing, IPC No No
FlexBuffers Message passing No Yes
ASCII Debugging No Yes

Troubleshooting

Can't find file?

# Check file path
import os
print(os.path.exists('/path/to/file.h5'))

Need help?

What's Included?

IMAS-Core provides:

  • Python API - Full Python bindings with NumPy support
  • Multiple Backends - HDF5, MDSplus, UDA, and more
  • Data Creation - Create and populate IMAS IDS structures
  • Data Access - Read from multiple sources transparently
  • Standard Format - IMAS standardized data structures

For Developers

To build IMAS-Core from source:

git clone https://github.com/iterorganization/IMAS-Core.git
cd IMAS-Core
cmake -Bbuild -GNinja -DAL_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX="$(pwd)/test-install"
cmake --build build --target install

See Developer Guide for detailed instructions.

Links

License

IMAS-Core is released under the LGPL-3.0 License

Support

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

imas_core-5.5.3-cp313-cp313-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.13Windows x86-64

imas_core-5.5.3-cp313-cp313-manylinux_2_28_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

imas_core-5.5.3-cp312-cp312-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.12Windows x86-64

imas_core-5.5.3-cp312-cp312-manylinux_2_28_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

imas_core-5.5.3-cp311-cp311-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.11Windows x86-64

imas_core-5.5.3-cp311-cp311-manylinux_2_28_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

imas_core-5.5.3-cp310-cp310-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.10Windows x86-64

imas_core-5.5.3-cp310-cp310-manylinux_2_28_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file imas_core-5.5.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: imas_core-5.5.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for imas_core-5.5.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8e33ea9c825d1eac8e032abdbd62f1b63887185d381024277e784da520c1c2af
MD5 8829dfc7595546fa471f457281d36ffb
BLAKE2b-256 2a9182b8c6d4e84e74e648e1e035bae3cf28155f1659a9108da14adc37503386

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imas_core-5.5.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 471d3a2c6e389b8cf1021e058c485247165d6438e441bd566e6321de70b64424
MD5 96cbbaf06d2a0a771198994111de342c
BLAKE2b-256 010f265a7118b510f40571ba2006acb45fcf616c6bacbe350957616dee16d328

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: imas_core-5.5.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for imas_core-5.5.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0008fc0a05f580f6ee300eba84c3675b345454c797b44d4b092304d8cbd40dd
MD5 29404e2eceb602c1341d45a4701b909c
BLAKE2b-256 1c3594c56900702127be906eb212d66b4f4103abbfa0d688cf7565f321104461

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imas_core-5.5.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 494bb56092a44f64a5a1df2f00bd662a8c406e8bcf3ac577a0371a3eb55a5711
MD5 9c73549bd2e20c7db4c0401219111b2b
BLAKE2b-256 b3ab095f02302b88c64b13d1cb125b87ddd9650253ab30e55f55faadf115752b

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: imas_core-5.5.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for imas_core-5.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 95eddea47b36c521e778655bee8757b8912a24113567aaf6de539f3e71d153d9
MD5 f4a6ccd90bf2d2f70382f02feb70e783
BLAKE2b-256 c9e65557bc8225619ebdc3588eb093042d3e78b061a55b671d4aee2039404e14

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imas_core-5.5.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f2dde3a889cbb25d187d0deab0e1a116583221ff178472b76aee6aaf1ff62cc
MD5 46c4e04a52e71baa25e6f59b6f3796d6
BLAKE2b-256 c269703a8e1fdf4c35f505d8d0677729bec49a650bbe6437298b25719f7da738

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: imas_core-5.5.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for imas_core-5.5.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 df281046bae6e55a0c71ace8564379afc8d944072d62e9d2c7fd19c3499ee617
MD5 3330a4b7525f0d7927b6aae354867c2f
BLAKE2b-256 d18f690792a9c8a144cc7014fdd692b4cbf6b649fe02e60f5f9924619140a61f

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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

File details

Details for the file imas_core-5.5.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imas_core-5.5.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5fbe6e7acbd0807c27b2d098e8da37ff2ff9b17d0387fccc774b2c7e3b5726b5
MD5 53c1bf1973f6650779640f9e11b3e74c
BLAKE2b-256 1f6eb8d036dbea5e30e44be4ec81c5f93fdb81a030374d03f86db7b2ff584724

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_core-5.5.3-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on iterorganization/IMAS-Core

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