class_docstr: In order to support editable installations (see :pep:`660`) all
  build subcommands **SHOULD** implement this protocol. They also **MUST** inherit
  from ``setuptools.Command``.
  
  When creating an :pep:`editable wheel <660>`, ``setuptools`` will try to evaluate
  custom ``build`` subcommands using the following procedure:
  
  1. ``setuptools`` will set the ``editable_mode`` attribute to ``True``
  2. ``setuptools`` will execute the ``run()`` command.
  
     .. important::
        Subcommands **SHOULD** take advantage of ``editable_mode=True`` to adequate
        its behaviour or perform optimisations.
  
        For example, if a subcommand doesn't need to generate an extra file and
        all it does is to copy a source file into the build directory,
        ``run()`` **SHOULD** simply "early return".
  
        Similarly, if the subcommand creates files that would be placed alongside
        Python files in the final distribution, during an editable install
        the command **SHOULD** generate these files "in place" (i.e. write them to
        the original source directory, instead of using the build directory).
        Note that ``get_output_mapping()`` should reflect that and include mappings
        for "in place" builds accordingly.
  
  3. ``setuptools`` use any knowledge it can derive from the return values of
     ``get_outputs()`` and ``get_output_mapping()`` to create an editable wheel.
     When relevant ``setuptools`` **MAY** attempt to use file links based on the value
     of ``get_output_mapping()``. Alternatively, ``setuptools`` **MAY** attempt to use
     :doc:`import hooks <python:reference/import>` to redirect any attempt to import
     to the directory with the original source code and other files built in place.
  
  Please note that custom sub-commands **SHOULD NOT** rely on ``run()`` being
  executed (or not) to provide correct return values for ``get_outputs()``,
  ``get_output_mapping()`` or ``get_source_files()``. The ``get_*`` methods should
  work independently of ``run()``.
class_docstr_tok: ["In","order","to","support","editable","installations","(","see",":","pep",":","`","660","`",")","all","build","subcommands","*","*","SHOULD","*","*","implement","this","protocol",".","They","also","*","*","MUST","*","*","inherit","from","``","setuptools.Command","``",".","When","creating","an",":","pep",":","`","editable","wheel","<","660",">","`",",","``","setuptools","``","will","try","to","evaluate","custom","``","build","``","subcommands","using","the","following","procedure",":","1",".","``","setuptools","``","will","set","the","``","editable_mode","``","attribute","to","``","True","``","2",".","``","setuptools","``","will","execute","the","``","run","(",")","``","command",".","..","important",":",":","Subcommands","*","*","SHOULD","*","*","take","advantage","of","``","editable_mode=True","``","to","adequate","its","behaviour","or","perform","optimisations",".","For","example",",","if","a","subcommand","does","n't","need","to","generate","an","extra","file","and","all","it","does","is","to","copy","a","source","file","into","the","build","directory",",","``","run","(",")","``","*","*","SHOULD","*","*","simply","``","early","return","''",".","Similarly",",","if","the","subcommand","creates","files","that","would","be","placed","alongside","Python","files","in","the","final","distribution",",","during","an","editable","install","the","command","*","*","SHOULD","*","*","generate","these","files","``","in","place","''","(","i.e",".","write","them","to","the","original","source","directory",",","instead","of","using","the","build","directory",")",".","Note","that","``","get_output_mapping","(",")","``","should","reflect","that","and","include","mappings","for","``","in","place","''","builds","accordingly",".","3",".","``","setuptools","``","use","any","knowledge","it","can","derive","from","the","return","values","of","``","get_outputs","(",")","``","and","``","get_output_mapping","(",")","``","to","create","an","editable","wheel",".","When","relevant","``","setuptools","``","*","*","MAY","*","*","attempt","to","use","file","links","based","on","the","value","of","``","get_output_mapping","(",")","``",".","Alternatively",",","``","setuptools","``","*","*","MAY","*","*","attempt","to","use",":","doc",":","`","import","hooks","<","python",":","reference\/import",">","`","to","redirect","any","attempt","to","import","to","the","directory","with","the","original","source","code","and","other","files","built","in","place",".","Please","note","that","custom","sub-commands","*","*","SHOULD","NOT","*","*","rely","on","``","run","(",")","``","being","executed","(","or","not",")","to","provide","correct","return","values","for","``","get_outputs","(",")","``",",","``","get_output_mapping","(",")","``","or","``","get_source_files","(",")","``",".","The","``","get_","*","``","methods","should","work","independently","of","``","run","(",")","``","."]
docstr: Return a list of files intended for distribution as they would have been
  produced by the build.
  These files should be strings in the form of
  ``"{build_lib}/destination/file/path"``.
  
  .. note::
     The return value of ``get_output()`` should include all files used as keys
     in ``get_output_mapping()`` plus files that are generated during the build
     and don't correspond to any source file already present in the project.
docstr_tok: ["Return","a","list","of","files","intended","for","distribution","as","they","would","have","been","produced","by","the","build",".","These","files","should","be","strings","in","the","form","of","``","``","{","build_lib","}","\/destination\/file\/path","''","``",".","..","note",":",":","The","return","value","of","``","get_output","(",")","``","should","include","all","files","used","as","keys","in","``","get_output_mapping","(",")","``","plus","files","that","are","generated","during","the","build","and","do","n't","correspond","to","any","source","file","already","present","in","the","project","."]
code: def get_outputs(self) -> List[str]:
      """
      Return a list of files intended for distribution as they would have been
      produced by the build.
      These files should be strings in the form of
      ``"{build_lib}/destination/file/path"``.
  
      .. note::
         The return value of ``get_output()`` should include all files used as keys
         in ``get_output_mapping()`` plus files that are generated during the build
         and don't correspond to any source file already present in the project.
      """
  
file_path: catboost/contrib/python/setuptools/py3/setuptools/command/build.py
imports: import sys
  from typing import TYPE_CHECKING, List, Dict
  from distutils.command.build import build
  from ..warnings import SetuptoolsDeprecationWarning
label_desc: Use image node_id 5 for calling the SubCommand obj's underlying member method code with example usage: obj.get_outputs() without return types