nessai.proposal.utils
=====================

.. py:module:: nessai.proposal.utils

.. autoapi-nested-parse::

   Utilities for proposal classes

   ..
       !! processed by numpydoc !!


Functions
---------

.. autoapisummary::

   nessai.proposal.utils.check_proposal_kwargs
   nessai.proposal.utils.get_flow_proposal_class


Module Contents
---------------

.. py:function:: check_proposal_kwargs(ProposalClass, kwargs, strict=False)

   
   Check the keyword arguments are correct for a proposal class.

   Removes any keyword arguments that correspond to another class. Raises an
   error if the keyword arguments are unknown. For example if the class is
   FlowProposal, it will remove any keyword arguments that correspond to
   AugmentedFlowProposal but not raise an error.

   :Parameters:

       **ProposalClass** : Type[FlowProposal]
           Class to check the keyword arguments against.

       **kwargs** : dict
           Dictionary of keyword arguments.

       **strict** : bool
           Raise an error if any extra keyword arguments are provided even if they
           correspond to other proposals.



   :Returns:

       dict
           Dictionary of updated kwargs.











   ..
       !! processed by numpydoc !!

.. py:function:: get_flow_proposal_class(proposal_class: Union[str, None, Callable]) -> Callable

   
   Get the proposal class for the standard nested sampler.

   Can also load proposals from entry points. These take priority of the
   default proposals.

   :Parameters:

       **proposal_class** : Union[str, Proposal, None]
           The name of the proposal class or the class itself. If not specified,
           defaults to :py:obj:`nessai.proposal.flowpropsoal.FlowProposal`.



   :Returns:

       Proposal class
           ..











   ..
       !! processed by numpydoc !!

