GalSim-developers/GalSim — pull request #241 by rmjarvis (2012-09-05 09:18:50+00:00)
Title: #148 Improve functionality of the config parsing

There are now configuration files (both yaml and json) that build the same files as those built by 8 current demo scripts. These are in examples/*.yaml and examples/json/*.json. (I think it's fair to say that yaml is our preferred format, hence the json files being relegated to a subdirectory.)

There is are two executable scripts in the examples directory called check_yaml and check_json, which run both the Demo.py files and also the versions that parse the .yaml and .json config files and compare their outputs. The scripts aren't very sophisticated, but if the last line of output is
```
Checking diffs: (No output means success)
```
then everything is working correctly.

There is also fairly complete documentation on the [wiki](https://github.com/GalSim-developers/GalSim/wiki/Config-Documentation), which could be considered part of the pull request, even though it won't show up in the diff.

The branch to be merged is #148, but other issues that could likely be closed after this is merged are:

- #153 We got rid of the object_param_dict, so we don't need unit tests to keep it updated. (And there are now unit tests for the new way of doing the config stuff.)
- #195 We realized this was not necessary, and it seemed to unwieldy and difficult to manage to be worth keeping. Rolled back in #234.
- #219 Making Angle immutable may still be a good idea, but it's not as important now. At least the specific concerns put forward in that issue aren't relevant anymore.
- #220 The concerns about shears in config files that were raised there aren't relevant anymore.
- #234 The branch for #234 was merged into this branch, so it is effectively included in this pull request.