Tools to manipulate the IDSPy Dictionaries
Project description
- Changelog :
v 0.4.1
v 0.4.0
pypi packaging
tests using tox
increase code coverage
v 0.3.0
GitLab Release
HDF5 interface added
v 0.2.1
BUG correction on IDS attributes
Numpy.Array Implementation (still work in progress)
v 0.2.0
Removal of AccessLayer MetaData
v 0.1.1
First Experimental Release
This module contains a serie of function to help mange and manipulate IDSPy dataclasses
fill_missing_values
ids_to_hdf5
hdf5_to_ids
get_ids_value_from_string
set_ids_value_from_string
list_ids_members
copy_ids
Please note that this work is still under progress/heavy development and as experimental status. This means that functions arguments/signatures as long as HDF5 structure might be totally redesigned in the next updates.
## Quick example
1import pprint
2import dataclasses
34
import idspy_toolkit
5from idspy_dictionaries import ids_gyrokinetics
67
pp = pprint.PrettyPrinter(indent=2)
89
ids_test = ids_gyrokinetics.Gyrokinetics()
10# you can directly print the class to see what it looks like :
11pp.pprint(ids_test)
1213
# if you want to see all the available classes in the current module :
14ids_dict = idspy_toolkit.list_ids_members(gkids)
15pp.pprint(ids_dict)
1617
#to fill an IDS with default values
18idspy_toolkit.fill_missing_values(ids_test)
1920
# you can use the . to access ids members :
21pp.pprint(ids_test.ids_properties)
2223
# and to set a value :
24ids_test.ids_properties.comment="a comment"
2526
# if in a script you want to reach a "deeper" value, you can use the function *get_ids_value_from_string*
27idspy_toolkit.get_ids_value_from_string(ids_test, "ids_properties/comment")
28# and for list element, put the element index after an #
29idspy_toolkit.get_ids_value_from_string(ids_test, "tag#0/name")
3031
# same kind of function exist to set a value :
32idspy_toolkit.set_ids_value_from_string(ids_test, "tag#0/name", "a new tag name")
3334
# pour afficher la classe sous forme de dictionnaire (conseil mettez l'ecran en vertical ;)):
35ids_dict = dataclasses.asdict(ids_test)
36pp.pprint(ids_dict)
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.