Provided by: mypy_0.971-4_all bug

NAME

       stubgen - Generate draft type hint stubs for Python modules

SYNOPSIS

       stubgen [-h] [-py2] [-m MODULE] [-p PACKAGE] [OPTIONS...] [FILES...]

DESCRIPTION

       Mypy  is a static type checker for Python 3 and Python 2.7. Mypy includes the stubgen tool
       that can automatically generate stub files (.pyi files) for Python modules and C extension
       modules.

       A  stub  file (see PEP 484) contains only type hints for the public interface of a module,
       with empty function bodies. Mypy can use a stub file instead of the real implementation to
       provide  type  information  for  the module. They are useful for third-party modules whose
       authors have not yet added type hints (and when no stubs are available in typeshed) and  C
       extension modules (which mypy can’t directly process).

       Stubgen  generates  draft  stubs.  The auto-generated stub files often require some manual
       updates, and most types will default to Any. The stubs will be much more useful if you add
       more precise type annotations, at least for the most commonly used functionality.

OPTIONS

       NOTE:
          The command-line flags may change between releases.

   Specifying what to stub
       You can give stubgen paths of the source files for which you want to generate stubs:

          $ stubgen foo.py bar.py

       This  generates stubs out/foo.pyi and out/bar.pyi. The default output directory out can be
       overridden with -o DIR.

       You can also pass directories, and stubgen will recursively search them for any .py  files
       and generate stubs for all of them:

          $ stubgen my_pkg_dir

       Alternatively, you can give module or package names using the -m or -p options:

          $ stubgen -m foo -m bar -p my_pkg_dir

       Details of the options:

       -m MODULE, --module MODULE
              Generate  a  stub  file  for  the  given module. This flag may be repeated multiple
              times.

              Stubgen will not recursively generate stubs for  any  submodules  of  the  provided
              module.

       -p PACKAGE, --package PACKAGE
              Generate stubs for the given package. This flag maybe repeated multiple times.

              Stubgen will recursively generate stubs for all submodules of the provided package.
              This flag is identical to --module apart from this behavior.

       NOTE:
          You can't mix paths and -m/-p options in the same stubgen invocation.

       Stubgen applies heuristics to avoid generating stubs for submodules that include tests  or
       vendored third-party packages.

   Specifying how to generate stubs
       By  default  stubgen  will  try  to  import  the target modules and packages.  This allows
       stubgen to use runtime introspection to generate stubs for  C  extension  modules  and  to
       improve  the  quality  of  the  generated stubs. By default, stubgen will also use mypy to
       perform light-weight semantic analysis of any Python modules. Use the following  flags  to
       alter the default behavior:

       --no-import
              Don't  try  to  import  modules. Instead only use mypy's normal search mechanism to
              find sources. This does not support C extension modules. This  flag  also  disables
              runtime  introspection functionality, which mypy uses to find the value of __all__.
              As result the set of exported imported names in stubs may be incomplete. This  flag
              is generally only useful when importing a module causes unwanted side effects, such
              as the running of tests. Stubgen tries to  skip  test  modules  even  without  this
              option, but this does not always work.

       --parse-only
              Don't  perform  semantic analysis of source files. This may generate worse stubs --
              in particular, some module, class, and  function  aliases  may  be  represented  as
              variables  with  the  Any  type. This is generally only useful if semantic analysis
              causes a critical mypy error.

       --doc-dir PATH
              Try to infer better signatures by parsing .rst documentation  in  PATH.   This  may
              result in better stubs, but currently it only works for C extension modules.

   Additional flags
       -h, --help
              Show help message and exit.

       --py2  Run stubgen in Python 2 mode (the default is Python 3 mode).

       --ignore-errors
              If  an  exception  was  raised  during  stub  generation,  continue  to process any
              remaining modules instead of immediately failing with an error.

       --include-private
              Include definitions that are considered private in stubs (with names such  as  _foo
              with single leading underscore and no trailing underscores).

       --export-less
              Don't  export  all  names  imported  from  other  modules  within the same package.
              Instead, only export imported names that are not  referenced  in  the  module  that
              contains the import.

       --search-path PATH
              Specify module search directories, separated by colons (only used if --no-import is
              given).

       --python-executable PATH
              Use Python interpreter at PATH for importing  modules  and  runtime  introspection.
              This  has  no  effect  with  --no-import,  and this only works in Python 2 mode. In
              Python 3 mode the Python interpreter used to run stubgen will always be used.

       -o PATH, --output PATH
              Change the output directory.  By  default  the  stubs  are  written  in  the  ./out
              directory. The output directory will be created if it doesn't exist. Existing stubs
              in the output directory will be overwritten without warning.

       -v, --verbose
              Produce more verbose output.

       -q, --quiet
              Produce less verbose output.

ENVIRONMENT

       MYPYPATH
              Additional module search path entries. The format is the same as the shell's $PATH:
              one or more directory pathnames separated by colons.

SEE ALSO

       mypy(1)

       Full           documentation           is           available          online          at:
       https://mypy.readthedocs.io/en/latest/stubgen.html or locally at: /usr/share/doc/mypy/html
       (requires mypy-doc package).

AUTHOR

       Jukka Lehtosalo and contributors

                                           Sep 26, 2022                                STUBGEN(1)