• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. RBTools dev
    2. Version 5.x
    3. Version 4.x
    4. Version 3.x
    5. Version 2.0
    6. Version 1.0
    7. Version 0.7
    8. Version 0.6
    9. Version 0.5
    10. RBTools Python API
    11. Module and Class References
    12. rbtools.commands.base.options
  • Home
  • Installing RBTools
  • rbt Command
  • Configuration
  • Authenticating to Review Board
  • Repository Configuration
  • Per-User Configuration
  • Team Foundation Server Configuration
  • Commands
  • alias
  • api-get
  • attach
  • clear-cache
  • close
  • diff
  • install
  • land
  • list-repo-types
  • login
  • logout
  • patch
  • post
  • publish
  • review
  • setup-completion
  • setup-repo
  • stamp
  • status
  • status-update
  • RBTools Workflows
  • Using RBTools With Cliosoft SOS
  • Using RBTools with Git
  • Using RBTools with HCL VersionVault and IBM ClearCase
  • Using RBTools With Perforce
  • RBTools Python API
  • Overview of the Python API Client
  • Tutorial
  • Resource-Specific Functionality
  • Module and Class References
  • rbtools
  • rbtools.deprecation
  • rbtools.api
  • rbtools.api.cache
  • rbtools.api.capabilities
  • rbtools.api.client
  • rbtools.api.decode
  • rbtools.api.decorators
  • rbtools.api.errors
  • rbtools.api.factory
  • rbtools.api.request
  • rbtools.api.resource
  • rbtools.api.transport
  • rbtools.api.transport.sync
  • rbtools.api.utils
  • rbtools.clients
  • rbtools.clients.base
  • rbtools.clients.base.patch
  • rbtools.clients.base.registry
  • rbtools.clients.base.repository
  • rbtools.clients.base.scmclient
  • rbtools.clients.errors
  • rbtools.clients.bazaar
  • rbtools.clients.clearcase
  • rbtools.clients.cvs
  • rbtools.clients.git
  • rbtools.clients.mercurial
  • rbtools.clients.perforce
  • rbtools.clients.plastic
  • rbtools.clients.sos
  • rbtools.clients.svn
  • rbtools.clients.tfs
  • rbtools.config
  • rbtools.config.config
  • rbtools.config.loader
  • rbtools.diffs
  • rbtools.diffs.patches
  • rbtools.diffs.patcher
  • rbtools.diffs.tools
  • rbtools.diffs.tools.backends
  • rbtools.diffs.tools.backends.gnu
  • rbtools.diffs.tools.base
  • rbtools.diffs.tools.base.diff_file_result
  • rbtools.diffs.tools.base.diff_tool
  • rbtools.diffs.tools.errors
  • rbtools.diffs.tools.registry
  • rbtools.diffs.writers
  • rbtools.commands
  • rbtools.commands.main
  • rbtools.commands
  • rbtools.commands.base
  • rbtools.commands.base.commands
  • rbtools.commands.base.errors
  • rbtools.commands.base.options
  • rbtools.commands.base.output
  • rbtools.commands.alias
  • rbtools.commands.api_get
  • rbtools.commands.attach
  • rbtools.commands.clearcache
  • rbtools.commands.close
  • rbtools.commands.diff
  • rbtools.commands.info
  • rbtools.commands.install
  • rbtools.commands.land
  • rbtools.commands.list_repo_types
  • rbtools.commands.login
  • rbtools.commands.logout
  • rbtools.commands.patch
  • rbtools.commands.post
  • rbtools.commands.publish
  • rbtools.commands.review
  • rbtools.commands.setup_completion
  • rbtools.commands.setup_repo
  • rbtools.commands.stamp
  • rbtools.commands.status
  • rbtools.commands.status_update
  • rbtools.hooks
  • rbtools.hooks.common
  • rbtools.hooks.git
  • rbtools.testing
  • rbtools.testing.api
  • rbtools.testing.api.payloads
  • rbtools.testing.api.transport
  • rbtools.testing.commands
  • rbtools.testing.testcase
  • rbtools.testing.transport
  • rbtools.utils
  • rbtools.utils.aliases
  • rbtools.utils.browser
  • rbtools.utils.checks
  • rbtools.utils.commands
  • rbtools.utils.console
  • rbtools.utils.diffs
  • rbtools.utils.encoding
  • rbtools.utils.errors
  • rbtools.utils.filesystem
  • rbtools.utils.graphs
  • rbtools.utils.mimetypes
  • rbtools.utils.process
  • rbtools.utils.repository
  • rbtools.utils.review_request
  • rbtools.utils.source_tree
  • rbtools.utils.users
  • Glossary
  • General Index
  • Python Module Index
  • Release Notes
  • This documentation covers the in-development release of RBTools. You can see the stable RBTools documentation or all previous versions.

    rbtools.commands.base.options¶

    Command line option management for commands.

    New in version 5.0.

    Classes

    Option(*opts, **attrs)

    Represents an option for a command.

    OptionGroup([name, description, option_list])

    Represents a named group of options.

    class rbtools.commands.base.options.Option(*opts: str, **attrs)[source]¶

    Bases: object

    Represents an option for a command.

    The arguments to the constructor should be treated like those to argparse’s add_argument, with the exception that the keyword argument ‘config_key’ is also valid. If config_key is provided it will be used to retrieve the config value as a default if the option is not specified. This will take precedence over the default argument.

    Serves as a wrapper around the ArgumentParser options, allowing us to specify defaults which will be grabbed from the configuration after it is loaded.

    New in version 5.0: This is the new location for the old rbtools.commands.Option class.

    __init__(*opts: str, **attrs) → None[source]¶

    Initialize the option.

    Parameters:
    • *opts (tuple of str) – The long and short form option names.

    • **attrs (dict) – The attributes for the option.

    opts: tuple[str, ...]¶

    The long and short form option names.

    Type:

    tuple

    attrs: dict[str, Any]¶

    The attributes for the option.

    Type:

    dict

    add_to(parent: argparse._ActionsContainer, config: Optional[RBToolsConfig] = None, argv: Optional[list[str]] = None) → None[source]¶

    Add the option to the parent parser or group.

    If the option maps to a configuration key, this will handle figuring out the correct default.

    Once we’ve determined the right set of flags, the option will be added to the parser.

    Parameters:
    • parent (argparse._ActionsContainer) – The parent argument parser or group.

    • config (dict) – The loaded RBTools configuration.

    • argv (list, deprecated) – Unused list of deprecated command line arguments.

    class rbtools.commands.base.options.OptionGroup(name: Optional[str] = None, description: Optional[str] = None, option_list: Optional[list[Option]] = None)[source]¶

    Bases: object

    Represents a named group of options.

    Each group has a name, an optional description, and a list of options. It serves as a way to organize related options, making it easier for users to scan for the options they want.

    This works like argparse’s argument groups, but is designed to work with our special Option class.

    New in version 5.0: This is the new location for the old rbtools.commands.OptionGroup class.

    __init__(name: Optional[str] = None, description: Optional[str] = None, option_list: Optional[list[Option]] = None) → None[source]¶

    Initialize the option group.

    Parameters:
    • name (str, optional) – The name of the option group.

    • description (str, optional) – The description of this option group.

    • option_list (list of Option, optional) – The list of options in this group.

    name: Optional[str]¶

    The name of this option group.

    This may be None.

    Type:

    str

    description: Optional[str]¶

    The description of this option group.

    This may be None.

    Type:

    str

    option_list: list[Option]¶

    The list of options this group was initialized with.

    Type:

    list of Option

    add_to(parser: argparse.ArgumentParser, config: RBToolsConfig, argv: Optional[list[str]] = None) → None[source]¶

    Add the group and all its contained options to the parser.

    Parameters:
    • parser (argparse.ArgumentParser) – The command-line parser.

    • config (rbtools.config.RBToolsConfig) – The loaded RBTools configuration.

    • argv (list, deprecated) – Unused legacy argument.

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • Option
      • Option.__init__()
      • Option.opts
      • Option.attrs
      • Option.add_to()
    • OptionGroup
      • OptionGroup.__init__()
      • OptionGroup.name
      • OptionGroup.description
      • OptionGroup.option_list
      • OptionGroup.add_to()