Description
Following up on the maintainer's request to investigate replacing ConfigObj with configparser, this tracks a separate migration of Pgcli's main configuration parser.
The first step is to document compatibility differences and add characterization tests. The migration should preserve default/user override precedence, typed settings, case-sensitive names, quoting and literal percent/hash characters, lists, and named-query save/delete behavior. User comments must survive writes, as discussed in #1162. Any intentionally unsupported syntax or changed behavior should be explicit in the proposed PR and changelog.
This is separate from #1631's service-file password fix. While that PR remains unmerged, removing ConfigObj from the main configuration parser alone does not remove its remaining service-file use; the dependency must remain until all runtime consumers are addressed.
Proposed validation: configuration compatibility cases, startup and DSN tests, named-query round trips, and the relevant existing test suite and formatting checks. The follow-up PR will state exactly what ran and any remaining validation limits.
Your environment
This is a maintainer-requested enhancement for the current main branch, rather than a new environment-specific bug report. Pgcli currently supports Python 3.10 and newer; compatibility should be retained across the supported versions.
Description
Following up on the maintainer's request to investigate replacing ConfigObj with configparser, this tracks a separate migration of Pgcli's main configuration parser.
The first step is to document compatibility differences and add characterization tests. The migration should preserve default/user override precedence, typed settings, case-sensitive names, quoting and literal percent/hash characters, lists, and named-query save/delete behavior. User comments must survive writes, as discussed in #1162. Any intentionally unsupported syntax or changed behavior should be explicit in the proposed PR and changelog.
This is separate from #1631's service-file password fix. While that PR remains unmerged, removing ConfigObj from the main configuration parser alone does not remove its remaining service-file use; the dependency must remain until all runtime consumers are addressed.
Proposed validation: configuration compatibility cases, startup and DSN tests, named-query round trips, and the relevant existing test suite and formatting checks. The follow-up PR will state exactly what ran and any remaining validation limits.
Your environment
This is a maintainer-requested enhancement for the current main branch, rather than a new environment-specific bug report. Pgcli currently supports Python 3.10 and newer; compatibility should be retained across the supported versions.