pr-omethe-us / PyKED

Python interface to the ChemKED database format
https://pr-omethe-us.github.io/PyKED/
BSD 3-Clause "New" or "Revised" License
15 stars 15 forks source link

How to handle YAML imports #38

Closed bryanwweber closed 7 years ago

bryanwweber commented 7 years ago

PyYAML is back from the dead, so let's figure out the best way to handle the YAML parsing libraries. There are three options:

  1. PyYAML (the "official" implementation, slightly outdated, but back from the dead)
  2. ruamel.yaml (the updated implementation)
  3. ruamel_yaml (conda-only package of the updated ruamel library)

It would be nice to pick one and standardize on it. We have chosen ruamel.yaml so far, but there is apparently a bug with it and pylint found in this build failure: https://travis-ci.org/pr-omethe-us/PyKED/jobs/205693652

So I propose we switch to PyYAML for a few reasons

  1. The build failure
  2. PyYAML isn't dead anymore
  3. Confusion between ruamel_yaml and ruamel.yaml
  4. PyYAML is the "official" implementation

An alternate option (that I also like in principle but maybe not in practice) is to support whatever version of the YAML library the user already has installed and install PyYAML if nothing is already installed. This might be a touch difficult on the install side, but the import side should be pretty easy, just try the import until one succeeds a la conda: https://github.com/conda/conda/blob/master/conda/common/yaml.py

kyleniemeyer commented 7 years ago

Yeah, I agree—PyYAML seems the right choice forward.

On Mar 3, 2017, at 1:19 PM, Bryan W. Weber notifications@github.com wrote:

PyYAML is back from the dead, so let's figure out the best way to handle the YAML parsing libraries. There are three options:

PyYAML (the "official" implementation, slightly outdated, but back from the dead) ruamel.yaml (the updated implementation) ruamel_yaml (conda-only package of the updated ruamel library) It would be nice to pick one and standardize on it. We have chosen ruamel.yaml so far, but there is apparently a bug with it and pylint found in this build failure: https://travis-ci.org/pr-omethe-us/PyKED/jobs/205693652

So I propose we switch to PyYAML for a few reasons

The build failure PyYAML isn't dead anymore Confusion between ruamel_yaml and ruamel.yaml PyYAML is the "official" implementation — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.