Change log

This is a list of changes between each version.

0.4.2

Final version of library with updated links to repositories and documentation. No significant code change.

0.4.1

Interface changes

  • Slightly changed representations of complex number in to-string conversions depending on the conversion rules ("python" vs "text").

Additions

0.4.0

Interface changes

Additions

  • General

    • Added pandas support in a bunch of places: loading/saving tables and dictionaries; data processing routines in core.dataproc; conversion of DataTable and Dictionary object to/from pandas dataframes.
    • Expanded string conversion to support more explicit variable classes. For example, a numpy array np.array([1,2,3]) can be converted into a string 'array([1, 2, 3])' instead of a more ambiguous string '[1, 2, 3]' (which can also be a list). This behavior is controlled by a new argument use_classes in string conversion functions (such as string.to_string() and string.from_string()) and an argument use_rep_classes in file saving (savefile.save())
    • Added general library parameters, which can be accessed via pylablib.par (works as a dictionary object). So far there’s only one supported parameter: the default return type of the CSV file reading (can be "pandas" for pandas dataframe, "table" for DataTable object, or "array" for raw numpy array).
  • Devices

  • GUI and threading

  • File saving / loading

    • Added notation for dictionary files to include nested structures (‘prefix blocks’). This lets one avoid common path prefix in stored dictionary files. For example, a file

      some/long/prefix/x  1
      some/long/prefix/y  2
      some/long/prefix/y  3
      

      can be represented as

      //some/long/prefix
          x   1
          y   2
          z   3
      ///
      

      The meaningful elements are //some/long/prefix line denoting that following elements have the given prefix, and /// line denoting that the prefix block is done (indentation is only added for clarity).

    • New dictionary entries: dict_entry.ExternalNumpyDictionaryEntry (external numpy array, can have arbitrary number of dimensions) and dict_entry.ExpandedContainerDictionaryEntry (turns lists, tuples and dicts into dictionary branches, so that their content can benefit from the automatic table inlining, dictionary entry classes, etc.).

  • Data processing

  • Miscellaneous