gavo.protocols.linetap module

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)[source]

Bases: Error

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.

gavo.protocols.linetap.getElementData()[source]

returns a dictionary from element names to a dictionary of element properties.

gavo.protocols.linetap.getILib()[source]

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.