* start refactor query pickling
* further query pickling refactoring
* bit of modernization
* partial implementation of query writing
* serialize recursive queries
* new tests
* support QueryAtom and QueryBond with null queries
* more query cleanup
* tests pass
* switch from std::variant to boost::variant
* update clang version for CI
* explicit instantiation of templates
* get dll builds working on windows
* optionally skip h counts on parsing; more query tests
* change in response to review
* changes in response to review
If the property fails to stringify then just don't write the property to json rather than throwing an exception.
Co-authored-by: Jason Biggs <jasonb@wolfram.com>
* expose addRing to python
* backup commit
* basics of atom and bond loading
* basics of atom and bond loading
* do bond stereo too
* Loads of cleanups
Read conformers and molecule properties
Better tests
update one of the test values so that we aren't always testing ccw
* enable auto-download of rapidjson distrib
* reader now mostly done (still missing atomic/bond properties)
* a bit of optimization
* a bit of cleanup
* a bit more optimization
* backup
* test zero-order bonds
* prep work for writer (not done)
* add isotope support
* backup
* getting there with the writing
* progress on writing; still need to do the RDKit part though
* can now roundtrip, including chirality.
double bond stereo needs to wait for backend fixes
* add a timing test for benchmarking
* add a timing test for benchmarking
* add another template
* add parse params; optionally set bond types to aromatic; add python wrapper
* disable benchmark run by default
* write conformers
* refactoring
* docs
* port to commonchem
* switch representation
* start reading and writing properties
* fix a memory problem
* set a common_property for gasteiger charges
* parse partial charges
* add partial charge writing
* reformatting
* add support for disabling parts of the parsing
* remove the "name" property from files
* editing
* more post-review changes
* make the molinterchange build optional
* make them really optional