imas-python 1.1.2.dev55__py3-none-any.whl → 1.1.2.dev57__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- imas/__init__.py +5 -5
- imas/__main__.py +2 -2
- imas/_util.py +2 -2
- imas/_version.py +2 -2
- imas/assets/IDSDef.zip +0 -0
- imas/backends/__init__.py +2 -2
- imas/backends/db_entry_impl.py +2 -2
- imas/backends/imas_core/__init__.py +2 -2
- imas/backends/imas_core/al_context.py +3 -3
- imas/backends/imas_core/db_entry_al.py +2 -2
- imas/backends/imas_core/db_entry_helpers.py +2 -2
- imas/backends/imas_core/imas_interface.py +4 -4
- imas/backends/imas_core/mdsplus_model.py +2 -2
- imas/backends/netcdf/__init__.py +3 -3
- imas/backends/netcdf/db_entry_nc.py +1 -1
- imas/backends/netcdf/ids2nc.py +3 -3
- imas/backends/netcdf/nc_metadata.py +2 -2
- imas/command/cli.py +6 -6
- imas/command/db_analysis.py +1 -1
- imas/command/helpers.py +1 -1
- imas/command/timer.py +2 -2
- imas/db_entry.py +3 -3
- imas/dd_helpers.py +2 -3
- imas/dd_zip.py +4 -4
- imas/exception.py +3 -3
- imas/ids_base.py +2 -2
- imas/ids_convert.py +4 -4
- imas/ids_coordinates.py +3 -3
- imas/ids_data_type.py +2 -2
- imas/ids_defs.py +3 -3
- imas/ids_factory.py +2 -2
- imas/ids_identifiers.py +3 -3
- imas/ids_metadata.py +5 -5
- imas/ids_path.py +2 -2
- imas/ids_primitive.py +2 -2
- imas/ids_struct_array.py +2 -2
- imas/ids_structure.py +2 -2
- imas/ids_toplevel.py +2 -2
- imas/setup_logging.py +3 -3
- imas/test/test_dd_helpers.py +1 -4
- imas/test/test_hash.py +1 -1
- imas/test/test_ids_ascii_data.py +2 -2
- imas/test/test_ids_convert.py +2 -2
- imas/test/test_ids_mixin.py +2 -2
- imas/test/test_ids_primitive.py +3 -3
- imas/test/test_ids_structure.py +2 -2
- imas/training.py +3 -3
- imas/util.py +9 -9
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/METADATA +6 -6
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/RECORD +54 -54
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/LICENSE.txt +0 -0
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/WHEEL +0 -0
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/entry_points.txt +0 -0
- {imas_python-1.1.2.dev55.dist-info → imas_python-1.1.2.dev57.dist-info}/top_level.txt +0 -0
imas/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
|
|
4
4
|
# isort: skip_file
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ from .ids_factory import IDSFactory
|
|
|
17
17
|
from .ids_convert import convert_ids
|
|
18
18
|
from .ids_identifiers import identifiers
|
|
19
19
|
|
|
20
|
-
# Load the
|
|
20
|
+
# Load the IMAS-Python IMAS AL/DD core
|
|
21
21
|
from . import (
|
|
22
22
|
db_entry,
|
|
23
23
|
dd_helpers,
|
|
@@ -25,7 +25,7 @@ from . import (
|
|
|
25
25
|
util,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
|
-
PUBLISHED_DOCUMENTATION_ROOT = "https://
|
|
28
|
+
PUBLISHED_DOCUMENTATION_ROOT = "https://IMAS-Python.readthedocs.io/en/latest/"
|
|
29
29
|
"""URL to the published documentation."""
|
|
30
30
|
OLDEST_SUPPORTED_VERSION = _V("3.22.0")
|
|
31
|
-
"""Oldest Data Dictionary version that is supported by
|
|
31
|
+
"""Oldest Data Dictionary version that is supported by IMAS-Python."""
|
imas/__main__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Support module to run imas as a module:
|
|
4
4
|
|
|
5
5
|
.. code-block:: bash
|
imas/_util.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""This file contains the implementation of all utility functions that need external
|
|
4
4
|
modules. Implementation has been removed from util.py to improve the performance of
|
|
5
5
|
``import imas``.
|
imas/_version.py
CHANGED
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '1.1.2.
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 1, 2, '
|
|
15
|
+
__version__ = version = '1.1.2.dev57'
|
|
16
|
+
__version_tuple__ = version_tuple = (1, 1, 2, 'dev57')
|
imas/assets/IDSDef.zip
CHANGED
|
Binary file
|
imas/backends/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Logic for interacting with all data backends.
|
|
4
4
|
|
|
5
5
|
Currently supported backends are:
|
imas/backends/db_entry_impl.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
|
|
4
4
|
from abc import ABC, abstractmethod
|
|
5
5
|
from dataclasses import dataclass
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Subpackage implementing data access through the IMAS Access Layer Core.
|
|
4
4
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Object-oriented interface to the IMAS lowlevel.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -298,7 +298,7 @@ class LazyALContext:
|
|
|
298
298
|
if not cache or cache[-1] is not ctx:
|
|
299
299
|
logger.warning(
|
|
300
300
|
"Found an empty AL context cache: This should not happen, please "
|
|
301
|
-
"report this bug to the
|
|
301
|
+
"report this bug to the IMAS-Python developers."
|
|
302
302
|
)
|
|
303
303
|
else:
|
|
304
304
|
return ctx
|
|
@@ -207,7 +207,7 @@ class ALDBEntryImpl(DBEntryImpl):
|
|
|
207
207
|
os.environ["IDSDEF_PATH"] = idsdef_path
|
|
208
208
|
logger.warning(
|
|
209
209
|
"The UDA backend is not tested with "
|
|
210
|
-
"
|
|
210
|
+
"IMAS-Python and may not work properly. "
|
|
211
211
|
"Please raise any issues you find."
|
|
212
212
|
)
|
|
213
213
|
|
|
@@ -215,7 +215,7 @@ class ALDBEntryImpl(DBEntryImpl):
|
|
|
215
215
|
pass # nothing to set up
|
|
216
216
|
|
|
217
217
|
else:
|
|
218
|
-
logger.warning("Backend %s is unknown to
|
|
218
|
+
logger.warning("Backend %s is unknown to IMAS-Python", backend)
|
|
219
219
|
|
|
220
220
|
def close(self, *, erase: bool = False) -> None:
|
|
221
221
|
if self._db_ctx is None:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Helper methods for loading data from and storing data to Data Entries.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""
|
|
4
4
|
Helper module for providing a version-independent interface to the Access Layer.
|
|
5
5
|
|
|
@@ -44,7 +44,7 @@ class LLInterfaceError(RuntimeError):
|
|
|
44
44
|
class LowlevelInterface:
|
|
45
45
|
"""Compatibility object.
|
|
46
46
|
|
|
47
|
-
Provides a stable API for the rest of
|
|
47
|
+
Provides a stable API for the rest of IMAS-Python even when the
|
|
48
48
|
`imas.lowlevel` interface changes.
|
|
49
49
|
|
|
50
50
|
.. rubric:: Developer notes
|
|
@@ -213,4 +213,4 @@ for funcname in dir(LowlevelInterface):
|
|
|
213
213
|
func.__doc__ = f"Wrapper function for AL lowlevel method ``{funcname}``"
|
|
214
214
|
|
|
215
215
|
ll_interface = LowlevelInterface(lowlevel)
|
|
216
|
-
"""
|
|
216
|
+
"""IMAS-Python <-> IMAS lowlevel interface"""
|
|
@@ -118,7 +118,7 @@ def mdsplus_model_dir(factory: IDSFactory) -> str:
|
|
|
118
118
|
# on-disk formats should be versioned and documented properly, so this should never
|
|
119
119
|
# happen again.
|
|
120
120
|
|
|
121
|
-
# There are multiple possible cases for the
|
|
121
|
+
# There are multiple possible cases for the IMAS-Python cache
|
|
122
122
|
# 1. The cache exist and can be used
|
|
123
123
|
# 2. The cache folder exists, and another process is creating it
|
|
124
124
|
# 3. The cache folder exists, but the process creating it has stopped
|
|
@@ -158,7 +158,7 @@ def mdsplus_model_dir(factory: IDSFactory) -> str:
|
|
|
158
158
|
os.listdir(cache_dir_path),
|
|
159
159
|
)
|
|
160
160
|
raise MDSPlusModelError(
|
|
161
|
-
"The
|
|
161
|
+
"The IMAS-Python cache directory is corrupted. Please clean the"
|
|
162
162
|
f" cache directory ({cache_dir_path}) and try again."
|
|
163
163
|
)
|
|
164
164
|
elif not cache_dir_path.is_dir() and not model_exists(cache_dir_path):
|
imas/backends/netcdf/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""NetCDF IO support for
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""NetCDF IO support for IMAS-Python. Requires [netcdf] extra dependencies.
|
|
4
4
|
"""
|
|
@@ -31,7 +31,7 @@ class NCDBEntryImpl(DBEntryImpl):
|
|
|
31
31
|
if netCDF4 is None:
|
|
32
32
|
raise RuntimeError(
|
|
33
33
|
"The `netCDF4` python module is not available. Please install this "
|
|
34
|
-
"module to read/write IMAS netCDF files with
|
|
34
|
+
"module to read/write IMAS netCDF files with IMAS-Python."
|
|
35
35
|
)
|
|
36
36
|
# To support netcdf v1.4 (which has no mode "x") we map it to "w" with
|
|
37
37
|
# `clobber=True`.
|
imas/backends/netcdf/ids2nc.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""NetCDF IO support for
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""NetCDF IO support for IMAS-Python. Requires [netcdf] extra dependencies.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
from typing import Iterator, Tuple
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""NetCDF metadata for dimensions and tensorization of IDSs.
|
|
4
4
|
"""
|
|
5
5
|
|
imas/command/cli.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
""" Main CLI entry point """
|
|
4
4
|
|
|
5
5
|
import logging
|
|
@@ -44,7 +44,7 @@ def _excepthook(type_, value, tb):
|
|
|
44
44
|
|
|
45
45
|
@click.group("imas", invoke_without_command=True, no_args_is_help=True)
|
|
46
46
|
def cli():
|
|
47
|
-
"""
|
|
47
|
+
"""IMAS-Python command line interface.
|
|
48
48
|
|
|
49
49
|
Please use one of the available commands listed below. You can get help for each
|
|
50
50
|
command by executing:
|
|
@@ -62,15 +62,15 @@ cli.add_command(process_db_analysis)
|
|
|
62
62
|
|
|
63
63
|
@cli.command("version")
|
|
64
64
|
def print_version():
|
|
65
|
-
"""Print version information of
|
|
65
|
+
"""Print version information of IMAS-Python."""
|
|
66
66
|
cons = console.Console()
|
|
67
67
|
grid = Table(
|
|
68
|
-
title="
|
|
68
|
+
title="IMAS-Python version info", show_header=False, title_style="bold"
|
|
69
69
|
)
|
|
70
70
|
grid.box = box.HORIZONTALS
|
|
71
71
|
if cons.size.width > 120:
|
|
72
72
|
grid.width = 120
|
|
73
|
-
grid.add_row("
|
|
73
|
+
grid.add_row("IMAS-Python version:", imas.__version__)
|
|
74
74
|
grid.add_section()
|
|
75
75
|
grid.add_row("Default data dictionary version:", imas.IDSFactory().dd_version)
|
|
76
76
|
dd_versions = ", ".join(imas.dd_zip.dd_xml_versions())
|
imas/command/db_analysis.py
CHANGED
imas/command/helpers.py
CHANGED
|
@@ -24,7 +24,7 @@ def setup_rich_log_handler(quiet: bool):
|
|
|
24
24
|
root_logger.removeHandler(handler)
|
|
25
25
|
# Install rich handler on the root logger:
|
|
26
26
|
root_logger.addHandler(RichHandler())
|
|
27
|
-
if quiet: # Silence
|
|
27
|
+
if quiet: # Silence IMAS-Python INFO messages
|
|
28
28
|
# If loglevel is less than WARNING, set it to WARNING:
|
|
29
29
|
imas_logger.setLevel(max(logging.WARNING, imas_logger.getEffectiveLevel()))
|
|
30
30
|
|
imas/command/timer.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Utility class to time different sections of a CLI app."""
|
|
4
4
|
|
|
5
5
|
import time
|
imas/db_entry.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Logic for interacting with IMAS Data Entries.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -605,7 +605,7 @@ class DBEntry:
|
|
|
605
605
|
if dd_version.split(".")[0] != destination._dd_version.split(".")[0]:
|
|
606
606
|
logger.warning(
|
|
607
607
|
"On-disk data is stored in DD %s which has a different major "
|
|
608
|
-
"version than the requested DD version (%s).
|
|
608
|
+
"version than the requested DD version (%s). IMAS-Python will "
|
|
609
609
|
"convert the data automatically, but this does not cover all"
|
|
610
610
|
"changes. "
|
|
611
611
|
"See %s/multi-dd.html#conversion-of-idss-between-dd-versions",
|
imas/dd_helpers.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Helper functions to build IDSDef.xml"""
|
|
4
4
|
|
|
5
5
|
import logging
|
|
@@ -134,7 +134,6 @@ def _run_xsl_transformation(
|
|
|
134
134
|
stylesheet_file=str(xsl_file),
|
|
135
135
|
output_file=str(output_file),
|
|
136
136
|
)
|
|
137
|
-
logger.info("Transformation complete: %s -> %s", xsd_file, output_file)
|
|
138
137
|
|
|
139
138
|
|
|
140
139
|
def build_data_dictionary(repo, tag: str, rebuild=False) -> None:
|
imas/dd_zip.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
""" Extract DD versions from a zip file.
|
|
4
4
|
|
|
5
5
|
The zip file contains files as
|
|
@@ -11,7 +11,7 @@ First the environment variable IMAS_DDZIP is checked.
|
|
|
11
11
|
If that exists and points to a file we will attempt to open it.
|
|
12
12
|
Then, IDSDef.zip is searched in site-packages, the current folder,
|
|
13
13
|
in .config/imas/ (`$$XDG_CONFIG_HOME`) and in
|
|
14
|
-
the assets/ folder within the
|
|
14
|
+
the assets/ folder within the IMAS-Python package.
|
|
15
15
|
|
|
16
16
|
1. `$$IMAS_DDZIP`
|
|
17
17
|
2. The virtual environment
|
|
@@ -22,7 +22,7 @@ the assets/ folder within the imas-python package.
|
|
|
22
22
|
7. `__file__/../../imas/assets/IDSDef.zip`
|
|
23
23
|
|
|
24
24
|
All files are checked, i.e. if your .config/imas/IDSDef.zip is outdated
|
|
25
|
-
the
|
|
25
|
+
the IMAS-Python-packaged version will be used.
|
|
26
26
|
|
|
27
27
|
The `assets/IDSDef.zip` provided with the package can be updated
|
|
28
28
|
with the `python setup.py build_DD` command, which is also performed on install
|
imas/exception.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""Exception classes used in
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""Exception classes used in IMAS-Python.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import difflib
|
imas/ids_base.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Base class for all IDS nodes.
|
|
4
4
|
"""
|
|
5
5
|
|
imas/ids_convert.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Functionality for converting IDSToplevels between DD versions.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -183,7 +183,7 @@ class DDVersionMap:
|
|
|
183
183
|
else:
|
|
184
184
|
logger.debug(
|
|
185
185
|
"Data type of %s changed from %s to %s. This change is not "
|
|
186
|
-
"supported by
|
|
186
|
+
"supported by IMAS-Python: no conversion will be done.",
|
|
187
187
|
new_item.get("path"),
|
|
188
188
|
old_item.get("data_type"),
|
|
189
189
|
new_item.get("data_type"),
|
|
@@ -527,7 +527,7 @@ def _add_provenance_entry(
|
|
|
527
527
|
source_txt = (
|
|
528
528
|
f"{provenance_origin_uri}; "
|
|
529
529
|
f"This IDS has been converted from DD {source_version} to "
|
|
530
|
-
f"DD {target_ids._dd_version} by
|
|
530
|
+
f"DD {target_ids._dd_version} by IMAS-Python {imas.__version__}."
|
|
531
531
|
)
|
|
532
532
|
if hasattr(node, "reference"):
|
|
533
533
|
# DD version after IMAS-5304
|
imas/ids_coordinates.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Logic for interpreting coordinates in an IDS.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -386,7 +386,7 @@ class IDSCoordinates:
|
|
|
386
386
|
)
|
|
387
387
|
else:
|
|
388
388
|
version_error = (
|
|
389
|
-
"Please report this issue to the
|
|
389
|
+
"Please report this issue to the IMAS-Python developers."
|
|
390
390
|
)
|
|
391
391
|
logger.warning(
|
|
392
392
|
"An error occurred while finding coordinate `%s` of dimension %s, "
|
imas/ids_data_type.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Data Dictionary type handling functionality.
|
|
4
4
|
"""
|
|
5
5
|
|
imas/ids_defs.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
""" Load
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
""" Load IMAS-Python libs to provide constants
|
|
4
4
|
|
|
5
5
|
.. _`Backend identifiers`:
|
|
6
6
|
|
imas/ids_factory.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Tools for generating IDSs from a Data Dictionary version.
|
|
4
4
|
"""
|
|
5
5
|
|
imas/ids_identifiers.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""IMAS-Python module to support Data Dictionary identifiers.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import logging
|
imas/ids_metadata.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""Core of the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""Core of the IMAS-Python interpreted IDS metadata
|
|
4
4
|
"""
|
|
5
5
|
import re
|
|
6
6
|
import types
|
|
@@ -26,7 +26,7 @@ class IDSType(Enum):
|
|
|
26
26
|
operation); ``dynamic`` data are those which vary in time within the context of the
|
|
27
27
|
data.
|
|
28
28
|
|
|
29
|
-
As in the Python HLI,
|
|
29
|
+
As in the Python HLI, IMAS-Python only distinguishes between dynamic and non-dynamic
|
|
30
30
|
nodes.
|
|
31
31
|
"""
|
|
32
32
|
|
|
@@ -154,7 +154,7 @@ class IDSMetadata:
|
|
|
154
154
|
else:
|
|
155
155
|
self._ctx_path = self.name
|
|
156
156
|
|
|
157
|
-
# These are special and used in
|
|
157
|
+
# These are special and used in IMAS-Python logic,
|
|
158
158
|
# so we need to ensure proper values
|
|
159
159
|
maxoccur = attrib.get("maxoccur", "unbounded")
|
|
160
160
|
self.maxoccur: Optional[int] = (
|
imas/ids_path.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Logic for interpreting paths to elements in an IDS
|
|
4
4
|
"""
|
|
5
5
|
|
imas/ids_primitive.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Provides the classes for IDS data nodes
|
|
4
4
|
"""
|
|
5
5
|
import logging
|
imas/ids_struct_array.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""IDS StructArray represents an Array of Structures in the IDS tree.
|
|
4
4
|
"""
|
|
5
5
|
|
imas/ids_structure.py
CHANGED
imas/ids_toplevel.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
"""Represents a Top-level IDS (like ``core_profiles``, ``equilibrium``, etc)
|
|
4
4
|
"""
|
|
5
5
|
|
imas/setup_logging.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""Create a default log handler when
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""Create a default log handler when IMAS-Python is imported.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import logging
|
imas/test/test_dd_helpers.py
CHANGED
|
@@ -9,6 +9,7 @@ from imas.dd_helpers import prepare_data_dictionaries, _idsdef_zip_relpath, _bui
|
|
|
9
9
|
_idsdef_unzipped_relpath = Path("idsdef_unzipped")
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
@pytest.mark.skip(reason="skipping IDSDef.zip generation")
|
|
12
13
|
def test_prepare_data_dictionaries():
|
|
13
14
|
prepare_data_dictionaries()
|
|
14
15
|
assert os.path.exists(
|
|
@@ -50,7 +51,3 @@ def test_prepare_data_dictionaries():
|
|
|
50
51
|
|
|
51
52
|
if _build_dir.exists():
|
|
52
53
|
shutil.rmtree(_idsdef_unzipped_relpath)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if __name__ == "__main__":
|
|
56
|
-
pytest.main()
|
imas/test/test_hash.py
CHANGED
|
@@ -162,7 +162,7 @@ def test_hash_ids():
|
|
|
162
162
|
cp = imas.IDSFactory().core_profiles()
|
|
163
163
|
cp.ids_properties.homogeneous_time = 1
|
|
164
164
|
cp.ids_properties.comment = "Testing hash function"
|
|
165
|
-
cp.code.name = "
|
|
165
|
+
cp.code.name = "IMAS-Python"
|
|
166
166
|
cp.time = [1.0, 2.0, 3.0, 4.0]
|
|
167
167
|
cp.profiles_1d.resize(4)
|
|
168
168
|
for p1d in cp.profiles_1d:
|
imas/test/test_ids_ascii_data.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
from pathlib import PosixPath
|
|
4
4
|
|
|
5
5
|
import pytest
|
imas/test/test_ids_convert.py
CHANGED
|
@@ -188,8 +188,8 @@ def test_provenance_entry(factory):
|
|
|
188
188
|
# Check that origin and destination DD versions are included
|
|
189
189
|
assert "3.31.0" in provenance_txt
|
|
190
190
|
assert "3.38.0" in provenance_txt
|
|
191
|
-
# Check that
|
|
192
|
-
assert "
|
|
191
|
+
# Check that IMAS-Python is mentioned
|
|
192
|
+
assert "IMAS-Python" in provenance_txt
|
|
193
193
|
|
|
194
194
|
# Test logic branch for node.reference implemented with IMAS-5304
|
|
195
195
|
cp4 = convert_ids(cp2, "3.42.0", provenance_origin_uri="<testdata>")
|
imas/test/test_ids_mixin.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
def test_toplevel(fake_filled_toplevel):
|
imas/test/test_ids_primitive.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
3
|
import pprint
|
|
4
4
|
|
|
5
5
|
import numpy as np
|
|
@@ -38,7 +38,7 @@ str('A filled comment')"""
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
def test_value_attribute(fake_filled_toplevel):
|
|
41
|
-
"""Test if the value attribute acts as
|
|
41
|
+
"""Test if the value attribute acts as IMAS-Python expects"""
|
|
42
42
|
eig = fake_filled_toplevel.wavevector[0].eigenmode[0]
|
|
43
43
|
assert isinstance(eig.frequency_norm, IDSPrimitive)
|
|
44
44
|
assert hasattr(eig.frequency_norm, "value")
|
imas/test/test_ids_structure.py
CHANGED
imas/training.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""Functions that are useful for the
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""Functions that are useful for the IMAS-Python training courses.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import importlib
|
imas/util.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# This file is part of
|
|
2
|
-
# You should have received the
|
|
3
|
-
"""Collection of useful helper methods when working with
|
|
1
|
+
# This file is part of IMAS-Python.
|
|
2
|
+
# You should have received the IMAS-Python LICENSE file with this project.
|
|
3
|
+
"""Collection of useful helper methods when working with IMAS-Python.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
|
|
@@ -32,7 +32,7 @@ def visit_children(
|
|
|
32
32
|
) -> None:
|
|
33
33
|
"""Apply a function to node and its children
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
IMAS-Python objects generally live in a tree structure. Similar to Pythons
|
|
36
36
|
:py:func:`map`, this method can be used to apply a function to objects
|
|
37
37
|
within this tree structure.
|
|
38
38
|
|
|
@@ -56,7 +56,7 @@ def visit_children(
|
|
|
56
56
|
Example:
|
|
57
57
|
.. code-block:: python
|
|
58
58
|
|
|
59
|
-
# Print all filled leaf nodes in a given
|
|
59
|
+
# Print all filled leaf nodes in a given IMAS-Python IDSToplevel
|
|
60
60
|
visit_children(print, toplevel)
|
|
61
61
|
|
|
62
62
|
See Also:
|
|
@@ -80,9 +80,9 @@ def tree_iter(
|
|
|
80
80
|
accept_lazy: bool = False,
|
|
81
81
|
include_node: bool = False,
|
|
82
82
|
) -> Iterator[IDSBase]:
|
|
83
|
-
"""Tree iterator for
|
|
83
|
+
"""Tree iterator for IMAS-Python structures.
|
|
84
84
|
|
|
85
|
-
Iterate (depth-first) through the whole subtree of an
|
|
85
|
+
Iterate (depth-first) through the whole subtree of an IMAS-Python structure.
|
|
86
86
|
|
|
87
87
|
Args:
|
|
88
88
|
node: Node to start iterating from.
|
|
@@ -104,7 +104,7 @@ def tree_iter(
|
|
|
104
104
|
Example:
|
|
105
105
|
.. code-block:: python
|
|
106
106
|
|
|
107
|
-
# Iterate over all filled leaf nodes in a given
|
|
107
|
+
# Iterate over all filled leaf nodes in a given IMAS-Python IDSToplevel
|
|
108
108
|
for node in tree_iter(toplevel):
|
|
109
109
|
print(node)
|
|
110
110
|
|
|
@@ -514,7 +514,7 @@ def get_data_dictionary_version(obj: Union[IDSBase, DBEntry, IDSFactory]) -> str
|
|
|
514
514
|
"""Find out the version of the data dictionary definitions that this object uses.
|
|
515
515
|
|
|
516
516
|
Args:
|
|
517
|
-
obj: Any
|
|
517
|
+
obj: Any IMAS-Python object that is data-dictionary dependent.
|
|
518
518
|
|
|
519
519
|
Returns:
|
|
520
520
|
The data dictionary version, e.g. ``"3.38.1"``.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: imas-python
|
|
3
|
-
Version: 1.1.2.
|
|
3
|
+
Version: 1.1.2.dev57
|
|
4
4
|
Summary: Pythonic wrappers for the IMAS Access Layer
|
|
5
5
|
Author: ITER Organization
|
|
6
6
|
Author-email: Karel Lucas van de Plassche <karelvandeplassche@gmail.com>, Daan van Vugt <dvanvugt@ignitioncomputing.com>, Maarten Sebregts <msebregts@ignitioncomputing.com>, imas-support@iter.org
|
|
@@ -236,10 +236,10 @@ Requires-Dist: virtualenv; extra == "test"
|
|
|
236
236
|
Requires-Dist: pint; extra == "test"
|
|
237
237
|
Requires-Dist: xarray; extra == "test"
|
|
238
238
|
|
|
239
|
-
#
|
|
239
|
+
# IMAS-Python
|
|
240
240
|
|
|
241
|
-
|
|
242
|
-
|
|
241
|
+
IMAS-Python is a pure-python library to handle arbitrarily nested data structures.
|
|
242
|
+
It is designed for, but not necessarily bound to, interacting with Interface
|
|
243
243
|
Data Structures (IDSs) as defined by the Integrated Modelling & Analysis Suite (IMAS)
|
|
244
244
|
Data Model.
|
|
245
245
|
|
|
@@ -249,7 +249,7 @@ Data Model.
|
|
|
249
249
|
Install steps are described in the documentation generated from `/docs/source/installing.rst`.
|
|
250
250
|
|
|
251
251
|
Documentation is autogenerated from the source using [Sphinx](http://sphinx-doc.org/)
|
|
252
|
-
and can be found at the [readthedocs](https://
|
|
252
|
+
and can be found at the [readthedocs](https://IMAS-Python.readthedocs.io/en/latest/)
|
|
253
253
|
|
|
254
254
|
The documentation can be manually generated by installing sphinx and running:
|
|
255
255
|
|
|
@@ -278,7 +278,7 @@ A quick 5 minutes introduction is available in the documentation generated from
|
|
|
278
278
|
|
|
279
279
|
## Legal
|
|
280
280
|
|
|
281
|
-
|
|
281
|
+
IMAS-Python is Copyright 2020-2025 ITER Organization, Copyright 2020-2023 Karel Lucas van de
|
|
282
282
|
Plassche <karelvandeplassche@gmail.com>, Copyright 2020-2022 Daan van Vugt <dvanvugt@ignitioncomputing.com>,
|
|
283
283
|
and Copyright 2020 Dutch Institute for Fundamental Energy Research <info@differ.nl>.
|
|
284
284
|
It is licensed under [LGPL 3.0](LICENSE.txt).
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
imas/__init__.py,sha256=
|
|
2
|
-
imas/__main__.py,sha256=
|
|
3
|
-
imas/_util.py,sha256=
|
|
4
|
-
imas/_version.py,sha256=
|
|
5
|
-
imas/db_entry.py,sha256=
|
|
6
|
-
imas/dd_helpers.py,sha256=
|
|
7
|
-
imas/dd_zip.py,sha256=
|
|
8
|
-
imas/exception.py,sha256=
|
|
9
|
-
imas/ids_base.py,sha256=
|
|
10
|
-
imas/ids_convert.py,sha256=
|
|
11
|
-
imas/ids_coordinates.py,sha256=
|
|
12
|
-
imas/ids_data_type.py,sha256=
|
|
13
|
-
imas/ids_defs.py,sha256=
|
|
14
|
-
imas/ids_factory.py,sha256=
|
|
15
|
-
imas/ids_identifiers.py,sha256=
|
|
16
|
-
imas/ids_metadata.py,sha256=
|
|
17
|
-
imas/ids_path.py,sha256=
|
|
18
|
-
imas/ids_primitive.py,sha256=
|
|
19
|
-
imas/ids_struct_array.py,sha256=
|
|
20
|
-
imas/ids_structure.py,sha256=
|
|
21
|
-
imas/ids_toplevel.py,sha256=
|
|
22
|
-
imas/setup_logging.py,sha256=
|
|
23
|
-
imas/training.py,sha256=
|
|
24
|
-
imas/util.py,sha256
|
|
25
|
-
imas/assets/IDSDef.zip,sha256=
|
|
1
|
+
imas/__init__.py,sha256=ml9pjKie5iUpFhXPAgkZfRBpafa2vn5IFFVCVLG-shI,878
|
|
2
|
+
imas/__main__.py,sha256=nei61YSa3KE4V601qcApNQYgv9hKMenoMJyZLWmsHRQ,418
|
|
3
|
+
imas/_util.py,sha256=3CwP5yoyXNipyaUdMb-IwzVDlqV35VjTFxfaronO1AI,9484
|
|
4
|
+
imas/_version.py,sha256=A5aLJIbLS_ukUdNRrjw5OuB14mKhP4QtUZBDJ8tGSFo,426
|
|
5
|
+
imas/db_entry.py,sha256=GgzNXbU-4gL5ac2vVo28LtnF3JIKIqyQzg1MIhyMkkQ,31755
|
|
6
|
+
imas/dd_helpers.py,sha256=MmD_ZSwW-c-7eq2lKwbCWvAZoW0nFAuL0T70dd-yZSk,6195
|
|
7
|
+
imas/dd_zip.py,sha256=k0JFUqWBMXwuQmSOzukEujOJV21PF77jCBsNJQDcpGc,10322
|
|
8
|
+
imas/exception.py,sha256=0IoVTpFZJPZVE-eeWQfR7lGX_v6ZYjgiT9S7ilBjEYM,3750
|
|
9
|
+
imas/ids_base.py,sha256=1jfnpRis-mlS3VbbaarBQ1HVyD3kwsjxhHkyPthlH_Q,5439
|
|
10
|
+
imas/ids_convert.py,sha256=UfkDsQmllV7GnzaEYxLv6YWpEZeMcwBAN98zFLufW_w,38548
|
|
11
|
+
imas/ids_coordinates.py,sha256=OT_9V9-0_mVZqutj6uuddnrhdgZ6_YocrdgeRWY-oyc,16955
|
|
12
|
+
imas/ids_data_type.py,sha256=N3nQXmIht0q8BbqE99sPsTmZ62CTUHv10Pfj_rtYi54,3302
|
|
13
|
+
imas/ids_defs.py,sha256=WRLnhHRlePdXey6jm_05w-z2qmZPHOW39rvHs7ifJco,5417
|
|
14
|
+
imas/ids_factory.py,sha256=whTluYI9yZN0A-WC3UgW0U2tO6CY8sihPLOaC0B5oPo,3774
|
|
15
|
+
imas/ids_identifiers.py,sha256=IhLwlMvHCVRPxSjntQ7vq8jwhDJqXmuaj5UFeGqmnPc,4164
|
|
16
|
+
imas/ids_metadata.py,sha256=cuLNv8ZbHoSt5DeJk8o6vjSBVPBjWNrQcYxD0cxKVZk,12258
|
|
17
|
+
imas/ids_path.py,sha256=jJzp7jmIMQr6ZeQJvLEEIIf0cF9NKIcv2DkCP-HNrt4,10446
|
|
18
|
+
imas/ids_primitive.py,sha256=d4eOD59IDvw-YGAgZbkZBegkcOL_srLYE8IdAxpCzvs,16835
|
|
19
|
+
imas/ids_struct_array.py,sha256=o9xgl_K0SDlqIapmhAT7dQ997RGW2cPAYQFI4P_h59w,8292
|
|
20
|
+
imas/ids_structure.py,sha256=B2UEYZH8eTFJMSnt2euukrT53PpgZ12Bh3gpThp1LWs,13107
|
|
21
|
+
imas/ids_toplevel.py,sha256=MQVFFjgKxF-7tC5PLPCJEtJCjzOvwRxflrO6d0DThXs,14915
|
|
22
|
+
imas/setup_logging.py,sha256=0v4_haGLsUJr8fHkl46UmTEgMImBzvfL2xU5kudB9ac,1872
|
|
23
|
+
imas/training.py,sha256=QM447EzkfN1o6OKcvquh99omIU_4LbxEzW_HynSPdwI,1576
|
|
24
|
+
imas/util.py,sha256=-IDx-UfWKN2g0vnyG9nvGWgOMmV-rZK7RY5wgz8t7ro,17822
|
|
25
|
+
imas/assets/IDSDef.zip,sha256=xYV1ejvj2Kz14m54z7xJIZ_yxgDQnvGzzoK-IxmTkFQ,27383258
|
|
26
26
|
imas/assets/IDSDef2MDSpreTree.xsl,sha256=V9eDmDnxe6oYhDP81gmdYip8cF2yST9dGxmZBaATLdA,7296
|
|
27
27
|
imas/assets/IDS_fake_toplevel.xml,sha256=TJhukQuDHHVTW2U7fK_-KmTQiYOFZMY-ECZXBHQE2mk,18683
|
|
28
28
|
imas/assets/IDS_minimal.xml,sha256=5B6c0J-WPzSChHWwpLPRkNawx9m6v8BM5nC0OQFnWcQ,1740
|
|
@@ -34,48 +34,48 @@ imas/assets/ITER_134173_106_equilibrium.ids,sha256=uYpVwTAyGVcWCrBUdSR3427qDY5zx
|
|
|
34
34
|
imas/assets/README.md,sha256=-bempMZGQbciI4u042p25lFnYRIbPOZlCvCKTQ2TgSA,177
|
|
35
35
|
imas/assets/core_profiles.ids,sha256=KMECYN66bq08H8zZSk21HB5nBr2Iou4uPzfaAoaAvhQ,753508
|
|
36
36
|
imas/assets/equilibrium.ids,sha256=uYpVwTAyGVcWCrBUdSR3427qDY5zx1WXeX4Hd-o_2Jo,3796340
|
|
37
|
-
imas/backends/__init__.py,sha256=
|
|
38
|
-
imas/backends/db_entry_impl.py,sha256=
|
|
39
|
-
imas/backends/imas_core/__init__.py,sha256=
|
|
40
|
-
imas/backends/imas_core/al_context.py,sha256=
|
|
41
|
-
imas/backends/imas_core/db_entry_al.py,sha256
|
|
42
|
-
imas/backends/imas_core/db_entry_helpers.py,sha256=
|
|
43
|
-
imas/backends/imas_core/imas_interface.py,sha256=
|
|
44
|
-
imas/backends/imas_core/mdsplus_model.py,sha256=
|
|
37
|
+
imas/backends/__init__.py,sha256=mRL7PcVmJYdAjTEYwrNBQxgDR_BCjCdrVJeZDxqmhJU,469
|
|
38
|
+
imas/backends/db_entry_impl.py,sha256=jGZDCxHnN9m2haUqp2RIPD1kZDnv4gFI5nQojf-m4X4,3995
|
|
39
|
+
imas/backends/imas_core/__init__.py,sha256=Xdbe5WbZzPEfl2zgPzrAvU6k_tB6N70D1Qey9Gvoljg,190
|
|
40
|
+
imas/backends/imas_core/al_context.py,sha256=qLh-2cDu-pJjuQMobEA5sDXPha7mvNTgpmaT4rzc8GE,14174
|
|
41
|
+
imas/backends/imas_core/db_entry_al.py,sha256=-qPK8qBtG59oJGbEj0xuuT4mHhVoKt2qmBLEPHYTmHs,14893
|
|
42
|
+
imas/backends/imas_core/db_entry_helpers.py,sha256=q1gX-3Q3-2G6WjA-Oz-xh2srwBJrG-7x8PnapGAQJWQ,8047
|
|
43
|
+
imas/backends/imas_core/imas_interface.py,sha256=17BqNWjSFKf6E-XJdfRF32DmOvMRf0Q_qgitL01RjBA,7978
|
|
44
|
+
imas/backends/imas_core/mdsplus_model.py,sha256=TIe_Fg3r34wrIpvaqEnNV-XWPkh_jrlFs2peBwkWWsE,14795
|
|
45
45
|
imas/backends/imas_core/uda_support.py,sha256=lxHzby6Fkkpn5j6yWpQrlqlwng-gA9O_hVK03Wf_Ij8,1770
|
|
46
|
-
imas/backends/netcdf/__init__.py,sha256=
|
|
47
|
-
imas/backends/netcdf/db_entry_nc.py,sha256=
|
|
48
|
-
imas/backends/netcdf/ids2nc.py,sha256=
|
|
46
|
+
imas/backends/netcdf/__init__.py,sha256=T1xOq4F7fJtFKYtzQQwVOV_9r9plNH6kgpUsDx6vDN0,191
|
|
47
|
+
imas/backends/netcdf/db_entry_nc.py,sha256=n2Kq0h3VMYXPBwJyR3HjdahpKfHdlYHIdcJH4Wfhcwg,7078
|
|
48
|
+
imas/backends/netcdf/ids2nc.py,sha256=k5nbkNf9gQ-TsO48NgQ1D_AOppmxzYvzDeKax1ybSaA,13385
|
|
49
49
|
imas/backends/netcdf/nc2ids.py,sha256=rAEzJCqcZfFTy_co75TmpoXN42O4LIuv0yjxnjBm-bo,11879
|
|
50
|
-
imas/backends/netcdf/nc_metadata.py,sha256=
|
|
50
|
+
imas/backends/netcdf/nc_metadata.py,sha256=mA40EISyd7f53DpMjjs1W14tgyyc7tDnxy-gD5vjBvo,16175
|
|
51
51
|
imas/backends/netcdf/nc_validate.py,sha256=4ixuTWeIEEwUFuCFdvPxZBXN-_boupzZCfeDQ0eD1io,2307
|
|
52
|
-
imas/command/cli.py,sha256=
|
|
53
|
-
imas/command/db_analysis.py,sha256=
|
|
54
|
-
imas/command/helpers.py,sha256=
|
|
55
|
-
imas/command/timer.py,sha256=
|
|
52
|
+
imas/command/cli.py,sha256=Z5dNh3HKU8QaUaOjFptnnraFVMKPKYcXfdsLHGZhV3Q,8401
|
|
53
|
+
imas/command/db_analysis.py,sha256=D1wTA0y7zFdFPd-YTwoKJVRRPGABRsV7aaTWCYjbdHw,10454
|
|
54
|
+
imas/command/helpers.py,sha256=u2pNi5wYxmeVA2SsCqWP5-D334GHXnW5vjyWmo8zmhc,1499
|
|
55
|
+
imas/command/timer.py,sha256=kyYGOGVTzeYzq8FWAvLqlGS-vVM7lO6hTozh-0aBUBA,2328
|
|
56
56
|
imas/test/test_all_dd_versions.py,sha256=8T9q9S7Vhwa96y6KUDv7HoeuOPlc6RovEhPZEseDoDs,790
|
|
57
57
|
imas/test/test_cli.py,sha256=ZSQdO5t4n0wa2ohJNsRQEVftJOxyDIHsj_IUZxKuszA,1677
|
|
58
58
|
imas/test/test_dbentry.py,sha256=fq49bh7fa2O7ocLiXiDSB5EEVII6Cx3zeoiU5uzjyo8,4025
|
|
59
|
-
imas/test/test_dd_helpers.py,sha256=
|
|
59
|
+
imas/test/test_dd_helpers.py,sha256=dV5m6J5EMXGij0UOtXDxD2St9sKrfGhixk-QlH1v2-E,1691
|
|
60
60
|
imas/test/test_dd_zip.py,sha256=SgKPufIvk3tK_Q4JpHKq57g0lKthEj1IgcdZ2c-IzwI,820
|
|
61
61
|
imas/test/test_deepcopy.py,sha256=vYTwpEqRpi-G-xVSRWVIwLL_jBY7f6v31QPOU0e_FKs,606
|
|
62
62
|
imas/test/test_exception.py,sha256=bL_JlWsdtT-emKkSHx1yFbDKLqWOx8piCFBNHJ4osig,408
|
|
63
63
|
imas/test/test_get_sample.py,sha256=BMoVJS4PgtV3S-AUnH6MJO2F8og1TZQk3KzOxGVa0as,16031
|
|
64
|
-
imas/test/test_hash.py,sha256=
|
|
64
|
+
imas/test/test_hash.py,sha256=l4yoTBOm4QFsOTYxbhC3v5Ll7ytfEcbL4aVsu3wBEfc,6122
|
|
65
65
|
imas/test/test_helpers.py,sha256=ynhwAW5lotJfbscub_S2cppHWyruxDiT304ELyjjFIA,14647
|
|
66
66
|
imas/test/test_identifiers.py,sha256=UXjgZJBRYQVnHejpdug6umNcnutdgQkAnWuTNduxgig,3895
|
|
67
67
|
imas/test/test_ids2nc.py,sha256=zLp0F6GW04gU6HYp63bWivFS3Let_dwMohYy6Rgbis0,6040
|
|
68
|
-
imas/test/test_ids_ascii_data.py,sha256=
|
|
69
|
-
imas/test/test_ids_convert.py,sha256=
|
|
68
|
+
imas/test/test_ids_ascii_data.py,sha256=apah_SmGXKuATDEq-ADePQejh9qW4gXphMbCGKA8X34,1116
|
|
69
|
+
imas/test/test_ids_convert.py,sha256=CCOOKuVQ8G_vwpvK3g9UqKBPO4Vc1WM87oWwpc2jRqI,16099
|
|
70
70
|
imas/test/test_ids_coordinates.py,sha256=d6o5wxNE-V_JFZ0Qq6Vz3UGC2KuhuVwVah06REnnbcI,6002
|
|
71
71
|
imas/test/test_ids_data_type.py,sha256=VGQnJ-aeHzStJJQsnv3B2jr4rs33vRKKkOJxG-Szk-Y,1443
|
|
72
72
|
imas/test/test_ids_factory.py,sha256=5izNPvMmpt64wgOxh2ResvzsRgE2ZVtaNZlYuU_27YY,1062
|
|
73
73
|
imas/test/test_ids_metadata.py,sha256=hq8ua850GQXhQXpcF_9nNGX_UwJke1QCcR8Hr188gX4,1997
|
|
74
|
-
imas/test/test_ids_mixin.py,sha256=
|
|
74
|
+
imas/test/test_ids_mixin.py,sha256=J_xrGad3S1lljMCyxGlQYGsTzmNX1fB6kqk3GicYuEI,722
|
|
75
75
|
imas/test/test_ids_path.py,sha256=z9OS8SY4ytzJF70aEs8m6Y9pdfP_Y2p1q5gLIa55mVI,6126
|
|
76
|
-
imas/test/test_ids_primitive.py,sha256=
|
|
76
|
+
imas/test/test_ids_primitive.py,sha256=RqHuqHH4r1hMDaZYMphfGoENH-c9mU6UnK7cyrAhHyo,4272
|
|
77
77
|
imas/test/test_ids_struct_array.py,sha256=oK09V2GzqAEaJW1taFxRMzrxF_B79boBLjdm8JQY_lM,2863
|
|
78
|
-
imas/test/test_ids_structure.py,sha256=
|
|
78
|
+
imas/test/test_ids_structure.py,sha256=WoFsWbIyoy5heRfADP31-STEWcQGY7zh5pkGV7MK69I,2240
|
|
79
79
|
imas/test/test_ids_toplevel.py,sha256=x53HlA4__xLoS5v2QY_8_vcmh-65xdfYNQMjOMQoKPk,1457
|
|
80
80
|
imas/test/test_ids_validate.py,sha256=0tRwmId61JFLlFmz-17DRKxntQtsKn_kRZULznt4d-g,11903
|
|
81
81
|
imas/test/test_latest_dd_autofill.py,sha256=3SZD9J4jm_NQznJYT7ypnrmJCRAMV2iM8IJZnymrfJQ,2052
|
|
@@ -101,9 +101,9 @@ imas/test/test_str_1d.py,sha256=d6GrmV4OYG9f4ludjZBmuqyKOM9XIExTqMh8aQ1UJcQ,3453
|
|
|
101
101
|
imas/test/test_time_slicing.py,sha256=FwbdggRJ75Suc268-89daCSaVXhzl8pZZm3Od13EiR4,6959
|
|
102
102
|
imas/test/test_uda_support.py,sha256=AmakuexebZfJ2-vk_DHfNRPwHmNM2RnwzXqT0eWwWJ0,338
|
|
103
103
|
imas/test/test_util.py,sha256=Dbl07LhaBZiabm7yh9cfkSS4VkEFsBNoo3fmhQPAC1g,6814
|
|
104
|
-
imas_python-1.1.2.
|
|
105
|
-
imas_python-1.1.2.
|
|
106
|
-
imas_python-1.1.2.
|
|
107
|
-
imas_python-1.1.2.
|
|
108
|
-
imas_python-1.1.2.
|
|
109
|
-
imas_python-1.1.2.
|
|
104
|
+
imas_python-1.1.2.dev57.dist-info/LICENSE.txt,sha256=RzxtV7MG0zbF6dDvQsaZ1OKsHZ7CRyeILenjUIol5rs,7651
|
|
105
|
+
imas_python-1.1.2.dev57.dist-info/METADATA,sha256=vlJ7A2xvcpakidccSfjVcoJdYMPMjHJwnaMXkFl67W4,13621
|
|
106
|
+
imas_python-1.1.2.dev57.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
107
|
+
imas_python-1.1.2.dev57.dist-info/entry_points.txt,sha256=e8oXj2SLwyFEiBeJRaAXRc9EYQ8eHWWn7NWdjixjeDM,99
|
|
108
|
+
imas_python-1.1.2.dev57.dist-info/top_level.txt,sha256=_WFOlA1rmpYm0T73sNo5Ntvs7S3x4cR7UE8Oy5I5eJA,5
|
|
109
|
+
imas_python-1.1.2.dev57.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|