• 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 6.x
    2. Version 6.x
    3. Version 5.x
    4. Version 4.x
    5. Version 3.x
    6. Version 2.0
    7. Version 1.0
    8. Version 0.7
    9. Version 0.6
    10. Version 0.5
    11. RBTools Python API
    12. Module and Class References
    13. rbtools.commands.base.options
  • Home
  • Installing RBTools
  • Authenticating to Review Board
  • rbt Command
  • Configuration
  • Creating Custom Command Aliases
  • Repository Configuration
  • Per-User Configuration
  • Azure DevOps / Team Foundation Server Configuration
  • Commands
  • alias
  • api-get
  • attach
  • clear-cache
  • close
  • diff
  • info
  • install
  • land
  • list-repo-types
  • login
  • logout
  • patch
  • post
  • publish
  • review
  • setup-completion
  • setup-repo
  • stamp
  • status
  • status-update
  • RBTools Workflows
  • Using RBTools with Git
  • Using RBTools With Perforce
  • Using RBTools with Jujutsu
  • Using RBTools with HCL ClearCase and IBM ClearCase
  • Using RBTools With Keysight SOS
  • RBTools Python API
  • Overview of the Python API Client
  • Common Use Cases
  • 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.transport
  • rbtools.api.transport.sync
  • rbtools.api.utils
  • rbtools.api.resource
  • rbtools.api.resource.base
  • rbtools.api.resource.base_archived_object
  • rbtools.api.resource.base_comment
  • rbtools.api.resource.base_diff_commit
  • rbtools.api.resource.base_review_group
  • rbtools.api.resource.base_review_request
  • rbtools.api.resource.base_review
  • rbtools.api.resource.base_user
  • rbtools.api.resource.mixins
  • rbtools.api.resource.api_token
  • rbtools.api.resource.archived_review_request
  • rbtools.api.resource.change
  • rbtools.api.resource.default_reviewer
  • rbtools.api.resource.diff_comment
  • rbtools.api.resource.diff_commit
  • rbtools.api.resource.diff_context
  • rbtools.api.resource.diff_file_attachment
  • rbtools.api.resource.diff
  • rbtools.api.resource.draft_diff_commit
  • rbtools.api.resource.draft_file_attachment
  • rbtools.api.resource.draft_screenshot
  • rbtools.api.resource.extension
  • rbtools.api.resource.file_attachment_comment
  • rbtools.api.resource.file_attachment
  • rbtools.api.resource.file_diff
  • rbtools.api.resource.general_comment
  • rbtools.api.resource.hosting_service_account
  • rbtools.api.resource.hosting_service
  • rbtools.api.resource.last_update
  • rbtools.api.resource.muted_review_request
  • rbtools.api.resource.oauth_application
  • rbtools.api.resource.oauth_token
  • rbtools.api.resource.plain_text
  • rbtools.api.resource.remote_repository
  • rbtools.api.resource.repository_branch
  • rbtools.api.resource.repository_commit
  • rbtools.api.resource.repository_group
  • rbtools.api.resource.repository_info
  • rbtools.api.resource.repository_user
  • rbtools.api.resource.repository
  • rbtools.api.resource.review_group_user
  • rbtools.api.resource.review_group
  • rbtools.api.resource.review_reply
  • rbtools.api.resource.review_request_draft
  • rbtools.api.resource.review_request
  • rbtools.api.resource.review
  • rbtools.api.resource.root
  • rbtools.api.resource.screenshot_comment
  • rbtools.api.resource.screenshot
  • rbtools.api.resource.search
  • rbtools.api.resource.server_info
  • rbtools.api.resource.session
  • rbtools.api.resource.status_update
  • rbtools.api.resource.user_file_attachment
  • rbtools.api.resource.user
  • rbtools.api.resource.validate_diff_commit
  • rbtools.api.resource.validate_diff
  • rbtools.api.resource.validation
  • rbtools.api.resource.watched_review_group
  • rbtools.api.resource.watched_review_request
  • rbtools.api.resource.watched
  • rbtools.api.resource.webhook
  • 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.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
  • rbtools.commands.base.options¶

    Command line option management for commands.

    Added in version 5.0.

    Classes

    Option(*opts[, added_in, config_key, ...])

    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, added_in: str | None = None, config_key: str | None = None, deprecated_in: str | None = None, extended_help: str | None = None, removed_in: str | None = None, replacement: str | None = None, versions_changed: Mapping[str, str] | None = None, **attrs)[source]¶

    Bases: object

    Represents an option for a command.

    This serves as a wrapper around the ArgumentParser options, allowing us to specify additional attributes that are specific to RBTools, such as defaults which will be grabbed from the configuration after it is loaded.

    The arguments to the constructor should be treated like those to argparse’s ArgumentParser.add_argument(), with the exception of the custom arguments that are defined in the constructor.

    Added in version 6.0: The optional RBTools specific attributes are now stored on the class instead of in attrs.

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

    __firstlineno__ = 19¶
    __init__(*opts: str, added_in: str | None = None, config_key: str | None = None, deprecated_in: str | None = None, extended_help: str | None = None, removed_in: str | None = None, replacement: str | None = None, versions_changed: Mapping[str, str] | None = None, **attrs) → None[source]¶

    Initialize the option.

    Changed in version 6.0: Added explicit arguments for the optional RBTools specific arguments that may be set on an option, pulling them out of **attrs.

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

    • added_in (str, optional) –

      The version the option was added in.

      Added in version 6.0.

    • config_key (str, optional) –

      A config key to retrieve a default value from RBTools config when the option is not explicitly provided. This will take precedence over any default in attrs.

      Added in version 6.0.

    • deprecated_in (str, optional) –

      The version the option was deprecated in.

      Added in version 6.0.

    • extended_help (str, optional) –

      Extended help message.

      Added in version 6.0.

    • removed_in (str, optional) –

      The version in which the option will be removed.

      Added in version 6.0.

    • replacement (str, optional) –

      The new option to use instead of the deprecated option, if any.

      This should be the longest form name for the option, including any preceding hyphens (e.g. --my-option).

      Added in version 6.0.

    • versions_changed (dict[str, str], optional) –

      A dict of versions in which the option changed. The keys are version strings and values are change description strings.

      Added in version 6.0.

    • **attrs (dict) –

      The argparse attributes for the option.

      These should be valid arguments that can be passed to ArgumentParser.add_argument().

    __static_attributes__ = ('added_in', 'attrs', 'config_key', 'deprecated_in', 'extended_help', 'opts', 'removed_in', 'replacement', 'versions_changed')¶
    add_to(parent: argparse._ActionsContainer, config: RBToolsConfig | None = None, argv: list[str] | None = 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.

    attrs: dict[str, Any]¶

    The attributes for the option.

    Type:

    dict

    opts: tuple[str, ...]¶

    The long and short form option names.

    Type:

    tuple

    class rbtools.commands.base.options.OptionGroup(name: str | None = None, description: str | None = None, option_list: list[Option] | None = 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.

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

    __firstlineno__ = 193¶
    __init__(name: str | None = None, description: str | None = None, option_list: list[Option] | None = 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.

    __static_attributes__ = ('description', 'name', 'option_list')¶
    add_to(parser: argparse.ArgumentParser, config: RBToolsConfig, argv: list[str] | None = 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.

    description: str | None¶

    The description of this option group.

    This may be None.

    Type:

    str

    name: str | None¶

    The name 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

    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-2026 Beanbag, Inc. All rights reserved.

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

    On this page

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