dbcli / dbcli/pgcli

Replace the pgclirc ConfigObj parser while preserving configuration compatibility

オープン
#1,634 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
13.4k
フォーク
612
平均マージ
6日 14時間
マージ済み PR(30日)
10

説明

## 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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず Pgcli のメイン設定パーサーを見つけ、パーサーを変更する前に現在の互換性の動作を文書化します。設定の互換性、startup と DSN の処理、named-query のラウンドトリップについて特性テストのカバレッジを追加し、その後、関連する既存のテストスイートとフォーマットチェックを実行します。サポートされている動作とユーザーコメントが維持されるか、意図的な差異が PR と changelog に文書化されていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
cli
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。