
:mod:`nis` --- Interface to Sun's NIS (Yellow Pages)
====================================================

.. module:: nis
   :platform: Unix
   :synopsis: Interface to Sun's NIS (Yellow Pages) library.
.. moduleauthor:: Fred Gansevles <Fred.Gansevles@cs.utwente.nl>
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>


The :mod:`nis` module gives a thin wrapper around the NIS library, useful for
central administration of several hosts.

Because NIS exists only on Unix systems, this module is only available for Unix.

The :mod:`nis` module defines the following functions:


.. function:: match(key, mapname, domain=default_domain)

   Return the match for *key* in map *mapname*, or raise an error
   (:exc:`nis.error`) if there is none. Both should be strings, *key* is 8-bit
   clean. Return value is an arbitrary array of bytes (may contain ``NULL`` and
   other joys).

   Note that *mapname* is first checked if it is an alias to another name.

   The *domain* argument allows to override the NIS domain used for the lookup. If
   unspecified, lookup is in the default NIS domain.


.. function:: cat(mapname, domain=default_domain)

   Return a dictionary mapping *key* to *value* such that ``match(key,
   mapname)==value``. Note that both keys and values of the dictionary are
   arbitrary arrays of bytes.

   Note that *mapname* is first checked if it is an alias to another name.

   The *domain* argument allows to override the NIS domain used for the lookup. If
   unspecified, lookup is in the default NIS domain.


.. function:: maps(domain=default_domain)

   Return a list of all valid maps.

   The *domain* argument allows to override the NIS domain used for the lookup. If
   unspecified, lookup is in the default NIS domain.


.. function:: get_default_domain()

   Return the system default NIS domain.


The :mod:`nis` module defines the following exception:

.. exception:: error

   An error raised when a NIS function returns an error code.

