Support code for linetap.
This, in particular, contains bindings to the InChI library. Use getILib() to obtain the bindings, and see the _InChIBindings docstrings on what you can all. It probably helps to be aware of https://www.inchi-trust.org/wp/download/104/InChI_API_Reference.pdf although the binding is substantially different.
This binding probably leaks memory left and right; I have not given this a great deal of thought so far, as I don’t expect InChI manipulations will be common in long-running code. If that’s overly optimistic, then we’ll need a round of leak hunting.
- exception gavo.protocols.linetap.InChIError(msg: str = '', hint: Optional[str] = None)¶
is raised when a libinchi function indicates an error has occurred.
This is usually rather cryptic but ought to return a numeric code that can be decoded using the libinchi API document.
returns a dictionary from element names to a dictionary of element properties.
returns a shallow binding to the InChI library.
This will always return the same object if called multiple times. It will raise a ReportableError if the library is not available.