Skip to content
This repository has been archived by the owner on Mar 8, 2024. It is now read-only.
/ archives Public archive

a new way to do python code documentation

License

Notifications You must be signed in to change notification settings

jpetrucciani/archives

Repository files navigation

archives: a new way to do python code documentation

PyPI version Code style: black Python 3.6+ supported Documentation style: archives

archives is a new style of python code documentation, as well as a linter for the documentation itself. It can help you ensure that your docstrings in your classes and functions stay up to date, and that they adequately explain their purpose, arguments, and return value.

Perhaps the archives are incomplete

Features

  • linter for docstrings (work in progress, but usable!)
  • (coming soon) documentation generator

Usage

Installation

pip install archives

Run the Linter

# run archives (on itself!)
archives archives/

# archives.py:846:0: F104 function 'path_empty' missing @ret tag
#
# Impossible! Perhaps your archives are incomplete?
# 1 issues found.

# list tags!
archives --list-tags

# @arg    describe an argument of a function
# @author denote the author of a module/class/function
# @cc     denote the complexity of a function
# @desc   describe a module/class/function
# @link   add a link to the generated documentation
# @nodoc  disable this module/class/function in the documentation
# @nolint disable archives linting in this module/class/function
# @note   add a note to a module/class/function
# @ret    describe the return value of a function
# @todo   tag something as a todo
# @warn   add a warning to a module/class/function

# list rules!
archives --list-rules


# disable rules!
archives --disable M100 .

# different formats for output! defaults to flake8
archives --format pylint archives.py

Testing

Tests can be run with tox!

# run tests
tox

# only one version of python
tox -e py36

Caveats

archives supports python 3.8+ in version 0.13 and beyond, however, version 0.13 and beyond will show slightly different CC values due to how branches are calculated.

Todo

  • more rules
  • better system for multi-check rules
  • more output formats
  • potentially spell-checking inside desc?
  • documentation generator
  • tests