vibesketch.document.reaction_library

Offline named-reaction catalogue and editable examples or unfinished scaffolds.

Names and references are factual index metadata. Molecular examples are the project’s teaching schemes from docs/_static/examples/named_reactions.py. Scaffolds deliberately have no molecular graph or chemical reaction arrow: they must not create species, reactions, or calculation jobs by inference.

Functions

get_reaction(identifier)

Resolve a stable catalogue ID, never guess a reaction from a name.

insert_reaction(document, identifier, *[, kind])

Append beside the existing drawing; preserve structures and document metadata.

list_reactions([query])

Find entries by name, alias or ID; accents, punctuation and case are ignored.

reaction_fragment(identifier, *[, kind])

Editable KET.

Classes

ReactionEntry(*, id, name, aliases, scope, ...)

ReactionSource(*, name, url, language)

Exceptions

ReactionRefused

An unknown entry or an unavailable molecular example.

class vibesketch.document.reaction_library.ReactionSource(*, name, url, language)[source]

Bases: BaseModel

Parameters:
model_config = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
url: str
language: str
class vibesketch.document.reaction_library.ReactionEntry(*, id, name, aliases, scope, kind, sources, example_smiles=None, note)[source]

Bases: BaseModel

Parameters:
model_config = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

id: str
name: str
aliases: tuple[str, ...]
scope: Literal['portal', 'supplement']
kind: Kind
sources: tuple[ReactionSource, ...]
example_smiles: str | None
note: str
exception vibesketch.document.reaction_library.ReactionRefused[source]

Bases: ValueError

An unknown entry or an unavailable molecular example.

vibesketch.document.reaction_library.list_reactions(query='')[source]

Find entries by name, alias or ID; accents, punctuation and case are ignored.

Parameters:

query (str)

Return type:

list[ReactionEntry]

vibesketch.document.reaction_library.get_reaction(identifier)[source]

Resolve a stable catalogue ID, never guess a reaction from a name.

Parameters:

identifier (str)

Return type:

ReactionEntry

vibesketch.document.reaction_library.reaction_fragment(identifier, *, kind='example')[source]

Editable KET. Scaffolds require an explicit request; no guessed chemistry.

Parameters:
  • identifier (str)

  • kind (Literal['example', 'scaffold'])

Return type:

dict[str, Any]

vibesketch.document.reaction_library.insert_reaction(document, identifier, *, kind='example')[source]

Append beside the existing drawing; preserve structures and document metadata.

Parameters:
Return type:

Derivation