Skip to content

Add glossary of terms to documentation#3210

Closed
by22Jy wants to merge 4 commits intopallets:stablefrom
by22Jy:add-glossary
Closed

Add glossary of terms to documentation#3210
by22Jy wants to merge 4 commits intopallets:stablefrom
by22Jy:add-glossary

Conversation

@by22Jy
Copy link
Copy Markdown

@by22Jy by22Jy commented Feb 17, 2026

Summary

Adds a glossary section to Click's documentation defining key terms used throughout the docs.

Changes

  • Added docs/glossary.rst with definitions for 10 key terms
  • Updated docs/index.rst to include the glossary in General Reference section

Terms Defined

  • Argument: Positional parameter passed to a command
  • Callback: Function invoked when a parameter is processed
  • Command: Function decorated with @click.command() or @click.group()
  • Command Line Interface (CLI): Text-based interface for program interaction
  • Context: Object carrying state between commands
  • Flag: Boolean option without a value
  • Group: Command containing subcommands
  • Multi-command: Command grouping multiple subcommands
  • Option: Named parameter with dash prefix
  • Parameter: General term for options and arguments

Closes #3077

Checklist

  • Documentation builds correctly
  • Follows existing documentation style
  • Terms are clear and consistent with Click's usage

by22Jy and others added 3 commits February 17, 2026 16:24
Adds a glossary section defining key terms used throughout Click's documentation.

Terms defined:
- Argument
- Callback
- Command
- Command Line Interface (CLI)
- Context
- Flag
- Group
- Multi-command
- Option
- Parameter

Closes pallets#3077
@nrschroeder
Copy link
Copy Markdown

This looks good ... the glossary seems like it will make the docs a lot clearer.

One thing I noticed while reading the issue is that it also mentioned terms like “terminal”, “command line application”, and “command line utility”. Since those show up in different places in the docs as well, it might be helpful to include them here too for completeness.

@by22Jy
Copy link
Copy Markdown
Author

by22Jy commented Mar 15, 2026

Hi @nrschroeder, thank you for the great suggestion! I've added the three additional terms you mentioned:

  • Terminal: A text-based interface for interacting with the operating system
  • Command Line Application: A Python program built with Click that provides a CLI
  • Command Line Utility: A command line application designed to perform specific tasks

These terms will definitely help make the documentation more comprehensive. Let me know if you'd like any adjustments to the definitions!

…y to glossary

Following maintainer feedback to include more commonly used terms.
@kdeldycke kdeldycke changed the base branch from main to stable April 16, 2026 09:35
@kdeldycke kdeldycke added the docs label Apr 21, 2026
Copy link
Copy Markdown
Collaborator

@AndreasBackx AndreasBackx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would love to primarily get some input from others here. I think this is great to have however, thank you!

Comment thread docs/glossary.rst
Comment on lines +50 to +53

Multi-command
A command that groups multiple subcommands together. Groups and
multi-commands are similar concepts in Click.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Multi-command
A command that groups multiple subcommands together. Groups and
multi-commands are similar concepts in Click.
Multi-command
Alias for Group, used to have a slightly different implementation.
Planned for removal in 9.0.

Comment thread docs/glossary.rst
via the ``@click.pass_context`` decorator.

Flag
A boolean option that doesn't take a value (e.g., ``--verbose`` or ``-v``).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not too familiar with how glossaries work in Sphinx. But will "option" here link to the glossary for that word down below automatically or does that need to be done explicitly here and elsewhere in the code? I hope it's the latter.

Comment thread docs/glossary.rst
Comment on lines +24 to +31
Command Line Application
A Python program built with Click that provides a command line interface.
Command line applications use commands, options, and arguments to interact
with users through the terminal.

Command Line Interface (CLI)
A text-based interface for interacting with a program through commands,
options, and arguments. Click helps you build CLIs in Python.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct me if I'm wrong here. But I feel like "CLI" is common nomenclature for the application, regardless of what the true acronym stands for.

Suggested change
Command Line Application
A Python program built with Click that provides a command line interface.
Command line applications use commands, options, and arguments to interact
with users through the terminal.
Command Line Interface (CLI)
A text-based interface for interacting with a program through commands,
options, and arguments. Click helps you build CLIs in Python.
Command-line Application
Application meant to be interacted with using a command-line interface.
Often referred to as a CLI as well, even though it's not the true acronym.
Command-line Interface (CLI)
A text-based interface for interacting with a program through commands,
options, and arguments. While CLI is its acronym, a CLI often refers to
an application written for the command-line interface.

Comment thread docs/glossary.rst
Comment on lines +33 to +37
Command Line Utility
A command line application designed to perform a specific task or set of
tasks. Command line utilities are often used for system administration,
file manipulation, or development workflows.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Command Line Utility
A command line application designed to perform a specific task or set of
tasks. Command line utilities are often used for system administration,
file manipulation, or development workflows.

Personally I'd remove this to avoid confusion.

@davidism
Copy link
Copy Markdown
Member

Unfortunately gen AI, which we don't accept

@davidism davidism closed this Apr 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add glossary of terms to click reference docs

5 participants