Skip to main content

Docconvert

Build Status Documentation PyPI Version Supported Python Versions Formatted with Black

Update or convert docstrings in existing Python files.

This Python (3.9+) module and script intends to help Python programmers to enhance internal code documentation using docstrings. It is useful to harmonize or change a project docstring style format.

It will parse one or several python scripts and retrieve existing docstrings. Then, for all found modules/functions/methods/classes, it will convert docstrings with parameters, returns, and other fields formatted in the newly specified style.

Currently, the managed styles in input/output are:

Input

Output

Getting Started

Installation

Docconvert can be installed through pip:

pip install docconvert

Usage

usage: docconvert [-h] [-i {guess,rest,epytext}] [-o {google,numpy,rest,epytext}]
                  [--in-place] [-c CONFIG] [-t THREADS] [-v]
                  source

positional arguments:
  source                The directory or file to convert.

optional arguments:
  -h, --help            show this help message and exit
  -i {guess,rest,epytext}, --input {guess,rest,epytext}
                        Input docstring style. (default: guess)
  -o {google,numpy,rest,epytext}, --output {google,numpy,rest,epytext}
                        Output docstring style to convert to. (default: google)
  --in-place            Write the changes to the input file instead of printing diffs.
  -c CONFIG, --config CONFIG
                        Location of configuration file to use.
  -t THREADS, --threads THREADS
                        Number of threads to use. (default: cpu count)
  -v, --verbose         Log more information.

Examples:

Convert files in src/mypackage to google using 4 threads.

docconvert --output google --threads 4 src/mypackage/

Convert file src/mypackage/myfile.py from rest to google.

docconvert --input rest --output google src/mypackage/myfile.py

Custom Configuration

You can configure optional conversion arguments in a json config file. Just specify a config filepath to the commandline tool.

docconvert --config path/to/config.json src/mypackage/

Detailed description of all configuration options can be found in the documentation.

Contributing

If you would like to contribute, please take a look at the contributor documentation.

Versioning

We use SemVer for versioning. For the versions available, see the tags on the repository.

Python 2.7

We tried really hard to have this package support both Python 2 and 3 for a long time. We've dropped Python 2 support officially. Its just become cumbersome to automate tests for. However, the code will probably still work in Python 2.7+ I think. Good luck!

License

This project is licensed under the BSD-3-Clause License. See the LICENSE.md file for details.

Metadata

Release files for docconvert 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docconvert 2.2.0
File Size Uploaded
docconvert-2.2.0.tar.gz 28.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docconvert 2.2.0
File Interpreter ABI Platform
docconvert-2.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 62.7 kB

Release files / docconvert-2.2.0.tar.gz

Download URL docconvert-2.2.0.tar.gz
Size 28.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e3a32e49de2e6a43536e9d2a17d1678c83e83b15126d6f10c097fdf0dfcf6580
BLAKE2b-256 checksum
How to use checksums
5ab4c206868c067b704c9cfa7aa52141c41692f741cde9acd4d4d7bcf92ca2dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.6

Release files / docconvert-2.2.0-py2.py3-none-any.whl

Download URL docconvert-2.2.0-py2.py3-none-any.whl
Size 34.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
59ca5bd7e59d830d43cbe9279eb87a048041e9c17a88e12df2516ac6508eee24
BLAKE2b-256 checksum
How to use checksums
85df5620237ef20c9eb5b51aaef1f63f5fa5daf7e25a6a9f17170d287f098f6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page