Skip to main content

Generate, fix and convert docstrings.

Project description

Create, update or convert docstrings in existing Python files, managing several styles.

Project Status

Test Status

Build Documentation Status

License: GPL v3 Code style: black linting: pylint Ruff Checked with pyright pre-commit

Supported Versions

Supports Python39 Supports Python310 Supports Python311 Supports Python312

Description

Command-line program to generate, update or transform docstrings python source code.

The app will parse the requested source files for docstrings as well as function signatures and class bodies.

This information is combined to build up complete docstrings for every function and class including place holders for types and descriptions where none could be found elsewhere.

The output format of the docstrings can be chosen between google, numpy, reST and epydoc. This means that the tool can also be used to transform docstrings in the file from one format into another.

Note however that not all section types are supported for all docstring styles.

Partially because they have not been added yet, but also because not every style officially supports the sections from all others.

To get further information please refer to the documentation.

The tool offers the choice between generating patch files or directly overwriting the python source files.

Start quickly

  • install from PyPi

$ pip install pymend
  • install from sources:

$ pip install git+https://github.com/JanEricNitschke/pymend.git
or
$ git clone https://github.com/JanEricNitschke/pymend.git
$ cd pymend
$ python setup.py install
  • run from the command line:

$ pymend  myfile.py    # will generate a patch
$ pymend -w myfile.py  # will overwrite the file

or

$ pymend  my/folder/
  • get help:

$ pymend -h

Example

TODO

Pre-commit

To use pymend in a pre-commit hook just add the following to your .pre-commit-config.yaml

repos:
-   repo: https://github.com/JanEricNitschke/pymend
    rev: "v1.0.0"
    hooks:
    -   id: pymend
        language: python
        args: ["--write", "--output=numpydoc"]

Acknowledgements

This project was inspired by and is originally based upon pyment. The intended functionality as well as the main entry point remain largerly unchanged. However additional functionality has been added in the form of ast traversal for extracting function and class information.

The docstring parsing has been replaced completely with code taken from the awesome docstring_parser project, specifically this fork.

So far only minor modifications have been made to the docstring parsing functionality. Mainly the addition of the “Methods” section for numpydoc style docstrings. Additionally the the code has been linted as well as type hinted.

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

pymend-1.0.0.tar.gz (80.0 kB view details)

Uploaded Source

Built Distribution

pymend-1.0.0-py3-none-any.whl (60.8 kB view details)

Uploaded Python 3

File details

Details for the file pymend-1.0.0.tar.gz.

File metadata

  • Download URL: pymend-1.0.0.tar.gz
  • Upload date:
  • Size: 80.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for pymend-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8dcec467b210ba3b8b760e3d10a3f03e9172901a98223c4a96c2f834a95def1c
MD5 e3c9e4613f875f058668f2b7d1e3331b
BLAKE2b-256 ef529357b056017c1b3552ecb25e52f350c3febf601f1b62d22e1947c6caf755

See more details on using hashes here.

File details

Details for the file pymend-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pymend-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 60.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for pymend-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7edcf19d68ec423f9c3af9878440bd86a58595fa668b3a3bf3ecc90774344d6d
MD5 60a9acf10acf4c0340cf9e5cab3033f5
BLAKE2b-256 dbb8537555273d3b9dedef55b8d87b8e9333b9aca4d105c2312cb1267c9096b5

See more details on using hashes here.

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