pyinfra.api.inventory module

class pyinfra.api.inventory.Inventory(names_data, override_data=None, **groups)

Bases: object

Represents a collection of target hosts. Stores and provides access to group data, host data and default data for these hosts.

  • names_data – tuple of (names, data)
  • override_data – dictionary of data overrides
  • ssh_* – deprecated, use override_data.ssh_*
  • winrm_* – deprecated, use override_data.winrm_*
  • **groups – map of group name -> (names, data)

Get the base/all data attached to this inventory.


Gets any default data attached to the current deploy, if any.

get_group(name: str, default=<class 'pyinfra.api.exceptions.NoGroupError'>)

Get a list of hosts belonging to a group.


Get data for a single group in this inventory.


Gets aggregated data from a list of groups. Vars are collected in order so, for any groups which define the same var twice, the last group’s value will hold.

get_host(name: str, default=<class 'pyinfra.api.exceptions.NoHostError'>)

Get a single host by name.

get_host_data(hostname: str)

Get data for a single host in this inventory.


Get override data for this inventory.

iter_activated_hosts() Iterator[Host]

Iterates over activated inventory hosts.

iter_active_hosts() Iterator[Host]

Iterates over active inventory hosts.

len_activated_hosts() int

Returns the number of activated inventory hosts.

len_active_hosts() int

Returns the number of active inventory hosts.

make_hosts_and_groups(names, groups)
state: State
pyinfra.api.inventory.extract_name_data(names: List[Any])