aiida_pseudo.groups.family.sssp
===============================

.. py:module:: aiida_pseudo.groups.family.sssp

.. autoapi-nested-parse::

   Subclass of ``PseudoPotentialFamily`` designed to represent an SSSP configuration.



Classes
-------

.. autoapisummary::

   aiida_pseudo.groups.family.sssp.SsspConfiguration
   aiida_pseudo.groups.family.sssp.SsspFamily


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

.. py:class:: SsspConfiguration

   Bases: :py:obj:`NamedTuple`


   Named tuple that represents an SSSP configuration.


   .. py:attribute:: version
      :type:  str


   .. py:attribute:: functional
      :type:  str


   .. py:attribute:: protocol
      :type:  str


   .. py:method:: __str__()

      Represent the configuration as a string.



.. py:class:: SsspFamily(label=None, **kwargs)

   Bases: :py:obj:`aiida_pseudo.groups.mixins.RecommendedCutoffMixin`, :py:obj:`aiida_pseudo.groups.family.pseudo.PseudoPotentialFamily`


   Subclass of ``PseudoPotentialFamily`` designed to represent an SSSP configuration.

   The ``SsspFamily`` is essentially a ``PseudoPotentialFamily`` with some additional constraints. It can only be used
   to contain the pseudo potentials and corresponding metadata of an official SSSP configuration.


   .. py:attribute:: _pseudo_types


   .. py:attribute:: label_template
      :value: 'SSSP/{version}/{functional}/{protocol}'



   .. py:attribute:: filename_template
      :value: 'SSSP_{version}_{functional}_{protocol}'



   .. py:attribute:: default_configuration


   .. py:attribute:: valid_configurations


   .. py:method:: get_valid_labels() -> Sequence[str]
      :classmethod:


      Return the tuple of labels of all valid SSSP configurations.



   .. py:method:: format_configuration_label(configuration: SsspConfiguration) -> str
      :classmethod:


      Format a label for an `SsspFamily` with the required syntax.

      :param configuration: the SSSP configuration
      :return: label



   .. py:method:: format_configuration_filename(configuration: SsspConfiguration, extension: str, patch_version: Optional[str] = None) -> str
      :classmethod:


      Format the filename for a file of a particular SSSP configuration as it is available from MC Archive.

      :param configuration: the SSSP configuration.
      :param extension: the filename extension without the leading dot.
      :param patch_version: patch version of the files which overrides the ``version`` specified in the
          ``configuration``. This is necessary because we only let users specify the minor version, not install
          configurations with a specific patch version. The filename on the archive however will contain the patch
          version, so this needs to be substituted.
      :return: filename



