Skip to main content

Python stub file generator.

Project description

pygenstub is a utility for generating stub files from Python source files. It takes a source file as input and creates a stub file with the same base name and the .pyi extension.

PyPI:

https://pypi.python.org/pypi/pygenstub/

Repository:

https://bitbucket.org/uyar/pygenstub

Documentation:

https://pygenstub.readthedocs.io/

If the docstring of a function includes a sig field, the value of that field will be used to generate a prototype by matching the types to the parameters in the same order. For example, for the code given below:

def foo(a, b):
    """Do foo.

    :sig: (int, str) -> None
    """

pygenstub will generate the following stub:

def foo(a: int, b: str) -> None: ...

Usage

pygenstub can be installed using pip:

$ pip install pygenstub

Installation creates a script named pygenstub which can be used as follows:

$ pygenstub foo.py

This command will generate the file foo.pyi in the same directory as the input file. If the output file already exists, it will be overwritten.

pygenstub consists of a single module which itself contains signature fields and commands as described in the documentation. You can see the source code and the autogenerated stub file as an example.

Sphinx autodoc support

If pygenstub is activated as a Sphinx extension (after autodoc), it will insert type comments for parameters and return values in the docstring. It will also remove the signature fields to exclude them from the output:

extensions = [
    'sphinx.ext.autodoc',
    'pygenstub'
]

As an example of the output, you can see the API documentation for pygenstub itself.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygenstub-1.0b4.tar.gz (27.1 kB view hashes)

Uploaded Source

Built Distribution

pygenstub-1.0b4-py2.py3-none-any.whl (11.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page