[Bug 2146447] [NEW] [MIR] python-rich-argparse
Launchpad Bug Tracker
2146447 at bugs.launchpad.net
Thu Mar 26 12:14:02 UTC 2026
You have been subscribed to a public bug by Guillaume Boutry (gboutry):
[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.
** Affects: python-rich-argparse (Ubuntu)
Importance: Undecided
Status: New
--
[MIR] python-rich-argparse
https://bugs.launchpad.net/bugs/2146447
You received this bug notification because you are a member of Ubuntu OpenStack, which is subscribed to the bug report.
More information about the Ubuntu-openstack-bugs
mailing list