API reference
=============

.. currentmodule:: molfoundry

This reference documents the public interface re-exported from the top-level
``molfoundry`` package -- everything listed in ``molfoundry.__all__``. It is
generated directly from the source and its type hints, so it always matches the
installed version.

Building molecules and graphs
-----------------------------

Constructors that turn a textual description into a :class:`Graph`, plus the
graph data structure itself.

.. autosummary::
   :toctree: generated
   :nosignatures:

   smiles
   inchi
   molfile
   graphGMLString
   Graph
   Vertex
   Edge
   VertexRange
   EdgeRange
   VertexFilter

Chemical attributes
-------------------

Value types used to label and describe atoms, bonds, and graphs.

.. autosummary::
   :toctree: generated
   :nosignatures:

   GraphType
   BondType
   Charge
   Isotope
   AtomId
   LabelType
   LabelRelation
   LabelSettings
   Conformer
   GraphPrinter

Rules and rule composition
--------------------------

Transformation rules and the algebra for combining them.

.. autosummary::
   :toctree: generated
   :nosignatures:

   ruleGMLString
   ruleGML
   ruleMolFoundry
   Rule
   RCEvaluator
   RCExp
   rcCommon
   rcParallel
   rcSub
   rcSuper

Derivation graphs
-----------------

Reaction networks built by applying rules, and the objects that describe how
each derivation maps atoms.

.. autosummary::
   :toctree: generated
   :nosignatures:

   DG
   Derivation
   Derivations
   DGVertexMapper
   VertexMap
   VertexMapEntry
   AutGroup
   Aut

Strategies
----------

The strategy DSL that drives network expansion.

.. autosummary::
   :toctree: generated
   :nosignatures:

   DGStrat
   GraphState
   addUniverse
   addSubset
   leftPredicate
   rightPredicate
   repeat
   execute
   filterUniverse
   filterSubset
   revive

Stochastic simulation
----------------------

Rule-based Gillespie simulation with on-demand network expansion.

.. autosummary::
   :toctree: generated
   :nosignatures:

   Stochsim
   MultiPhaseStochsim

Post-processing and global state
--------------------------------

Summary output and the implicit global input collections.

.. autosummary::
   :toctree: generated
   :nosignatures:

   enable_post
   disable_post
   postSection
   postChapter
   inputRules
   inputGraphs

Exceptions
----------

.. autosummary::
   :toctree: generated
   :nosignatures:

   LogicError

Subpackages
-----------

.. toctree::
   :maxdepth: 1

   atomtracing
