Skip to main content

Mkdocs plugin for generating Typer CLI docs

Project description

mkdocs-typer2

PyPI version Python 3.10 | 3.11 | 3.12 Ruff License Downloads codecov Issues

A MkDocs plugin that automatically generates beautiful documentation for your Typer CLI applications.

You might be wondering why there are two plugins for Typer. The mkdocs-typer plugin is great, but it hasn't been updated in over a year, and there have been a number of changes to Typer since then. One important change is that Typer now has it's own documentation generation system via the typer <module> utils docs command. This plugin simply leverages that system to generate the documentation for your Typer CLIs.

I created this plugin because the original plugin was no longer working for me, and I wanted to have a simple plugin that would work with the latest version of Typer. If the original mkdocs-typer plugin still works for you, there probably isn't a reason to switch. However, if you are looking for a plugin that will work with the latest version of Typer, this plugin is for you!

Features

  • Seamlessly integrates with MkDocs and Material theme
  • Automatically generates CLI documentation from your Typer commands
  • Supports all Typer command features including arguments, options, and help text
  • Easy to configure and use

Installation

Install using pip:

pip install mkdocs-typer2

Usage

  1. Add the plugin to your mkdocs.yml file:
plugins:
  - mkdocs-typer2

The plugin offers a pretty option that can be set in your mkdocs.yml file to enable pretty documentation. This will use markdown tables to format the CLI options and arguments instead of lists.

plugins:
  - mkdocs-typer2:
      pretty: true
  1. In your Markdown files, use the :::typer directive to generate documentation for your Typer CLI
::: mkdocs-typer2
    :module: my_module
    :name: mycli
  • The :module: option is required and specifies the module containing your Typer CLI application. This is the installed module, not the directory. I.e: If you app is located in src/my_module/cli.py, your :module: should typically be my_module.cli.
  • The :name: option is optional and specifies the name of the CLI. If left blank, your CLI will simply be named CLI in your documentation.

Example

This repository is a good example of how to use the plugin. We have a simple CLI located in src/mkdocs_typer2/cli.py.

The CLI's documentation is automatically generated using the block level directive in docs/cli.md:

::: mkdocs-typer2
    :module: mkdocs_typer2.cli
    :name: mkdocs-typer2

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

mkdocs_typer2-0.1.3.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_typer2-0.1.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_typer2-0.1.3.tar.gz.

File metadata

  • Download URL: mkdocs_typer2-0.1.3.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for mkdocs_typer2-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f24b1def7375428dd2933f3904bfad55bca6bbc252ce2601be53c8dac7168c47
MD5 d3e3401e4c6aae0f8a94a893127d1585
BLAKE2b-256 63bd5fca96ad0c9e6f0e980b0ef5d708f9115b60536316442633cb2aa6a5c3e8

See more details on using hashes here.

File details

Details for the file mkdocs_typer2-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_typer2-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 201ca09d62ed0a2900fa26f11b5afd742bcb6b999d9fc6e3e8bad9d821f46cba
MD5 c0ceee7866b0b46b97622382831faea6
BLAKE2b-256 25166f15c2dac78b0f286c778fd6e98dd2ce9e3342579acea351d4bea54aaa35

See more details on using hashes here.

Supported by

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