# `nis` — Interface to Sun’s NIS (Yellow Pages)

Deprecated since version 3.11, will be removed in version 3.13: The `nis` module is deprecated (see PEP 594 for details).

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.

Availability: not Emscripten, not WASI.

This module does not work or is not available on WebAssembly platforms `wasm32-emscripten` and `wasm32-wasi`. See WebAssembly platforms for more information.

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.

  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.

  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.

  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.

The `nis` module defines the following exception:

exception nis.error

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