[Bug 2146447] Re: [MIR] python-rich-argparse

Christian Ehrhardt 2146447 at bugs.launchpad.net
Tue Mar 31 14:47:40 UTC 2026


** Changed in: python-rich-argparse (Ubuntu)
     Assignee: (unassigned) => Ioanna Alifieraki (joalif)

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2146447

Title:
  [MIR] python-rich-argparse

Status in python-rich-argparse package in Ubuntu:
  New

Bug description:
  [Availability]
  The package python-rich-argparse is already in Ubuntu universe.
  The package python-rich-argparse builds for the architectures it is designed to work on.
  It currently builds and works for architectures: all (pure Python, arch: all)
  Link to package https://launchpad.net/ubuntu/+source/python-rich-argparse

  [Rationale]
  - The package python-rich-argparse is required in Ubuntu main for cmd2
  - The package python-rich-argparse will not generally be useful for a large part of
    our user base, but is important/helpful still because cmd2 3.x (in main)
    unconditionally imports rich_argparse at module level — cmd2 cannot function
    without it. cmd2 is pulled into main via the dependency chain:
    OpenStack clients → python3-cliff (main) → python3-cmd2 (main).
  - The package python-rich-argparse is a new runtime dependency of package cmd2 that
    we already support
  - There is no other/better way to solve this that is already in main or
    should go universe->main instead of this. rich-argparse is the only library
    providing rich-formatted argparse help output, and cmd2 upstream has adopted
    it as a hard dependency in the 3.x series.
  - This is the first time the package will be in main
  - The binary package python3-rich-argparse needs to be in main to satisfy
    cmd2's runtime Depends
  - All other binary packages built by python-rich-argparse should remain in universe
    (there are no other binary packages)
  - The package python-rich-argparse is required in Ubuntu main no later than
    Ubuntu 26.04 LTS (Resolute) due to the OpenStack Gazpacho dependency sync

  [Security]
  - No CVEs/security issues in this software in the past
  - no `suid` or `sgid` binaries
  - no executables in `/sbin` and `/usr/sbin`
  - Package does not install services, timers or recurring jobs
  - Security has been kept in mind and common isolation/risk-mitigation
    patterns are in place utilizing the following features:
    This is a pure Python library (1125 lines across 5 files) that only
    formats argparse help text using the rich library. It has no network
    access, no file system access beyond importing its own modules, no
    privilege escalation surface, and no use of subprocess or ctypes.
  - Packages does not open privileged ports (ports < 1024).
  - Package does not expose any external endpoints
  - Packages does not contain extensions to security-sensitive software
    (filters, scanners, plugins, UI skins, ...)

  [Quality assurance - function/usage]
  - The package works well right after install. It is a Python library
    imported by other packages — no configuration needed.

  [Quality assurance - maintenance]
  - The package is maintained well in Debian/Ubuntu/Upstream and does
    not have too many, long-term & critical, open bugs
    - Ubuntu https://bugs.launchpad.net/ubuntu/+source/python-rich-argparse/+bug
    - Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=python-rich-argparse
    - Upstream https://github.com/hamdanal/rich-argparse/issues
  - The package does not deal with exotic hardware we cannot support

  [Quality assurance - testing]
  - The package runs a test suite on build time, if it fails
    it makes the build fail, link to build log
    https://launchpad.net/ubuntu/+source/python-rich-argparse/1.6.0-2
  - The package runs an autopkgtest (autopkgtest-pkg-pybuild), and is currently
    passing on all architectures (amd64, arm64, armhf, ppc64el, s390x)
  - The package does not have failing autopkgtests right now
  - This package is minimal and will be tested in a more wide reaching
    solution context via cmd2's own autopkgtests and the OpenStack CLI
    integration tests that exercise cmd2.

  [Quality assurance - packaging]
  - A mechanism to detect and fetch new upstream versions is present and works
    (debian/watch via pypi.debian.net)
  - debian/control defines a correct Maintainer field
    (Debian Python Team <team+python at tracker.debian.org>)
  - This package does not yield massive lintian Warnings, Errors
  - Please link to a recent build log of the package
    https://launchpad.net/ubuntu/+source/python-rich-argparse/1.6.0-2
  - Lintian overrides are not present
  - This package does not rely on obsolete or about to be demoted packages.
  - This package has no python2 or GTK2 dependencies
  - The package will not be installed by default
  - Packaging and build is easy, uses dh-sequence-python3 with
    pybuild-plugin-pyproject and hatchling. debian/rules is minimal (only
    sets PYBUILD_NAME).

  [UI standards]
  - Application is not end-user facing (does not need translation)

  [Dependencies]
  - Used check-mir to validate: the only runtime dependency is
    python3-rich (>= 11.0.0), which is already in main
    (source: rich, version 13.9.4-1.2 in resolute).
    All build dependencies are either in main or are build-only
    (pybuild-plugin-pyproject, python3-hatchling, python3-pytest — all acceptable
    in universe for build-only use).

  [Standards compliance]
  - This package correctly follows FHS and Debian Policy

  [Maintenance/Owner]
  - The owning team will be Ubuntu OpenStack and I have their acknowledgment for
    that commitment
  - The future owning team is not yet subscribed, but will subscribe to
    the package before promotion
  - This does not use static builds
  - This does not use vendored code
  - This package is not rust based
  - The package has not been built within the last 3 months in the archive,
    but it was built successfully in sbuild locally to confirm it still builds.
    Built with `env -u TERM -u COLORTERM sbuild -d resolute` to have sbuild behave
    like launchpad builders (where there's no pty / colors?)
  - Build link on launchpad: https://launchpad.net/ubuntu/+source/python-rich-argparse/1.6.0-2
  - This change will not impact other teams

  [Background information]
  The Package description explains the package well:
  "Rich help formatters for argparse and optparse — Format argparse and optparse
  help using rich. Improves the look and readability of argparse's help while
  requiring minimal changes to the code."
  Upstream Name is rich-argparse
  Link to upstream project https://github.com/hamdanal/rich-argparse
  This is a very small, pure-Python library (1125 lines total across 5 files,
  MIT licensed). It has a single runtime dependency (python3-rich, already in
  main) and is actively maintained upstream with regular releases. The MIR is
  needed because cmd2 3.x (synced from Debian for the OpenStack Gazpacho cycle)
  unconditionally depends on rich-argparse at runtime, and cmd2 is in main.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-rich-argparse/+bug/2146447/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list