Skip to content

Convert any python docstrings with the docstring format you want (Numpydoc, Google, ReST).

License

Notifications You must be signed in to change notification settings

valentingol/docstripy

Repository files navigation

Docstripy - Convert any docstring to any format docstring

Transform your python docstrings to the format you want ✨

Support Nympydoc, Google and ReStructuredText as output styles. The input style should be either Numpy, Google, ReST or even a mix of both.

Python notebook are supported as well!

Release PythonVersion License

Ruff_logo Black_logo

Ruff Flake8 MyPy PyLint

Tests Coverage Documentation Status

Documentation

The documentation 📝 is available at docstripy.readthedocs.io.

How to use

Install the library via pip:

pip install docstripy

Use it like that to write the files in place. Set a directory path to transform all python files in it.

docstripy <dir-or-file_path> -s=<style> -o=<output_path>

Available styles (style) are:

  • "numpy": Numpy doc style (default)
  • "google": Google style
  • "rest": ReST style

See examples in the documentation.

Cool features

See examples of the features in the documentation.

Overwrite the files directly

You can use the -w (or --overwrite) option to write the files in place.

docstripy <dir-or-file_path> -s=<style> -w

You can find an end-to-end example in the documentation.

Notes:

  1. The module takes into account the fonction definitions. If the definition of the function bring new information, this will be added to the docstring. In case of a conflict, the information in the function definition will be prioritized. It means that docstripy will automatically update your docstring if you update your functions!
  2. If the old docstring not already contains information on parameters and/or return elements, the output docstring will not specify those elements either. However, if the function definition contains more information, the docstring will be updated with all the corresponding information available in the signature.

Max line length

You can control the max line length of the docstring with the --len option. By default, there is no limit. The line lenght take into account the indentation found in the file. It does not applied on wild sections such as "Examples" or "Notes".

2 spaces indentation

If your files are indented with 2 spaces, you can use the --n_indent=2 option to the command line.

docstripy <dir-or-file_path> -s=<style> -w --n_indent=2

Note that the default value is 4 spaces but you can set any value you want.

Create a short docstring when missing

When a function has no docstring, a short one will be created based on the function name. You can disable this feature with the --noadd option in command line.

docstripy <dir-or-file_path> -s=<style> -w --noadd

Prevent type hinting

You can disable the type hinting in the docstring with the --notype option.

docstripy <dir-or-file_path> -s=<style> -w --notype

Class docstring

The class docstring is updated based on the class definition with the signature of __init__ method.

About

Convert any python docstrings with the docstring format you want (Numpydoc, Google, ReST).

Resources

License

Stars

Watchers

Forks

Packages

No packages published