.. crypto_enigma documentation file

.. _home:

.. warning::

   This documentation under construction and incomplete.

.. note::

   Full documentation for the API currently under construction (here). In the meantime the `Hackage documentation`_
   for the `Haskell version`_ (which has essentially the same API) serves as a temporary substitute.

*************
crypto-enigma
*************

.. automodule:: crypto_enigma

Sitemap
=======

.. toctree::
    :maxdepth: 5

    machine
    components

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`



.. crypto_enigma documentation file

.. _home:

.. warning::

   This documentation under construction and incomplete.

.. note::

   Full documentation for the API currently under construction (here). In the meantime the `Hackage documentation`_
   for the `Haskell version`_ (which has essentially the same API) serves as a temporary substitute.

*************
crypto-enigma
*************

.. automodule:: crypto_enigma

Sitemap
=======

.. toctree::
    :maxdepth: 5

    machine
    components

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`


Tasks
=====

.. todo::

    Resolve where to document properties, perhaps moving to `config_enigma` and explain fully there.
    This may involve:

    * Hiding the arguments to `EnigmaConfig` to make clear it isn't used as a constructor.
    * Hiding the properties of an `EnigmaConfig`; or at least better explaining them and their relationship
      to the constructor arguments (e.g., reordering and adding at ends) of just the three that aren't
      redundant.
    * Decide on a consisnt place to equate with German terms (and use variables defined below).

.. todo::

    Define all German terms, especially those that map to constructor arguments and make links for them as done
    for *Ringstellung*.

.. todo::

    Create a single location (section?) to where the following are defined:

    * mapping
    * position
    * turnover

.. todo::

    Figure out how to deal with functions tat return Unicode in doctests.

.. todo::

    Explain non-mutability of `EnigmaConfig` and how stepping makes a *new* one.

.. todo::

    Ask about alternatives to ReadTheDocs (for autogenerated hosted docs) or a way to pick a theme there:
    the RTD theme is terrible.



Add documentation tasks as todos
Add documentation tasks as todos
