# 36.14. nis — Interface to Sun’s NIS (Yellow Pages)¶

The 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 nis module defines the following functions:

nis.match(key, mapname[, domain=default_domain])

Return the match for key in map mapname, or raise an error (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.

Changed in version 2.5: The domain argument allows overriding the NIS domain used for the lookup. If unspecified, lookup is in the default NIS domain.

nis.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.

Changed in version 2.5: The domain argument allows overriding the NIS domain used for the lookup. If unspecified, lookup is in the default NIS domain.

nis.maps([domain=default_domain])

Return a list of all valid maps.

Changed in version 2.5: The domain argument allows overriding the NIS domain used for the lookup. If unspecified, lookup is in the default NIS domain.

nis.get_default_domain()

Return the system default NIS domain.

New in version 2.5.

The nis module defines the following exception:

exception nis.error

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