+
    WBi                        ^ RI Ht ^ RIHtHtHtHt ^ RIHt ]'       d   ^ RI	H
t
 ^ RIHt  ! R R]],          4      tR# )	    )annotations)TYPE_CHECKINGAnyGenericcast)BuilderConfigBoundApplication)ProjectMetadatac                      ] tR t^tRtRt RR R llt]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltR R ltR R ltR R ltRtR# )BuildHookInterfacea}  
Example usage:

```python tab="plugin.py"
from hatchling.builders.hooks.plugin.interface import BuildHookInterface


class SpecialBuildHook(BuildHookInterface):
    PLUGIN_NAME = "special"
    ...
```

```python tab="hooks.py"
from hatchling.plugin import hookimpl

from .plugin import SpecialBuildHook


@hookimpl
def hatch_register_build_hook():
    return SpecialBuildHook
```
 Nc               8    V ^8  d   QhRRRRRRRRR	RR
RRRRR/# )   rootstrconfigdict[str, Any]build_configr   metadatar   	directorytarget_nameappzApplication | NonereturnNone )formats   "N/usr/lib/python3.14/site-packages/hatchling/builders/hooks/plugin/interface.py__annotate__BuildHookInterface.__annotate__(   sZ        )	
 "     
    c                	Z    Wn         W n        W0n        W@n        WPn        W`n        Wpn        R # N)_BuildHookInterface__root_BuildHookInterface__config!_BuildHookInterface__build_config_BuildHookInterface__metadata_BuildHookInterface__directory _BuildHookInterface__target_name_BuildHookInterface__app)selfr   r   r   r   r   r   r   s   &&&&&&&&r   __init__BuildHookInterface.__init__(   s*     *"$(
r!   c                   V ^8  d   QhRR/# )r   r   r
   r   )r   s   "r   r   r    ;   s     	 	[ 	r!   c                    V P                   f*   ^ RIHp \        W! 4       P	                  4       4      V n         V P                   # )zQ
An instance of [Application](../utilities.md#hatchling.bridge.app.Application).
r	   )r*   hatchling.bridge.appr
   r   get_safe_application)r+   r
   s   & r   r   BuildHookInterface.app:   s4    
 ::8k;=+M+M+OPDJzzr!   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r    G   s      c r!   c                    V P                   # )z
The root of the project tree.
)r$   r+   s   &r   r   BuildHookInterface.rootF   s    
 {{r!   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    N   s     	 	 	r!   c                    V P                   # )z
The cumulative hook configuration.

```toml config-example
[tool.hatch.build.hooks.<PLUGIN_NAME>]
[tool.hatch.build.targets.<TARGET_NAME>.hooks.<PLUGIN_NAME>]
```
)r%   r6   s   &r   r   BuildHookInterface.configM   s     }}r!   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    Z   s      / r!   c                	    V P                   # r#   )r'   r6   s   &r   r   BuildHookInterface.metadataY   s     r!   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    _   s     # #0 #r!   c                    V P                   # )zZ
An instance of [BuilderConfig](../utilities.md#hatchling.builders.config.BuilderConfig).
)r&   r6   s   &r   r   BuildHookInterface.build_config^   s    
 """r!   c                   V ^8  d   QhRR/# r4   r   )r   s   "r   r   r    f   s        3  r!   c                    V P                   # )z
The build directory.
)r(   r6   s   &r   r   BuildHookInterface.directorye   s    
 r!   c                   V ^8  d   QhRR/# r4   r   )r   s   "r   r   r    m   s     " "S "r!   c                    V P                   # )z&
The plugin name of the build target.
)r)   r6   s   &r   r   BuildHookInterface.target_namel   s    
 !!!r!   c                   V ^8  d   QhRR/# )r   r   	list[str]r   )r   s   "r   r   r    s   s      i r!   c                    . # )a  
A list of extra [dependencies](../../config/dependency.md) that must be installed
prior to builds.

!!! warning
    - For this to have any effect the hook dependency itself cannot be dynamic and
        must always be defined in `build-system.requires`.
    - As the hook must be imported to call this method, imports that require these
        dependencies must be evaluated lazily.
r   r6   s   &r   dependenciesBuildHookInterface.dependenciess   s	     	r!   c                    V ^8  d   QhRRRR/# )r   versionsrH   r   r   r   )r   s   "r   r   r       s      i D r!   c                    R# )z
This occurs before the build process if the `-c`/`--clean` flag was passed to
the [`build`](../../cli/reference.md#hatch-build) command, or when invoking
the [`clean`](../../cli/reference.md#hatch-clean) command.
Nr   )r+   rM   s   &&r   cleanBuildHookInterface.clean       r!   c               $    V ^8  d   QhRRRRRR/# )r   versionr   
build_datar   r   r   r   )r   s   "r   r   r       s!      # > d r!   c                    R# )zs
This occurs immediately before each build.

Any modifications to the build data will be seen by the build target.
Nr   )r+   rS   rT   s   &&&r   
initializeBuildHookInterface.initialize   rQ   r!   c               (    V ^8  d   QhRRRRRRRR/# )r   rS   r   rT   r   artifact_pathr   r   r   )r   s   "r   r   r       s*        PS X\ r!   c                    R# )z
This occurs immediately after each build and will not run if the `--hooks-only` flag
was passed to the [`build`](../../cli/reference.md#hatch-build) command.

The build data will reflect any modifications done by the target during the build.
Nr   )r+   rS   rT   rY   s   &&&&r   finalizeBuildHookInterface.finalize   rQ   r!   )__app__build_config__config__directory
__metadata__root__target_namer#   )__name__
__module____qualname____firstlineno____doc__PLUGIN_NAMEr,   propertyr   r   r   r   r   r   r   rJ   rO   rV   r[   __static_attributes__r   r!   r   r   r      s    0 K&$ 	 	   	 	   # #     " " r!   r   N)
__future__r   typingr   r   r   r   hatchling.builders.configr   r0   r
   hatchling.metadata.corer   r   r   r!   r   <module>rp      s.    " 4 4 807H!34 Hr!   