theochem / iodata

Python library for reading, writing, and converting computational chemistry file formats and generating input files.
https://iodata.readthedocs.io/
GNU Lesser General Public License v3.0
127 stars 46 forks source link

JSON QCSchema update #366

Open tovrstra opened 2 months ago

tovrstra commented 2 months ago

Our JSON QCSchema implementation is a bit outdated and incomplete, despite significant efforts to get this to work. (I appreciate all the hard work that has been done.)

The two main problems are:

Some points need further discussion before embarking on an update:

PaulWAyers commented 2 months ago

I guess the philosophical issue is whether we should expend effort to support QCSchema, or prioritize it over other json schema associated with quantum chemistry. When I first envisioned including it, I thought it was going to end up being the "universal framework for quantum chemistry calculations" which (I think) was the original intention. But it seems that uptake has been limited; I'm not sure how many packages use QCSchema or QCElemental (which, in my biased view, is basically subsumed by AtomDB anyway). There are a decent number of stars and forks on GitHub, and it is linked into the rest of the MolSSI ecosystem (QCArchive, QCEngine, etc.).

I think that the community has not united around a standard (to my knowledge, though I'm outside the loop here) and perhaps never will given that interconversions become easier and easier nowadays. Philosophically, I tend to believe that it's up to the people who conceive the schema to devise utilities to facillitate their use and interconversion, but that's probably naive (if only because everyone is too busy).

For now, I think I'd welcome any contributions along these lines, and perhaps it is an undergraduate project to implement several of the popular schema at some point. But I feel it's relatively low priority, and can be done at the point that someone using IOData needs to implement it for their own work.