:py:mod:`wfexs_backend.utils.passphrase_wrapper`
================================================

.. py:module:: wfexs_backend.utils.passphrase_wrapper

.. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper
   :allowtitles:

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

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`RemoteWordlistResource <wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource>`
     - .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource
          :summary:
   * - :py:obj:`WfExSPassphraseGenerator <wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator>`
     - .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator
          :summary:
   * - :py:obj:`WfExSPassGenSingleton <wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton>`
     - .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton
          :summary:

API
~~~

.. py:class:: RemoteWordlistResource
   :canonical: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource

   Bases: :py:obj:`typing.NamedTuple`

   .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource

   .. py:attribute:: uri
      :canonical: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.uri
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.uri

   .. py:attribute:: substart
      :canonical: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.substart
      :type: int
      :value: 0

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.substart

   .. py:attribute:: subend
      :canonical: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.subend
      :type: Optional[int]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.RemoteWordlistResource.subend

.. py:class:: WfExSPassphraseGenerator(cacheHandler: wfexs_backend.cache_handler.SchemeHandlerCacheHandler, cacheDir: Optional[pathlib.Path] = None, word_sets: Mapping[str, Sequence[RemoteWordlistResource]] = DEFAULT_WORD_SETS)
   :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator

   .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.__init__

   .. py:attribute:: DEFAULT_PASSPHRASE_LENGTH
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.DEFAULT_PASSPHRASE_LENGTH
      :type: Final[int]
      :value: 6

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.DEFAULT_PASSPHRASE_LENGTH

   .. py:attribute:: WFEXS_PASSPHRASE_SCHEME
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.WFEXS_PASSPHRASE_SCHEME
      :type: Final[str]
      :value: 'wfexs.funny-passphrase'

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.WFEXS_PASSPHRASE_SCHEME

   .. py:attribute:: DEFAULT_WORD_SETS
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.DEFAULT_WORD_SETS
      :type: Mapping[str, Sequence[RemoteWordlistResource]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.DEFAULT_WORD_SETS

   .. py:attribute:: MIN_RAND_CHARS
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.MIN_RAND_CHARS
      :type: Final[int]
      :value: 5

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.MIN_RAND_CHARS

   .. py:attribute:: MAX_RAND_CHARS
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.MAX_RAND_CHARS
      :type: Final[int]
      :value: 13

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.MAX_RAND_CHARS

   .. py:property:: fungen
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.fungen
      :type: funny_passphrase.generator.FunnyPassphraseGenerator

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.fungen

   .. py:property:: initialized
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.initialized
      :type: bool

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.initialized

   .. py:method:: initialize() -> bool
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.initialize

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.initialize

   .. py:method:: _materialize_word_sets(raw_word_sets: Mapping[str, Sequence[RemoteWordlistResource]]) -> Mapping[str, CompressedIndexedText]
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator._materialize_word_sets

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator._materialize_word_sets

   .. py:method:: generate_passphrase_random(chosen_wordlist: Optional[Union[str, int, Sequence[Union[str, int]]]] = None, passphrase_length: int = DEFAULT_PASSPHRASE_LENGTH) -> str
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.generate_passphrase_random

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.generate_passphrase_random

   .. py:method:: generate_nickname() -> str
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.generate_nickname

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator.generate_nickname

.. py:class:: WfExSPassGenSingleton()
   :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton

   Bases: :py:obj:`wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator`

   .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton.__init__

   .. py:attribute:: __instance
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton.__instance
      :type: ClassVar[Optional[WfExSPassphraseGenerator]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton.__instance

   .. py:method:: __new__() -> wfexs_backend.utils.passphrase_wrapper.WfExSPassphraseGenerator
      :canonical: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton.__new__

      .. autodoc2-docstring:: wfexs_backend.utils.passphrase_wrapper.WfExSPassGenSingleton.__new__
