Skip to main content

Tools to manipulate the IDSPy Dictionaries

Project description

Changelog :
  • v 0.4.1

  • correction of a bug with numpy.array having ndim=0 #7

  • improved error message when trying to reach the root of an IDS using a path as string #8

  • list_ids_members returns only all the ids members and not anymore ids root path also

  • add possibility to overwrite HDF5 file written

  • 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

 1  import pprint
 2  import dataclasses
 3 
 4  import idspy_toolkit
 5  from idspy_dictionaries import ids_gyrokinetics
 6 
 7  pp = pprint.PrettyPrinter(indent=2)
 8 
 9  ids_test = ids_gyrokinetics.Gyrokinetics()
10  # you can directly print the class to see what it looks like  :
11  pp.pprint(ids_test)
12 
13  # if you want to see all the available classes in the current module :
14  ids_dict = idspy_toolkit.list_ids_members(gkids)
15  pp.pprint(ids_dict)
16 
17  #to fill an IDS with default values
18  idspy_toolkit.fill_missing_values(ids_test)
19 
20  # you can use the . to access ids members :
21  pp.pprint(ids_test.ids_properties)
22 
23  # and to set a value :
24  ids_test.ids_properties.comment="a comment"
25 
26  # if in a script you want to reach a "deeper" value, you can use the function *get_ids_value_from_string*
27  idspy_toolkit.get_ids_value_from_string(ids_test, "ids_properties/comment")
28  # and for list element, put the element index after an #
29  idspy_toolkit.get_ids_value_from_string(ids_test, "tag#0/name")
30 
31  # same kind of function exist to set a value :
32  idspy_toolkit.set_ids_value_from_string(ids_test, "tag#0/name", "a new tag name")
33 
34  # pour afficher la classe sous forme de dictionnaire (conseil mettez l'ecran en vertical ;)):
35  ids_dict = dataclasses.asdict(ids_test)
36  pp.pprint(ids_dict)

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

idspy_toolkit-0.4.1.tar.gz (23.9 kB view hashes)

Uploaded Source

Supported by

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