dbcli / dbcli/pgcli

Replace the pgclirc ConfigObj parser while preserving configuration compatibility

Offen
#1,634 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
13.4k
Forks
612
Ø Merge
6 T. 14 Std.
Gemergte PRs (30 T.)
10

Beschreibung

## Description

Following up on the maintainer's [request to investigate replacing ConfigObj with configparser](https://github.com/dbcli/pgcli/pull/1631#discussion_r3954767886), 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](https://github.com/dbcli/pgcli/issues/1162#issuecomment-605095240). 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by locating Pgcli's main configuration parser and documenting its current compatibility behavior before changing the parser. Add characterization coverage for configuration compatibility, startup and DSN handling, and named-query round trips, then run the relevant existing test suite and formatting checks. Done means supported behavior and user comments are preserved or any intentional differences are documented in the PR and changelog.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
cli
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.