anod.deps
=========

.. py:module:: anod.deps


Attributes
----------

.. autoapisummary::

   anod.deps.logger


Classes
-------

.. autoapisummary::

   anod.deps.BuildVar
   anod.deps.Dependency


Module Contents
---------------

.. py:data:: logger

.. py:class:: BuildVar(name: str, value: Hashable)

   Declare a dependency between an Anod spec and a variable.


   .. py:attribute:: name


   .. py:attribute:: value


   .. py:attribute:: kind
      :value: 'var'



   .. py:method:: __str__() -> str


.. py:class:: Dependency(name: str, product_version: str | None = None, host: str | None = None, target: str | None = None, build: str | None = None, qualifier: str | None | dict[str, str | bool | frozenset] = None, local_name: str | None = None, require: Literal['build_tree'] | Literal['installation'] | Literal['download'] | Literal['source_pkg'] = 'build_tree', track: bool = False, **kwargs: Any)

   .. py:attribute:: kind
      :type:  e3.anod.spec.DEPENDENCY_PRIMITIVE


   .. py:attribute:: name


   .. py:attribute:: product_version
      :value: None



   .. py:attribute:: host
      :value: None



   .. py:attribute:: target
      :value: None



   .. py:attribute:: build
      :value: None



   .. py:attribute:: local_name


   .. py:attribute:: parsed_qualifier
      :type:  dict


   .. py:attribute:: track
      :value: False



   .. py:method:: env(parent: e3.anod.spec.Anod, default_env: e3.env.BaseEnv) -> e3.env.BaseEnv

      Retrieve env for the dependency.

      :param parent: Anod instance in which the dep was declared
      :param default_env: default env for the current context
      :return: env object that should be used by the dependency



