prjemian / spec2nexus

Converts SPEC data files and scans into NeXus HDF5 files
https://prjemian.github.io/spec2nexus/
4 stars 7 forks source link

refactor XML support to remove lxml requirement #27

Closed prjemian closed 9 years ago

prjemian commented 9 years ago

The lxml package is not available in all Python distributions (such as Canopy Express). Consider refactoring to other packages. What features would be lost? pretty_print?

prjemian commented 9 years ago

It seems that the lxml package is used in spec2nexus with the support for the UXML additions to SPEC at APS beam lines 33ID and 33BM. Since this is developmental, it may be possible to refactor this support to use ElementTree.

The spec.py module has a prettify() method that relies on the lxml package to pretty_print some code. It is possible to do not quite as a good a job with the the minidom package. This is a quality issue and does not have to be a requirement in spec2nexus at this time.

prjemian commented 9 years ago

Since lxml is only used by the plugin support for UXML which is in development at this time, the code supporting UXML and requiring lxml will be moved out of the mainstream so its development can continue. Requirement for lxml will be dropped in the next release.