StructureGenerator / surge

A Fast Chemical Graph Generator
Apache License 2.0
73 stars 11 forks source link

Provide bindings in high-level programming languages #5

Open cthoyt opened 2 years ago

cthoyt commented 2 years ago

Most users of powerful, performant packages written in low level languages also want high-level bindings so they can write legible, reusable code. For example, RDKit is written in low level languages but exposes Python bindings. Providing this for surge, as well as distributing wheels on PyPI would make surge much more accessible (I'd posit most users don't want to run gcc before using your software)

steinbeck commented 2 years ago

Definitely worth thinking about, although calling the command line and reading stdout from python is pretty straightforward. I can see a python binding being useful for a library with lots of API functions, but a single command line call? ... Anyway, we'll push this to the wishlist :)

cthoyt commented 2 years ago

well having a function that takes in a formula and gives a list of, say, RDKit or CDK molecule objects back would be pretty great for integrating in other workflows. At a very superficial level this is possible to write as a third party to just do a system call and format in the right arguments, but this is the kind of hacky stuff that's been holding back computational sciences for a long time for various reasons